- A+
用两台计算机分别接入至局域网中的两个网段,192.168.1.0/24与192.168.2.0/24,网关分别是192.168.1.1,192.168.2.1,Windows系统计算机分别配置静态地址与网关,192.168.1.2与192.168.2.2,发现两台计算机是能相互Ping通,而且能互相访问的。这再正常不过了。
然而遇到了一桩怪事,当用一个嵌入式Linux系统的终端ifconfig eth0 192.168.1.3后接入到192.168.1.0/24网段后,用192.168.2.2的计算机去Ping终端192.168.1.3,发现竟然Ping不通,心里这时候免不了有马在翻腾的。
既然之前两个电脑都能相互Ping通,现在接嵌入式设备,互跨网段的电脑却Ping不通嵌入式设备了,自然是要怀疑终端的问题,必然最先怀疑的是路由表问题。
用命令,route -n,查看路由表,发现终端设备的eth0有一条路由Destination192.168.1.0 Gateway 0.0.0.0 Genmask 255.255.255.0,我的印象之中,明明路由表应该是双向的,为什么只有去,没有回来?后来,通过其他设备与ubuntu系统的路由表,才发现原来是少了一条0.0.0.0到网关的缺省路由,果断在终端的命令行提示符下输入route add default gw 192.168.1.1,这时候终端上面用route -n查看路由表多了一条Destination0.0.0.0 Gateway 192.168.1.1 Genmask 0.0.0.0的路由表,然后用192.168.2.2的计算机去Ping设备终端192.168.1.3,这时候终于能互相Ping通。
事情终于是解决了,但是也留给我们一些问题,0.0.0.0的IP好理解,通俗点就是全网段的IP,但0.0.0.0做为Gateway或是子网掩码,那又代表什么含义?能不能简单的理解为缺省网关或是缺省掩码呢?
2020年7月15日 上午11:23 沙发
对的,0.0.0.0就是缺省路由,如果别的什么其他路由都匹配不上就会匹配中这一条。不配就没有缺省路由了。