本文目录导读:

net.ipv4.icmp_echo_ignore 是 Linux 内核参数,用于控制是否忽略(丢弃)所有传入的 ICMP Echo 请求(即 ping 请求)。
如何设置(临时生效)
直接在终端执行以下命令:
# 忽略所有 ping 请求(系统将不再响应 ping) sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1 # 恢复响应 ping 请求 sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0
注意:参数名是 icmp_echo_ignore_all,不是 icmp_echo_ignore。icmp_echo_ignore 这个单独的参数在标准 Linux 内核中通常不存在,正确的参数是 icmp_echo_ignore_all。
如何永久生效
编辑 /etc/sysctl.conf 文件:
sudo vim /etc/sysctl.conf # 或者使用 nano
在文件末尾添加(或修改):
# 忽略 ping 请求 net.ipv4.icmp_echo_ignore_all = 1
保存后执行使配置生效:
sudo sysctl -p
当前系统是否支持该参数
确认该参数存在的方法:
# 查看当前值 sysctl net.ipv4.icmp_echo_ignore_all # 列出所有相关参数 sysctl -a | grep icmp_echo
典型输出示例:
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
补充:ignore_broadcasts 的区别
icmp_echo_ignore_all:忽略所有 ping 请求(单播、广播、多播)icmp_echo_ignore_broadcasts:仅忽略发送到广播地址或组播地址的 ping 请求(默认=1,即忽略广播 ping)
如果需要允许普通 ping 但禁止广播 ping(常见的安全配置),可以单独控制 ignore_broadcasts。
验证是否生效
从另一台机器 ping 本机,或在本机 ping 自己:
# 设置前 ping -c 2 127.0.0.1 # 正常响应 # 设置忽略 sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1 ping -c 2 127.0.0.1 # 显示 100% packet loss
注意事项
- 防火墙优先:iptables/nftables 防火墙规则已经拒绝了 ICMP,则 sysctl 设置不会生效(防火墙优先级更高),此时需要检查防火墙规则。
- 内核支持:大多数现代 Linux 发行版都支持该参数,但如果遇到不存在的情况,可能是内核配置了
CONFIG_SYSCTL但没有包含该选项,这种情况非常罕见。 - IPv6 类似参数:对于 IPv6 的 ping(ICMPv6),对应的参数是
net.ipv6.icmp.echo_ignore_all,但注意路径中的点是分隔符,并且参数名不同。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播