当前位置:首页>Linux>Linux禁ping,一文学会!

Linux禁ping,一文学会!

  • 2026-10-11 07:16:50
Linux禁ping,一文学会!

点击上方蓝字关注我,下次找我不迷路哟!

哈喽,大家好,我是程序员码农拿铁。

提起Ping命令,作为IT人,我们对它可以说是又爱又恨。爱是因为它就像网络世界里的“敲门砖”,轻轻一敲,就能知道对方在不在线,网络通不通;恨是因为,如果这是一个暗藏心机之人敲的,那接下来等待你的可能就是疯狂的扫描甚至直接的网络攻击。所以,我们应该要知道:什么是Ping、为什么建议禁Ping、以及如何在主流Linux和国产Linux操作系统里,优雅地把这扇“大门”关好。

Ping是什么?原理其实很简单

Ping的故事要从1983年说起。当时美国一位名叫Mike Muuss的程序员,为了排查网络故障,写了一个小工具。他给这个工具取名叫ping——灵感来自潜艇发出的声呐脉冲。Ping虽然短小精悍,但其背后的逻辑很有意思。

Ping是网络世界里最基础、最常用的命令,其全称是“Packet Internet Groper”(互联网包探测器)。它像一个潜水艇的声纳探测器,向目标主机发送一个信号,然后等待对方回应,以此来判断对方是不是“活着”,以及双方之间信息传输的延迟高不高。

从底层原理来看,ping命令主要依靠的是网络协议中的ICMP(Internet Control Message Protocol,互联网控制报文协议)。ping命令会发送一个 Type 8 的“回声请求”(Echo Request),如果目标主机一切正常且没有防火墙拦截,则回复一个 Type 0 的“回声应答”(Echo Reply)。整个过程就是一个“呼叫与应答”的回合制回合游戏,简洁且高效。

为什么要禁 ping?

很多人觉得“ping 一下无所谓”,但在生产环境或公网服务器上,禁 ping 至少有三大好处:

·降低暴露风险:黑客的第一步通常是大规模 IP 扫描。禁 ping 后,扫描工具会认为这台 IP 处于离线或不可达状态,能有效避开脚本小子的无差别扫射,降低成为目标的概率。

·防御 DDoS 攻击:Ping 洪水攻击(ICMP Flood)会瞬间耗尽带宽和系统资源。禁用 ping 响应,相当于从源头切断了一条常见的攻击路径。

·减少网络开销:虽然单个 ping 包很小,但如果成千上万个恶意 ping 请求涌来,积少成多也会消耗可观资源。

凡事有利有弊。禁 ping 后,你无法从外部快速判断服务器是否存活,会增加排查难度。因此,推荐对公网服务器禁 ping,内部网络则可以视情况保留。

Linux 系统如何禁 ping?(包含国产系统)

说了这么多,直接上干货。以下方法经过实测,适用于各主流发行版以及Kylin(银河麒麟)、Deepin(深度)、openEuler(欧拉)等国产Linux系统。

方法一:修改内核参数(推荐,简单粗暴)

这是最直接的方法,不依赖任何外部工具(需要root用户权限)。

临时禁ping(重启后失效):

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

想恢复的话,把1改成0就行:

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

永久禁ping(重启依然生效):

echo"net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
sysctl -p

如果想恢复,编辑/etc/sysctl.conf把参数改成0,再执行sysctl -p就行。

方法二:iptables防火墙拦截(更灵活)

适合需要精细控制、只屏蔽特定来源Ping的场景:

iptables -A INPUT -p icmp --icmp-typeecho-request -j DROP

这条规则会丢弃所有入站的Ping请求包,但对其他协议(如HTTP、SSH)的业务完全无影响。

如果想让个别IP比如 192.168.10.1 能ping通,其他人都禁掉,可执行下面命令:

iptables -A INPUT -p icmp --icmp-typeecho-request -s 192.168.10.1 -j ACCEPT            
iptables -A INPUT -p icmp --icmp-typeecho-request -j DROP          

方法三:firewalld操作

很多国产Linux比如openEuler、Anolis OS都使用了firewalld作为默认防火墙:

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

最后唠叨两句

禁Ping从来不是目的,而是一种管理手段。在政务内网、金融核心交易系统、云安全组环境中,禁Ping几乎是标配。但话说回来,有时候为了运维排查的需要,我们也会用iptables去单独放行某个指定的监控IP。所以,最终选择哪一种方案,取决于你业务的真实需求。

希望今天的分享能让大家对“禁Ping”这件事有一个更立体的认识。如果本文对您有帮助,欢迎点赞、转发给更多需要的小伙伴!感谢阅读,咱们下期再见!

——The  End——

HAS ARRIVED

点个在看你最好看

最新文章

随机文章