目录

ping不通Linux服务器怎么办

ping不通Linux服务器怎么办?

问题描述:

ping是最常见的网络命令,用来测试和远程机器是否连通的方法。

我们常常会遇到一个问题:无法ping一台远程主机。

原因分析:

ping不通远程机器,最常见的原因有:

1、自己所在机器本身处于断网状态;

2、远程机器处于断网状态;

3、远程机器处于联网状态,但是屏蔽了ping命令。

解决方案:

如何判断是哪个原因导致ping不通呢?

  • 首先排除情况1:自己所在机器本身处于断网状态

    办法:使用ping命令测试是否和公网服务器相通。例如:

    ping www.sina.com.cn

  • 其次排除情况2:远程机器处于断网状态

    办法:通过其他手段登录到远程服务器,从服务器端ping公网服务器地址。

  • 最后排除情况3:远程机器处于联网状态,但是屏蔽了ping命令

    办法(以Linux服务器为例):

    有些服务器从网络安全角度出发,会屏蔽ping命令,即屏蔽ICMP协议(ping是一个命令名,不是协议名称,其底层是利用ICMP协议实现的)。

    Linux服务器有一个文件 /proc/sys/net/ipv4/icmp_echo_ignore_all ,当这个文件的内容是 1 时候,为允许ICMP协议,当为 0 时,为屏蔽ICMP协议。

    解决方法很简单:

    如果想打开ICMP协议:

echo “1”>/proc/sys/net/ipv4/icmp_echo_ignore_all
cat /proc/sys/net/ipv4/icmp_echo_ignore_all

如果想禁止ICMP协议:

echo “0”>/proc/sys/net/ipv4/icmp_echo_ignore_all
cat /proc/sys/net/ipv4/icmp_echo_ignore_all

(命令行很简单,第一句话就是向文件写内容,第二句就是查看文件内容)