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是依赖内核的一个工具