Я столкнулся с каким-то странным поведением межсетевых экранов с 3 интерфейсами и при использовании правила постоянного назначения интерфейса для зоны
после перезагрузки он возвращается в зону по умолчанию (которая когда-либо была установлена как зона по умолчанию в firewalld)
firewall-cmd --permanent --zone=external --add-interface=eno16777736
или
firewall-cmd --permanent --zone=internal --change-interface=eno16777736
похоже, они не работают ....
Это ошибка, вы можете посетить: https://bugs.centos.org/view.php?id=7526
На данный момент я нашел только один способ исправить это
echo "ZONE=what_ever_zone_youd_like" >> /etc/sysconfig/network-scripts/ifcfg-eno16777736
firewall-cmd --complete-reload
systemctl restart firewalld.service
тогда проверьте это
firewall-cmd --list-all-zones
Я нашел, как решить аналогичную проблему с FirewallD, NetworkManager и Docker в CentOS 7.
Кажется, это проблема в FirewallD, я сообщил об этом здесь, с обходным решением, чтобы заставить его работать после перезагрузки: https://github.com/t-woerner/firewalld/issues/195
Раньше я сталкивался с теми же проблемами. В нашей инфраструктуре мы поняли, что иногда без причины NetworkManager
выводил из определенной зоны некоторые интерфейсы. (До этого момента мы настраивали зоны в файлах конфигурации интерфейсов)
Очевидно, что в производственной среде это просто НЕПРИЕМЛЕМО.
Как нам удается решить эту проблему:
/etc/firewalld/zones/*.xml
Синтаксис следующий:
<interface name="<interface_name>"/>
Теперь вы сможете restart
/ reload
firewalld без проблем
В противном случае я подозреваю, что если вы настроите свою зону с помощью команды ниже и с Networkmanager
отключен и не работает, он будет работать нормально
firewall-cmd --zone=<zone_name> --change-interface=<interface_name> --permanent