为什么防火墙不阻止未打开的端口?

为什么防火墙不阻止未打开的端口?

我的内部网络有以下区域:

internal (active)
  target: default
  ingress-priority: 0
  egress-priority: 0
  icmp-block-inversion: no
  interfaces: enp1s0f0
  sources:
  services: dhcpv6-client dns mdns samba-client ssh
  ports:
  protocols:
  forward: yes
  masquerade: yes
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

我只启用了几个服务进行测试,但如果我在任何端口(例如 8080)上运行 Web 服务器,curl http://serverip:8080我就会收到来自 Web 服务器的响应。该firewalld服务显示为在计算机上运行,​​但并未阻止对端口 8080 的访问,尽管它未列在上面。

我该如何调试为什么它没有按预期工作?

  • enp1s0f0 绝对是正确的接口
  • Firewalld 服务正在通过 systemd 运行并显示为正在运行

这是我的 iptables -S 输出:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N DOCKER
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -j DOCKER-USER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o br-d8adea070e26 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-d8adea070e26 -j DOCKER
-A FORWARD -i br-d8adea070e26 ! -o br-d8adea070e26 -j ACCEPT
-A FORWARD -i br-d8adea070e26 -o br-d8adea070e26 -j ACCEPT
-A DOCKER -d 172.19.0.2/32 ! -i br-d8adea070e26 -o br-d8adea070e26 -p tcp -m tcp --dport 443 -j ACCEPT
-A DOCKER -d 172.19.0.2/32 ! -i br-d8adea070e26 -o br-d8adea070e26 -p tcp -m tcp --dport 80 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 6789 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p udp -m udp --dport 5514 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p udp -m udp --dport 1900 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p udp -m udp --dport 10001 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 8843 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 8443 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p udp -m udp --dport 3478 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN

php -S 192.168.2.1:8000我在 docker 中运行服务,但如果我在机器本身(而不是在容器中)上运行,那么不仅仅是 docker 中的服务可以访问,然后curl 192.168.2.1:8000在网络上的另一台机器上,我会从 php 服务器收到响应。

相关内容