今天早上,一名同事的电脑无法上网,Windows 7 操作系统,右下角的小电脑显示感叹号wKiom1Q45xLQG6U_AAAQFytrplw506.jpg

第一:无法ping 通默认网关,我检查了网络的基本设置,是没有问题的。 可以排除网线的问题。

第二:由于我们在三层上做了静态绑定,所以我怀疑是绑定有问题,然后到三层上检查,绑定也没有问题

第三:然后数次 禁用/启用 本地连接,还是没有解决这个问题。j_0062.gif  愤怒了。。。

然后,在cmd中,ipconfig /all 命令查看,终于看到有些端倪:

wKiom1Q44vjCveK6AACyFEupqTg306.jpg


遇到这种情况,一般禁用本地连接再开启就行了,但你都到处找资料了,那肯定是试了N次都没好。

使用route print 命令可以看到有两条默认的路由,而其中一个默认路由指向了一个网络中不存在的下一跳地址。

wKiom1Q_UurAHuSLAAFWrH9EOg4759.jpg

解决这个问题的办法很简单:用route命令删除那个错误网关的路由就好了

set gateway=192.168.0.1   :: 这个改成你的网关IP
set interface=12          :: 这个接口编号可以在“route print”命令的“接口列表”中查到
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 %gateway% metric 11 if %interface%
:: route add 0.0.0.0 mask 0.0.0.0 192.168.0.1


全零网络IP地址0.0.0.0的意义

RFC:

0.0.0.0/8 - Addresses in this block refer to source hosts on "this"
network. Address 0.0.0.0/32 may be used as a source address for this
host on this network; other addresses within 0.0.0.0/8 may be used to
refer to specified hosts on this network ([RFC1122], Section 3.2.1.3).

因此,根据RFC文档描述,它不只是代表本机,0.0.0.0/8可以表示本网络中的所有主机,0.0.0.0/32可以用作本机的源地址,0.0.0.0/8也可表示本网络上的某个特定主机,综合起来可以说0.0.0.0表示整个网络

在路由器配置中可用0.0.0.0/0表示默认路由,作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。

查阅百度知道里一些说法如下:

1. 严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由 表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一 律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。

2. 网络中0.0.0.0的IP地址表示整个网络,即网络中的所有主机。它的作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。



这里,也顺便补充一下在windows下面添加、删除和修改静态路由

ROUTE命令格式如下:

ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]

其中:

参数用于清除路由表,-p参数用于永久保留某条路由(即在系统重启时不会丢失路由,但在WINDOWS95下无效);

Command主要有PRINT(打印)、ADD(添加)、DELETE(删除)、CHANGE(修改)共4个命令;

Destination代表所要达到的目标IP地址;

MASK是子网掩码的关键字,Netmask代表具体的子网掩码,如果不加说明,默认是255.255.255.255(单机IP地址),因此键入掩码时候要特别小心,要确认添加的是某个IP地址还是IP网段。如果代表全部出口子网掩码可用0.0.0.0

Gateway代表出口网关;

其他interfacemetric分别代表特殊路由的接口数目和到达目标地址的代价,一般可不予理会。


实例

## 添加一条路由
CMD> route add 192.168.1.0 mask 255.255.255.0 192.168.1.1 

## 添加永久路由, -p 参数, 不会因为重启机器而丢失
CMD> route add 192.168.1.0 mask 255.255.255.0 192.168.1.1 -p

## 为了确保路由正确,避免引起混乱,最好先删除路由,然后再添加
CMD> route delete 0.0.0.0
CMD> route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

## 删除一条路由
CMD> route delete 192.168.1.0

## 修改一条路由, change 命令只能修改 网关 和 跳数
CMD> route change 157.0.0.0 mask 255.0.0.0 157.55.80.5 metric 2 if 2



http://www.cnblogs.com/arliang/p/Invalid_Gateway_0_0_0_0.html