CentOS 6、7、8 禁止 ping 的命令操作方法

CentOS 6、7、8 禁止 ping 的命令操作方法

发布时间:2024-10-03 14:26:54

centos 6

centos 6 使用 iptables 作为默认防火墙。

  1. 编辑 iptables 规则:
     
    sudo vi /etc/sysconfig/iptables
  2. 添加以下规则(在其他规则之前):
     
    -a input -p icmp --icmp-type echo-request -j drop
  3. 保存并关闭文件。
  4. 重启 iptables 服务:
     
    sudo service iptables restart

centos 7

centos 7 默认使用 firewalld 作为防火墙。

  1. 使用 firewall-cmd 添加规则:
     
    sudo firewall-cmd --permanent --add-icmp-block=echo-request
  2. 重新加载防火墙规则:
     
    sudo firewall-cmd --reload

如果您使用的是 iptables,步骤与 centos 6 相同。

centos 8

centos 8 也默认使用 firewalld,步骤与 centos 7 相同。

  1. 使用 firewall-cmd 添加规则:
     
    sudo firewall-cmd --permanent --add-icmp-block=echo-request
  2. 重新加载防火墙规则:
     
    sudo firewall-cmd --reload

使用 sysctl 方法(适用于所有版本)

除了使用防火墙,还可以通过修改内核参数来禁止 ping:

  1. 编辑 sysctl.conf 文件:
     
    sudo vi /etc/sysctl.conf
  2. 添加或修改以下行:
     
    net.ipv4.icmp_echo_ignore_all = 1
  3. 保存并关闭文件。
  4. 应用更改:
     
    sudo sysctl -p

注意事项

  • 禁用 ping 可能会影响网络诊断和监控工具。
  • 在生产环境中实施前,请充分测试并考虑潜在影响。
  • 某些云平台或托管服务可能需要额外的配置。

恢复允许 ping

如果需要恢复允许 ping,可以逆转上述操作:

  • 对于 firewalld:使用 --remove-icmp-block=echo-request
  • 对于 iptables:删除添加的规则
  • 对于 sysctl 方法:将 net.ipv4.icmp_echo_ignore_all 设置为 0

记得在更改后重新加载或重启相应的服务。禁止ping能防止被攻击哦

感谢:05互联  提供的技术文章