admin管理员组文章数量:1642330
富规则
查看所有的规则
firewall-cmd --list-all
增加规则
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 address=192.168.1.236 reject"
删除规则(先查看规则,然后从规则列表里赋值出规则)
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.236" accept'
开放端口
添加端口
firewall-cmd --zone=public --add-port=7777/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
查看
firewall-cmd --zone=public --query-port=7777/tcp
删除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
修改生效
上边所做的所有修改都需要重新加载才能生效。
firewall-cmd --reload
对应现象
富规则 reject
,可以看到对端直接回应一个 ICMP 不可达消息包,连接返回 Connect refused.
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: cockpit dhcpv6-client ssh
ports: 6379/tcp 6380/tcp 6381/tcp 6382/tcp 6383/tcp 6666/tcp 7777/udp 6666/udp 7777/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="192.168.1.236" reject
富规则 drop,可以看到对端将不做任何响应。本端发起的链接将在缺省重发 5 次 ACK
之后超时结束。
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: cockpit dhcpv6-client ssh
ports: 6379/tcp 6380/tcp 6381/tcp 6382/tcp 6383/tcp 6666/tcp 7777/udp 6666/udp 7777/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="192.168.1.236" drop
如果未定义富规则,且端口未开放。如下,注意 ports 里已经没有了 7777/tcp,且富规则也是空的。
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: cockpit dhcpv6-client ssh
ports: 6379/tcp 6380/tcp 6381/tcp 6382/tcp 6383/tcp 6666/tcp 7777/udp 6666/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
端口未对外开放,外部链接过来返回的就是 No route to host。对外也是响应一个 ICMP 包.
ICMP 对应的格式
host unreachable - admin prohibited filter
vs tcp port cbt unreachable
两次 ICMP
响应,对应的 Type 都是 3, 不过 Code 前者是0,后者是3.
-
0:network unreachable
-
1:host unreachable
-
2:protocol unreachable
-
3:port unreachable
-
4:fragmentation needed and DF(don’t fragment) set
-
5: source route failed
firewall-cmd 通过 direct rule
使用 iptables 规则。
firewall-cmd 过滤特定的 flag 包,类似 iptables 的表和链
添加一条规则,一定要指定优先级才行,比如优先级为 10.
irewall-cmd --direct --add-rule ipv4 filter INPUT 10 -s 192.168.1.236 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 10 -s 192.168.1.236 -j ACCEPT #加 permanent 永久
查看规则,使用 firewall-cmd --list-all
不行,需要使用 --direct
.
firewall-cmd --direct --get-rules ipv4 filter INPUT
firewall-cmd --permanent --direct --get-all-rules
1 -s 192.168.1.236 -j REJECT
3 -s 192.168.1.236 -j ACCEPT
2 -s 192.168.1.236 -j ACCEPT
复制查看到的任何一条规则,然后再进行删除。
firewall-cmd --direct --remove-rule ipv4 filter INPUT 10 -s 192.168.1.236 -j ACCEPT
版权声明:本文标题:firewall-cmd 下规则控制与现象 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729337767a1197203.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论