写作目的:
网络排查是每个IT从业人员的基本技能,最近测试场景的过程中遇到搭建的v*n不通,耽误了1个多小时的测试进度,最后还是在黄同学的帮助下解决了问题。深感惭愧,简单的ping命令并不能帮助我们解决所有的网络问题。
我结合网络搜索到的知识加上平时遇到的网络问题,系统的整理下网络排查和解决的方法。
基本思路:
这次写作主要从两个方面总结网络排查方法:
1、简单的网络流程排查方法:主要是先从近到远的方法去排查网络问题,检测网络是在哪个环节异常。
2、列举一些常见的排查问题命令和思路
具体操作:
简单4步骤排查网络问题:
1、ping回环地址:主要是检测本地安装的tcp/ip协议栈是否有问题
解决方法:要是ping不通说明本地安装的tcp/ip协议栈,重新安装即可
2、ping本地IP:这个主要是判断网卡是否正常
如果ping不通本地的ip,可能是以下的问题:
2.1网卡被禁用或者是未启用,解决方法是启用网卡
2.2网卡故障,解决方法是更换网卡
2.3防火墙禁用了本地ip,解决方法是在防火墙放通本地ip
3、ping网关:检查本地到网络之间是否正常,出异常的话说明本地到路由器或者交换机的过程出现了故障
不通可能的原因:
3.1路由器异常
3.2连接网口的网线被脱落,解决方法是把网线插好
3.3交换机异常
4、ping远程设备ip:检测设备和设备之间的网络情况
不通的情况:
4.1两者所在的网络不通,解决方法是查看是否是不同的局域网下,是否有v*n或者是端口映射或者是dnat或者是snat方式转换访问过去
4.2 防火墙开启,这个是很常见的问题,关掉防火墙就可以了
4.3 如果是ping远程设备的域名不通,可以查看下是否是dns服务器是否有问题
4.4 对方设备挂了,这个情况也是有可能出现的,开下设备就可以了
排除网络过程中常用的网络命令:
1、tracert(windows是tracert,linux上上tracepath):tracert用于测试数据包从发送主机到目的地所经过的网关,它主要用于检查网络连接是否可达,以及分析网络什么地方发生了故障。
结合上述排查网络问题的步骤4使用,查看到指定设备的过程中哪里出了异常。
2、arp:ARP命令用于显示和修改“地址解析协议(ARP)”缓存中的项目。ARP -a命令用于记录出现的IP地址与物理地址的列表信息。
3、ipconfig:ipconfig命令用于显示当前的TCP/IP配置的设置值。
结合上述排查网络问题的步骤1使用,查看当前的本机信息
ipconfig/all命令查看虚拟机的MAC地址、IP地址
4、route:查看路由表的信息
大多数主机都驻留在只连接一台路由器的网段上,因此不存在使用哪一台路由器将数据报发表到远程计算机上的问题,该路由器的IP地址即是该网段上所有计算机的缺省网关。但是,当网络上拥有两个或多个路由器时,就不一定只依赖缺省网关了。可以让某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP通过另一个路由器来传递。
有次测试就遇到两个局域网已经通过v*n打通,但是v*n所在的局域网上的设备却不能相互访问,后面查看了route表才知道上因为设备的网关默认指向所在局域网的路由器,导致设备的流量都按照常规的走向路由器而不是v*n设备。
利用route可以在计算机中设置多个默认网关。例如,对192.168.0.0网段的访问使用192.168.0.1网关,对其他网段的访问则使用192.168.1.1网关。那么,可以执行以下命令:
route add 192.168.0.0 mask 255.255.255.0 192.168.0.1
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
5、netstat:在服务器与网络的管理中,需要经常查看服务器所开放的端口、当前的所有连接,以便随时了解网络状态。这时就要用Netstat命令。
Netstat –a(netstat -n):查看当前计算机的连接对象,开放TCP和UDP端口以及监听状态
常见的出错信息
常见的出错信息通常分为四种情况:
● unknown host
unknown host(不知名主机)表示该远程主机名不能被命名服务器转换成IP地址。故障原因可能是命名服务器有故障,或者其名称不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
● Network unreachable
Network unreachable(网络不能到达)表示本地系统没有到达远程系统的路由,可用netstat –rn命令检查路由表来确定路由配置情况。
● No answer
No answer(无响应),远程系统没有响应。这种说明本地系统有一条到达远程主机的路由,但却接受不到它发给该远程主机的任何分组报文。故障原因可能是远程主机没有工作,或本地或远程主机网络配置不正确,或本地或远程的路由器没有工作,或通信线路有故障,或远程主机存在路由选择问题。
● timed out
timed out(超时),表示与远程主机的链接超时,数据包全部丢失。故障原因可能是到路由器的连接问题、路由器不能通过、也可能是远程主机已经当机。