스스로 훈련하려고 firewalld
아파치를 설정하고 다음과 같이 영역을 구성했습니다.
[root@localhost ~]# firewall-cmd --get-active-zones
work
sources: 192.168.122.1
public
interfaces: ens3
[root@localhost ~]# firewall-cmd --zone=work --list-all
work
interfaces:
sources: 192.168.122.1
services: dhcpv6-client ipp-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (default, active)
interfaces: ens3
sources:
services: dhcpv6-client http https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
내가 예상한 결과는 하이퍼바이저의 트래픽이 "작업" 영역과 일치하고 해당 영역에서 http가 허용되지 않으므로 트래픽이 삭제된다는 것입니다. 하지만 여전히 해당 페이지에 액세스할 수 있습니다.
"http" 및 "https" 서비스를 제거하면 네트워크 트래픽이 중지되고 이를 공개 영역에 다시 추가하면 서비스가 복원되는 반면 "작업" 영역에 동일한 수정을 수행하면 트래픽이 "공용" 영역과 일치한다는 것을 알고 있습니다. 어떤 수술도 아닙니다.
나는 이것이 내 이해의 실패라고 확신하지만 그것을 발견할 수 없습니다.
고쳐 쓰다
아직도 이 문제가 있습니다. 인터페이스를 제거 public
하고 추가 하면 작동하기 시작하지만 이제 모든 트래픽이 해당 영역으로 이동하기 work
때문에 그럴 가능성이 높습니다 . 패킷 수를 0으로 설정하고 해당 영역과 연결된 체인이 패킷을 받고 있는지 확인 ens3
했습니다 .iptable -Z
public
흥미롭게도 이 작업을 수행 하고 또는 영역 --add-source
에 트래픽을 추가하면 예상대로 작동합니다(영역에 구성된 서비스에 관계없이 트래픽이 삭제/거부됨 ).drop
block
public
다음은 방화벽을 실행하는 서버의 netstat 출력입니다.
[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.122.1 0.0.0.0 UG 0 0 0 ens3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 ens3