firewall无法对流量进行拦截,也无法对docker映射的端口进行拦截

问题背景

突然发现自己的vps上的firewalld无法拦截流量,明明没有配置对应的规则,流量却可以正常访问,例如python3 -m http.server 7788,直接访问可以得到响应,并且docker的映射流量也好像直接就能访问

设备信息

OS: CentOS Stream 9 x86_64
Kernel: 6.10.11-1.el9.elrepo.x86_64
User: root
商家:搬瓦工40刀的那个机器

尝试过程

一开始默认用的iptables,然后我取消掉自启动,删除规则后用的firewalld

┌ root@cute-kitten-1:~ 8# 
└─ firewall-cmd --get-active-zones 
public
  interfaces: eth0 eth1

查看对应的命名空间

┌ root@cute-kitten-1:~ 9# 
└─ firewall-cmd --list-all --zone=public 
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 80/tcp 22485/tcp 22485/udp 9080/tcp 7743/tcp
  protocols: icmp
  forward: yes
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

可以看到,我没有设置任何的放行策略,
但是我一用python3 -m http.server 7788起一个服务,
立马可以访问到,docker -p映射的也是
这期间我尝试了把target换成reject又换回来,依然无法生效

网卡信息(脱敏)

┌ root@cute-kitten-1:~ 10# 
└─ ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether aa:aa:00:1d:7f:03 brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    altname ens18
    inet 172.xxx.xxx.xxx/22 brd 172.96.195.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a8aa:ff:fe1d:7f03/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc cake state UP group default qlen 1000
    link/ether ba:aa:00:1d:7f:03 brd ff:ff:ff:ff:ff:ff
    altname enp0s19
    altname ens19
    inet 169.xxx.xxx.xxx/32 scope link noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::b8aa:ff:fe1d:7f03/64 scope link 
       valid_lft forever preferred_lft forever
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:6f:af:de:66 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:6fff:feaf:de66/64 scope link 
       valid_lft forever preferred_lft forever
6: veth9b6eb8d@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether 32:d9:32:cb:3e:0a brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::30d9:32ff:fecb:3e0a/64 scope link 
       valid_lft forever preferred_lft forever

我现在机器就是属于那种门户大开的情况,不知道为什么firewall根本无法对流量进行拦截,我自己本地vmware上跑的centos8一点问题没有,甚至不需要设置,请问有人知道是什么原因吗?如果需要更多信息我可以再贴一点

ps:刚注册账号,用了左上角的搜索功能,选择server社区和首页,搜索功能好像都不能用,我直接搜索centos,出来结果为空。
发布博客是否有规范,博客随便发会被警告吗?

最佳答案

问题已解决,原因是我更新过系统内核,更新过系统内核会导致原本的firewalld失效,需要重新使用yum卸载并重新安装,重装过后以正常,因为firewalld是依赖内核的一个工具

4个月前 评论
讨论数量: 1

问题已解决,原因是我更新过系统内核,更新过系统内核会导致原本的firewalld失效,需要重新使用yum卸载并重新安装,重装过后以正常,因为firewalld是依赖内核的一个工具

4个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!