Ubuntu 中禁 ping 与开启 ping(完整说明)

0
17

在 Ubuntu 中,通过修改内核参数 icmp_echo_ignore_all 可以控制系统是否响应 ping。


一、临时禁用/开启 ping(重启后失效)

1. 使用 echo 修改 /proc/sys 参数(需要 root 权限)

禁 ping:

echo 1 | sudo tee /proc/sys/net/ipv4/icmp_echo_ignore_all

开启 ping:

echo 0 | sudo tee /proc/sys/net/ipv4/icmp_echo_ignore_all

2. 使用 sysctl 命令

禁 ping:

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1

开启 ping:

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0

参数说明

1 = 禁 ping(系统不回复 ICMP 回显请求)
0 = 允许 ping(系统正常回复 ICMP)

二、永久禁 ping / 开启 ping(重启依旧有效)

编辑配置文件 /etc/sysctl.conf

sudo vim /etc/sysctl.conf

加入或修改以下内容:

禁 ping:

net.ipv4.icmp_echo_ignore_all=1

开启 ping:

net.ipv4.icmp_echo_ignore_all=0

保存退出后执行:

sudo sysctl -p

使配置立即生效。


三、注意事项

  • 禁 ping 只能避免外部扫描工具探测 ICMP,不等于服务器完全隐藏
  • 禁 ping 不会影响 TCP/UDP 服务(如 SSH、HTTP)
  • 某些监控工具(如 Zabbix、Nagios、Ping 监控)需要 ping,禁用后可能误报
  • 云服务商(阿里云、腾讯云)还需开放安全组 ICMP 才能被 ping 通

四、总结

操作临时永久
禁 pingsysctl -w ...=1改 sysctl.conf → 1
开 pingsysctl -w ...=0改 sysctl.conf → 0

发布回复

请输入评论!
请输入你的名字