루프백 인터페이스에서 들어오는 트래픽을 차단하도록 Firewalld를 어떻게 구성합니까?

루프백 인터페이스에서 들어오는 트래픽을 차단하도록 Firewalld를 어떻게 구성합니까?

방화벽을 활성화하고 다음과 같이 구성했습니다.

loopback (active)
  target: DROP
  icmp-block-inversion: no
  interfaces: lo
  sources: 
  services: 
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
    rule family="ipv4" source address="127.0.0.0/8" port port="8080" protocol="tcp" drop
    rule family="ipv4" destination address="127.0.0.1" port port="8080" protocol="tcp" drop

그러나 실행은 차단하는 대신 curl -I localhost:8080반환됩니다 .HTTP/1.1 200 OK

방화벽이 비활성화되고 iptables가 활성화되면 다음 규칙을 사용합니다.

iptables -I OUTPUT -o lo -p tcp --dport 8080 -j DROP

요청이 차단되었습니다!

Firewalld가 예상대로 작동하지 않는 이유는 무엇입니까? 구성은 실행 및 다시 로드 시에도 지속됩니다.

답변1

이것은 작동합니다. RH에 모두 설명되어 있습니다.기사. 모든 사람이 RH 계정을 갖고 있는 것은 아니지만 이에 대한 다른 기사를 찾을 수 없습니다.

--dports버그를 수정 하고 OP의 요구 사항을 충족하기 위해 기사의 원래 명령을 변경했습니다 .

sudo firewall-cmd --direct --add-passthrough ipv4 -I OUTPUT -d 127.0.0.0/8 -p tcp --dport 8080 -j REJECT

RH 기사에서는 ipv6에 대해 언급하지 않지만, 물론 귀하의 경우에는 loipv6을 통해 액세스할 가능성도 차단해야 합니다.

sudo firewall-cmd --direct --add-passthrough ipv6 -I OUTPUT -d ::1/128 -p tcp --dport 8080 -j REJECT

관련 정보