排除网络故障除了书本上的知识,还需要经验的积累。下面讲一个故事:
一个小公司通过ADSL连接Internet,计算机和服务器出现的故障经常找我咨询。有一天我接到电话说不能上网了。我让他ping网关看看是否通,再ping一个公网地址看看通不通,把所有网卡连接拔了再插一遍,把连接猫的电话线拔了再插一遍,把猫和拨号路由器电源重新加电,重新配置拨号路由拨号的账号和密码……,把我所说的方法都试了一遍,还是不通,我都黔驴技穷了。冥思苦想好一阵,忽然想到是不是该交上网费了。我让他打电话咨询一下电信,果然欠费了。缴费之后,一切OK了。
以后再解决网络故障时针对ADSL拨号用户还要检查是否欠费,经验就是这么积累的。好了,现在告诉大家网络排错的通用方法。
(1)先看症状。
(2)列出引起该症状的尽可能多的原因。
(3)然后针对每个原因进行排查。
(4)找到原因。
(5)解决问题。
在这里第(2)步非常重要,列出原因的越多,你就越能排除较为复杂的网络故障。
现在就以一个用户不能访问Internet为例,给大家展示网络排错的过程。
如图12-1所示:公司A计算机不能打开Internet网站。
原因:
(1)A计算机的网线没有连接好。
(2)A计算机的网卡没有安装驱动。
(3)A计算机IP地址、子网掩码、网关错误。
(4)A计算机被ARP欺骗。
(5)A计算机域名解析出现故障。
(6)A计算机设置了IPSec。
(7)A计算机IE设置了错误的代理服务。
(8)公司路由器C设置访问控制列表错误。
(1)确定是只有A计算机不能访问Internet,还是和A计算机在一个网段的所有计算机都不能访问。如果是只有A计算机不能访问Internet,就在A计算机上找原因。
(2)看看A计算机是不是有本地连接,如图12-2所示,如果没有,需要安装网卡驱动。
(3)如果有“本地连接”,看看网线是否连接正常。如图12-3所示。
▲图12-2 没有安装驱动 ▲图12-3 网线没接好
(4)如果有“本地连接”,并且显示“已连接”,看看本地连接是否有收发的数据包。如果只有收的包或只有发的包,你需要重新连接网线,或重新做网线的水晶头。网络通信要求必须能够接收数据包和发送数据包。要是还不行,你就重新卸载网卡驱动,重新扫描硬件,加载驱动。
(5)同时也要看看网卡的速度是否和交换机的接口匹配,默认是自动协商速度。如果强制指定带宽和交换机的接口速度不能匹配成功,网络也不通,如图12-4所示。
(6)打开TCP/IP属性,可以看到配置的静态IP地址、子网掩码和网关,以及DNS是否设置正确,如图12-5所示。
▲图12-4 查看收发包以及带宽情况 ▲图12-5 查看网络配置
(7)或在命令行下输入ipconfig /all查看是否配置正确,如图12-6所示,注意自动获取的IP地址,以及配置的静态的IP地址。如果从这看到的地址和配置的静态地址不一致,需要禁用、启用一下网卡,要是还不行,就重启一下系统。默认情况下Windows更改IP地址后就直接生效,但是个别情况有例外。使用ipconfig /all命令看到的地址是当前生效的地址。
(8)禁用没有用的网卡。多余的网卡上的错误IP地址也会造成网络问题,如图12-7所示。
▲图12-6 查看网络配置 ▲图12-7 禁用无用连接
(9)检查网络连接正常,有收发的数据包,IP地址子网掩码和网关都正常,就要ping网关是否通,ping本网段的其他计算机是否通。查看time的值是否正常,100M网络如果不堵塞,延迟应该小于10毫秒。如果大于100毫秒,则要考虑使用抓包工具排错,如图12-8所示。
(10)如果ping 网关不通,ping本网段其他计算机能够通,则要考虑是否MAC地址欺骗。输入arp �Ca查看缓存的网关MAC地址,是不是正确网关的MAC地址。如果计算机缓存了一个错误的网关MAC地址,则要安装ARP防火墙,防止ARP欺骗,如图12-9所示。
▲图12-8 测试网关 ▲图12-9 查看解析的MAC地址
(11)检查Windows是否指派了错误的IPSec,将所有的IPSec都不指派,测试是否能够上网,如图12-10所示。
(12)检查在公司路由器C上是否设置访问控制列表,允许本网段能够访问Internet。
(13)ping 202.99.160.68 -t,该地址是河北石家庄(中国网通)DNS服务器地址,我经常用该地址测试是否能访问Internet,如图12-11所示。
▲图12-10 禁用IPSec ▲图12-11 测试网络
(14)ping 域名,查看是否能解析到网站的域名。如图12-12所示,ping www.inhe.net能够解析域名,且还能够通,ping www.microsoft.com 解析域名成功,只不过该网站不允许icmp协议出入,你别误认为该网站不能访问。如果你的DNS设置错误,你的计算机就不能进行域名解析,这时可以而为你的计算机配置多个DNS服务器,如图12-13所示。
▲图12-12 测试域名解析 ▲图12-13 配置多个DNS服务器
(15)如果个别网站访问不了,也可能是病毒向你的计算机C:\Windows\System32\
drivers\etc\hosts文件添加内容了。使用记事本打开该文件。只保留如图12-14内容就可以。该文件存储域名和IP地址的对应关系,如果该文件有就不用DNS解析了。所以如果病毒给你在该记事本中添加一条22.22.22.22 www.baidu.com,你就不能访问百度网站了。你ping www.baidu.com可以看到解析的地址是22.22.22.22,如图12-14所示。
(16)如果你的计算机使用错误的DNS服务器解析到了错误的IP地址,或ARP解析到了错误的MAC地址,你可以通过“修复”按钮清除缓存,如图12-15所示。
▲图12-14 Host文件 ▲图12-15 修复网络连接
(17)如果ping www.inhe.net能够解析到IP地址。测试是否能够访问Web服务,就要使用telnet www.inhe.net 80进行测试。如图12-16所示,如果能够成功,则你的计算机就应该能够访问该网站。如果IE还是访问不了,应该检查你的IE浏览器设置,是否设置了错误的代理服务器。
▲图12-16 telnet测试
(18)检查IE浏览器代理服务器设置。有些病毒给你设置了一个并不存在的代理服务器。你访问网站总是找这个代理服务器,当然打不开网页了。如图12-17和图12-18所示。
▲图12-17 配置代理服务器 ▲图12-18 检查代理服务器设置