Firewalld: 영역을 자동으로 변경하는 인터페이스

Firewalld: 영역을 자동으로 변경하는 인터페이스

Docker Swarm 작업자 노드 역할을 하는 RHEL8 시스템이 있습니다. 활성화 되었으며 및 인터페이스 가 할당된 영역이 firewalld있습니다 .dockerdocker0docker_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

그러나 몇 분(보통 1시간 미만) 후에 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

A는 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 작업이 이 문제의 원인인 것 같습니다. Chef는 작동 중인 서버와 손상된 서버 간에 설명할 수 없을 정도로 다르게 구성되어 있습니다.

관련 정보