Как настроить firewalld для правил, зависящих от источника?

У меня есть сервер в центре обработки данных, который служит главным IPA и сервером VPN. Для простоты предположим, что мне нужно включить службу «ipsec» для VPN и службу «kerberos» для IPA.

Я бы хотел: 1) Разрешить трафик из любого места для доступа к портам ipsec. 2) Разрешить доступ к портам Kerberos только трафику из частного IP-пространства.

Это кажется достаточно простым; добавить исходное IP-пространство в «рабочую» зону, открыть «kerberos» в «рабочей» зоне, открыть «ipsec» в «публичной» зоне. Однако мой интерфейс "eth0" привязан только к "общедоступной" зоне. Похоже, что интерфейс предназначен только для применения в одной зоне.

Итак, у меня два вопроса. Во-первых, разумно ли то, что я хотел бы сделать? Во-вторых, каков правильный образец использования для достижения моих целей с помощью firewalld? Например, я знаю, что мог бы достичь своих целей с помощью обширных правил, но это похоже на то, что следует делать с использованием зон.

1
задан 15 April 2016 в 23:43
1 ответ

Поверьте, зона используется меньше, чем первоначально предполагалось разработчиком 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
0
ответ дан 11 May 2020 в 12:59

Теги

Похожие вопросы