У меня есть сервер в центре обработки данных, который служит главным IPA и сервером VPN. Для простоты предположим, что мне нужно включить службу «ipsec» для VPN и службу «kerberos» для IPA.
Я бы хотел: 1) Разрешить трафик из любого места для доступа к портам ipsec. 2) Разрешить доступ к портам Kerberos только трафику из частного IP-пространства.
Это кажется достаточно простым; добавить исходное IP-пространство в «рабочую» зону, открыть «kerberos» в «рабочей» зоне, открыть «ipsec» в «публичной» зоне. Однако мой интерфейс "eth0" привязан только к "публичной" зоне. Похоже, что интерфейс предназначен только для применения в одной зоне.
Итак, у меня есть два вопроса. Во-первых, разумно ли то, что я хотел бы сделать? Во-вторых, каков правильный образец использования для достижения моих целей с помощью firewalld? Например, я знаю, что мог Достигаю своих целей с помощью обширных правил, но это похоже на то, что следует делать с использованием зон.
Поверьте, зона используется меньше, чем изначально предполагал разработчик firewalld. Они хотят скопировать концепцию зоны безопасности из Windows, которая полезна на ноутбуках при переключении между Wi-Fi в офисе и в кафетерии.
Обычно серверы не имеют таких потребностей, за исключением NAT-маршрутизатора с одной сетевой картой для внешней стороны, другой для внутренней. Однако виртуальный сервер обычно имеет только один интерфейс в облаке, который сервер будет выполнять NAT для него с публичным IP-адресом, который вы арендуете. Общедоступный IP-адрес подключен к облачному серверу, и клиенту не нужно будет выполнять настройку двух сетевых карт на виртуальном сервере. В дополнение к этому у вас есть брандмауэр в облаке, которым можно легко управлять на его веб-сайте. Итак, теперь у вас есть двойные брандмауэры - один в облаке и один на вашем виртуальном сервере.
Таким образом, вы можете открыть порт для конкретного IP-адреса в облачном брандмауэре, в брандмауэре виртуального сервера или на обоих. Вот один пример настройки брандмауэра виртуального сервера для приема TCP-порта 5555 только из сети 192.168.0.0/16:
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" \
source address="192.168.0.0/16" port port="5555" protocol="tcp" accept'
service firewalld restart