可昕之家

可昕之家

张先生

平淡如水,爱护家人,好好工作

57 文章数
0 评论数

Anolis OS(或类似 RHEL/CentOS 系统)上禁止 ping(ICMP 请求)

张清磊
2025-06-06 / 0 评论 / 3 阅读 / 0 点赞

方法 1:使用 sysctl 临时或永久禁用 ICMP 回应

1. 临时禁用(重启后失效)

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1

这会立即生效,但重启后失效。

2. 永久禁用(修改 sysctl 配置)

echo "net.ipv4.icmp_echo_ignore_all=1" | sudo tee -a /etc/sysctl.conf

sudo sysctl -p # 立即加载新配置

这样即使重启也会保持禁用 ping。

3. 重新启用 ping

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0

或删除 /etc/sysctl.conf 中对应的行并重新加载配置。

方法 2:通过 firewalld 防火墙禁用 Ping(推荐)

Anolis OS 默认使用 firewalld 管理防火墙规则。

1. 查看当前 ICMP 设置

Anolis OS 默认使用 firewalld 管理防火墙规则。

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

如果显示 no,表示目前允许 ping。

2. 禁用 ping(仅阻止回应,不影响其他 ICMP 包)

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

sudo firewall-cmd --reload

3. 验证是否生效

sudo firewall-cmd --query-icmp-block=echo-request # 应返回 yes
ping <服务器IP> # 应无响应,显示 "Request timed out" 或 "Destination Host Unreachable"

4. 重新启用 ping

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

注意事项

  1. 推荐使用 firewalld 的方式,因为它更符合现代 Linux 防火墙管理规范。
  2. 禁用 ping 不会完全阻止网络探测,只是隐藏 ICMP 回显。
  3. 如果是云服务器(阿里云/腾讯云/AWS等),还要检查云平台的 安全组规则,可能需要额外禁用 ICMP。
  4. 如果服务器提供 Web 或 API 服务,禁用 ping 不会影响正常 TCP/UDP 连接(如 HTTP/HTTPS)。

最终建议

  • 最优解firewalld 方式(--add-icmp-block=echo-request
  • 快速测试sysctl -w net.ipv4.icmp_echo_ignore_all=1
  • 云服务器:检查安全组是否允许 ICMP
上一篇 下一篇
评论
最新回复
    暂无内容
光阴似箭
今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月
文章目录
今日天气