有很多朋友问弱电君,关于ip地址,为什么有时能ping通,有时却ping通,这个问题我们在做关于监控或网络故障的问题中经常会遇到,今天我们就来了解下。
一、什么情况下ping不通?
1.在同一网段内假设电脑A、B均在192.168.0.X的网段内,两台电脑不需要额外设置,就可以互相ping的通。如果ping不通,可能的原因有:
a、目标主机的防火墙没关
b、目标主机有电脑管家/360等防护软件
2.在不同网段
如上图,A和B分属不同网段,此种情况B可ping通A,但A不可以ping B。因为B的IP经过路由器net(网络地址转换)后,对外显示的是192.168.0.148,A并不知道有B的存在。若想让A也能ping B,需要告诉A电脑路由该怎么走,在A电脑上加一条静态路由:
在dos下输入以下指令:route -p add 目的地址 mask 子网掩码 网关地址
它的意思是,要想找到“目的地址”,就要通过“网关地址”里面找。-p是永久有效的意思。
所以,对应到上面的例子,指令应该这么写:route -p add 192.168.19.0 mask 255.255.255.0 192.168.0.148。其中192.168.19.0的意思是对192.168.19网段下所有ip均有效。添加完毕后可用 route print 查看是否添加成功。(注意在win10下要以管理员身份运行dos才可添加)
3、还是不行如果还是不行,极有可能是B电脑的路由器里面做了安全设置,不允许外网ping内网。这个根据路由器型号,可在网上搜索如何进行相关设置。但老式路由器可能没有在这个功能。如果是这种情况就只能另寻他法了。
二、什么情况下能ping通?
1、如果是同处于一个内部网络环境的,就是一个大局域网,他们在同一个网段,是可以互相ping通的,这个我们在监控项目中用的比较多。何为同一网段,比如192.168.1.5与192.168.1.x属于同一个网段。
2、同一个局域网内,不同的网段,比如192.168.0.1/24和192.168.1.1/24,他们并不在一个网段内所以无法直接ping通。这时候你可以把2台电脑接入路由器设置静态或者动态路由,计算机网关指向路由,这样icmp包就可以相互到达,双方ping通。
3、如果2台计算机同时处于公网内,只要能联网肯定是可以ping通的。
4、 还有一种情况是有一台机器是属于内网的ip如192.168.10.1,另外一台计算机是公网IP,如202.100.1.17,如果这2台要ping通的话,内网IP的那台机器只要能联网就能ping的通公网IP的计算机,而公网的计算机要访问内网计算机,需要通过VPN或者端口映射来完成访问。
了解以上的互通方式,在实际组网项目以及监控项目中,可以解决一些常见的网络问题。
,