Не могу держать интерфейсы в назначенных зонах, Centos7

Я сталкивался с некоторым странным поведением межсетевых экранов, имеющих 3 интерфейса и при использовании правила постоянного назначения для интерфейса к зоне

после перезагрузки он возвращается в зону по умолчанию (которая всегда устанавливается как зона по умолчанию в firewalld)

firewall-cmd --permanent --zone=external --add-interface=eno16777736

или же

firewall-cmd --permanent --zone=internal --change-interface=eno16777736

похоже, они не работают....

4 ответа

Это ошибка, которую вы можете посетить: 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 выкладывал из определенной зоны некоторые интерфейсы. (До этого момента мы настраивали зоны в файлах конфигурации интерфейсов)

Как очевидно, в производственной среде это просто НЕДОПУСТИМО.

Как нам удается решить эту проблему:

  1. Отключить NetworkManager
  2. Настройте деинтерфейсную зону в файле зоны под /etc/firewalld/zones/*.xml
  3. Синтаксис выглядит следующим образом:

    <interface name="<interface_name>"/>
    
  4. Теперь вы сможете restart / reload Огненный мир без проблем

В противном случае, я подозреваю, что если вы настроите свою зону с помощью команды ниже и с Networkmanager отключен и не работает он будет работать нормально

firewall-cmd --zone=<zone_name> --change-interface=<interface_name> --permanent

Когда система использует NetworkManager для обработки конфигурации интерфейса (на это может указывать пустой или отсутствующий/etc/sysconfig/network-scripts/*записи каталога), попробуйте выполнить следующие шаги, чтобы настроить зону через систему конфигурации NetworkManager:

  1. убедитесь, что NetworkManager запущен:systemctl status NetworkManager
      $ systemctl status NetworkManager

● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running)
  1. если да, укажите «имя профиля» соединения (которое может отличаться от имен устройств ), используя:
      $ nmcli

                   vvvvvvvvvvvvvvvvvv "profile name"
eth0: connected to Wired connection 1
        "Red Hat Virtio"
        ethernet (virtio_net),
  1. установите желаемую «ЗОНУ» с помощьюnmcliиспользуя имя профиля, пример:
      $ nmcli connection modify "Wired connection 1" connection.zone ZONE

Смена зоны должна быть сразу видна черезfirewall-cmd --get-active-zonesи сохраняться при будущих перезагрузках.

Другие вопросы по тегам