방화벽의 인터페이스에 대해 실제로 영역이 구성된 위치는 어디입니까?

방화벽의 인터페이스에 대해 실제로 영역이 구성된 위치는 어디입니까?

저는 Centos 머신의 방화벽에 영역을 추가하기 위해 ansible을 사용하고 있습니다. 나는 IN_Internal 인터페이스가 제대로 작동하지 않아 이 모든 것이 노출될 것이라는 사실을 (거의) 너무 늦게까지 깨닫지 못했습니다. 이는 Firewalld.conf에 정의된 기본값입니다.

이것은 내 내부.xml입니다.

<?xml version="1.0" encoding="utf-8"?>  
<zone>
  <short>Internal</short>
  <description>For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <interface name="eth0"/>
  <service name="ipp-client"/>
  <service name="mdns"/>
  <service name="dhcpv6-client"/>
  <service name="ssh"/>  
</zone>

전혀 사용되지 않은 것 같습니다.

왜냐하면 어떤 이유에서든 나는 결국 다음과 같은 결과를 얻었기 때문입니다.

 Chain IN_internal (0 references)
      2   120 IN_public  all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           [goto]

왜 이런 일이 발생하는지 이해하지 못합니다.

이렇게 하면 firewall-cmd --zone=internal --change-interface=eth0(방화벽을 다시 로드한 후에도) 작동하지만 완전히 동일한 XML입니다.

저는 설정을 배포하기 위해 ansible을 사용하고 있고 시스템에서 방화벽-cmd가 실행되고 있지 않기 때문에 이러한 구성을 롤아웃할 수 있도록 방화벽-cmd가 배후에서 수행하는 작업을 알고 싶습니다.

답변1

man 5 firewalld.zones주장하다

연결 영역을 어떻게 설정하거나 변경합니까?

이 영역은 연결을 통해 ifcfg에 저장됩니다 ZONE=option. 이 옵션이 누락되거나 비어 있으면 방화벽에 설정된 기본 영역이 사용됩니다.

관련 정보