firewalld: интерфейс, автономно меняющий зоны

firewalld: интерфейс, автономно меняющий зоны

У меня есть система RHEL8, которая служит рабочим узлом Docker Swarm. Она включена firewalldи имеет dockerзону, которой назначены интерфейсы docker0и .docker_gwbridge

$ cat /etc/firewalld/zones/docker.xml
<?xml version="1.0" encoding="utf-8"?>
<zone version="1.0" target="ACCEPT">
  <short>docker</short>
  <description>zone for docker bridge network interfaces</description>
  <interface name="docker_gwbridge"/>
  <interface name="docker0"/>
</zone>

После перезагрузки, firewalldперезапуска или повторной загрузки эти интерфейсы появляются в правильной зоне, согласно firewall-cmd --get-active-zones.

$ firewall-cmd --get-active-zones
docker
  interfaces: docker_gwbridge docker0
internal
  interfaces: vethb6daacd veth0a3a13c veth3922477 veth1fc2c24 veth35f6f77 veth172d461 vethf457e97 vethed46b94 vethc3293eb vethe6c08de vethb1c5fb6 vethd6bcfd8 eth0

Однако через несколько минут (обычно менее часа) они перемещаются в internalзону, нарушая сетевое взаимодействие в контейнерах.

$ firewall-cmd --get-active-zones
internal
  interfaces: vethb6daacd veth0a3a13c veth3922477 veth1fc2c24 veth35f6f77 veth172d461 vethf457e97 vethed46b94 vethc3293eb vethe6c08de vethb1c5fb6 vethd6bcfd8 eth0 docker_gwbridge docker0 veth5686e56 vetha51060c vethde79c75

А firewall-cmd --reloadснова чинит его на некоторое время.

Этот вопросвыглядело релевантным, но эти интерфейсы (если я правильно понимаю) не управляются NetworkManager, так что я не думаю, что это ошибка.

$ nmcli device
DEVICE           TYPE      STATE                   CONNECTION
eth0             ethernet  connected               eth0
docker0          bridge    connected (externally)  docker0
docker_gwbridge  bridge    connected (externally)  docker_gwbridge
veth5686e56      ethernet  unmanaged               --
vetha51060c      ethernet  unmanaged               --
vethde79c75      ethernet  unmanaged               --
lo               loopback  unmanaged               --

$ ls /etc/sysconfig/network-scripts/
ifcfg-eth0

Ничего интересного в этом я не нашёл /var/log/firewalld. У меня есть несколько других узлов, которые теоретически настроены таким же образом, и на которых эта проблема не возникает.

Я не настраивал узлы, и я не сисадмин, но я пытаюсь разобраться! Есть какие-нибудь мудрые слова?

решение1

Похоже, что причиной этого является задача Chef, которая по непонятной причине настроена по-разному на рабочих и сломанных серверах.

Связанный контент