现象:端口是通畅的,但ping显示“来自 8.134.11.11的回复: 无法访问目标网”。
原因:是在firewalld中有设置禁icmp包导致,如图。
[root@blog-tag-gg ~]# sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client ssh
ports: 20/tcp 21/tcp 22/tcp 80/tcp 443/tcp 18987/tcp 39000-40000/tcp 888/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks: echo-request
rich rules:
解决方法:
方法1:
编辑“/etc/firewalld/zones/public.xml”文件,将
规则删除,然后执行如下命令重载即可正常。<icmp-block name="echo-request"/>
方法2:sudo firewall-cmd --reload
执行如下命令即可移除:
重载配置sudo firewall-cmd --remove-icmp-block=echo-request --permanent
此时解决完成,能正常ping通了。sudo firewall-cmd --reload
举一反三:
1、查看firewalld 生效的所有规则:
2、查看是否包含“icmp-block=echo-request ”sudo firewall-cmd --list-all
3、firewalld 设置icmp-block=echo-request (设置后ping不通,报上面错误)sudo firewall-cmd --query-icmp-block=echo-request
4、另外一种firewalld 禁止ping方法:firewall-cmd --zone=public --add-icmp-block=echo-request --permanent
这种方法设置禁ping后若要恢复ping,可编辑 public.xml文件将如下规则删除,然后执行 sudo firewall-cmd --reload 重载配置即可。firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'
或者执行命令后并重载即可。<rule>
<protocol value="icmp"/>
<drop/>
</rule>
firewall-cmd --permanent --remove-rich-rule='rule protocol value=icmp drop'
文章评论 本文章有个评论