Loading
0

解决:icmp-blocks:echo-request firewalld防火墙无法ping通问题

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器
前言:今天突然服务器ip无法ping通了,ping显示“来自 8.134.11.11的回复: 无法访问目标网。”但端口是通的,检查了iptables没有设置禁ping规则,也没有设置什么iptables转发之类的操作。百思不得其解,查看了很多地方都没有问题,最终发现是有安装firewalld防火墙并在firewalld中设置了规则导致,解决方法如下:
现象:端口是通畅的,但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"/>

规则删除,然后执行如下命令重载即可正常。

sudo firewall-cmd --reload

方法2:
执行如下命令即可移除:

sudo firewall-cmd --remove-icmp-block=echo-request --permanent

重载配置

sudo firewall-cmd --reload

此时解决完成,能正常ping通了。
举一反三:
1、查看firewalld 生效的所有规则:

sudo firewall-cmd --list-all

2、查看是否包含“icmp-block=echo-request ”

sudo firewall-cmd --query-icmp-block=echo-request

3、firewalld 设置icmp-block=echo-request (设置后ping不通,报上面错误)

firewall-cmd --zone=public --add-icmp-block=echo-request --permanent

4、另外一种firewalld 禁止ping方法:

firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'

这种方法设置禁ping后若要恢复ping,可编辑 public.xml文件将如下规则删除,然后执行  sudo firewall-cmd --reload 重载配置即可。

  <rule>
    <protocol value="icmp"/>
    <drop/>
  </rule>

或者执行命令后并重载即可。

firewall-cmd --permanent --remove-rich-rule='rule protocol value=icmp drop'













 
技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-3-36335-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:Linux/Centos系统脚本一键升级OpenSSH版本方法
下一篇:解决Ubuntu乌班图修改PAM规则后不生效方法