大家好,关于服务器排错很多朋友都还不太明白,今天小编就来为大家分享关于网络排错思路的知识,希望对各位有所帮助!
一、网络排错中,常用那些操作命令,其作用
1、Ping命令
ping是个使用频率极高的实用程序,主要用于确定网络的连通*。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。
2、Ipconfig命令
ipconfig实用程序可用于显示当前的TCP/IP配置的设置值。这些信息一般用来检验人工配置的TCP/IP设置是否正确。使用ipconfig命令可以了解到你的计算机是否成功地租用到了一个IP,如果已经租用到,则可以了解它目前得到的是什么,包括IP、子网掩码和缺省网关等网络配置信息。
3、Tracert命令
Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。
4、Netstat命令
Netstat命令帮助网络管理员了解整个网络的使用情况。它可以显示当前活动网络连接的详细信息,如网络连接、路由表和网络接口信息,还可以计算当前运行的网络连接总数。
5、renew命令
使用Renew时,使用DHCP的计算机上的所有网卡(手动配置的适配器除外)都尝试连接到DHCP服务器,以更新现有的配置或获得一个新的配置。
二、NFS服务器故障排错日记
1.问题场景:
周末回来第一天上班,发现服务器被重启了,但是nfs文件挂载出现问题。具体表现如下:
1)在nfs客户端,挂载目录下不能ls或者ll;
2)输入strace dh-f后,文件挂载状况不能全部显示,在某个挂载目录终止了。
2.解决问题的方法:
1)重启nfs服务器的服务(先启动rpcbind再启动nfs)
service rpcbind start(启动nfs服务)
service nfs start
2)查看nfs启动状态
# service rpcbind status
# service nfs status
3)查看nfs服务器上的可挂载共享目录
# showmount-e localhost//默认查看自己共享的服务
4)在客户端启动rpc
# service rpcbind start
5)在客户端安装nfs相关软件,使用yast2
# yast2
6)在客户端查看服务器的可挂载目录
#showmount-e服务器IP/域名
7)在客户端手动mount挂载
mount 192.168.1.108:/opt/centos6///web/labs/nfs/
8)问题解决,共享目录挂载到客户端上
注意:1)nfs是依靠rpc来实现文件共享,所以启动服务的时候要先启动rpc,再启动nfs;
2)nfs网路文件共享,需要先验证网络是否通畅,如果客户端与nfs服务器不通,nfs不生效。
3)启动自动挂载nfs文件系统,在启动nfs服务的时候会自动加载/etc/fstab中的内容,如果有nfs相关,则自动挂载。
# vi/etc/fstab
格式:
<server>:</remote/export></local/directory> nfs< options> 0 0
4)服务端口查看stat
5)测试挂载状况
# strace df-h
以上就是我nfs服务器挂掉后,重启、排查故障的相关内容,分享给大家
三、必看干货***网络排错思路***大总结***
转自51CTO:xpleaf
blog.51cto./xpleaf/1689438
明人不说暗话,这篇文章我们来聊一个非常有用,同时也是程序员必备的技能,那就是网络排错思路大总结。
有了这个技能,如果以后发生领导、妹子电脑上不了网的情况,你上去就是一顿操作,稳稳的~~
网络排错的必备条件
为什么要先讲必备条件?因为这里所讲的网络排错并不仅仅是停留在某一个小小命令的使用上,而是一套系统的方法,如果没有这些条件,真的不能保证下面聊的这些可以听得懂,并且能运用到实际当中,所以还是先看看这些基础的条件吧。
1.1熟悉OSI七层模型与TCP/IP协议栈
这应该是网络排错要知道的最基本的知识了。
无论是OSI七层模型还是DoD模型,都是用来描述网络通信的一个过程,以让我们对网络数据的发送和接收有一个大致的认识。OSI七层模型对应OSI七层模型的协议,DoD模型对应DoD模型的协议,也就是TCP/IP协议栈。
TCP/IP协议栈里面的协议就显得十分重要了,比如DNS、TCP、UDP、IP、ICMP、ARP,这些最基本的应该得知道吧,我们不需要像《TCP/IP协议栈》中说得的那么细,但至少,对于这些协议的基本功能我们是必须得要知道的,这些就不是一两句可以说清楚的了,计网里也都学了~
1.2了解网络通信的基础设备和其对应的OSI层次
像*机、三层*机、路由器、防火墙这些最基本的网络设备应该要有些了解,尤其是它们对应的OSI层次以及作用,比如普通的二层*机对应OSI七层模型中的数据链路层,它可以隔绝冲突域,同时可以通过虚拟局域网技术(VLAN)来隔绝广播域,二层*机通过二层即MAC来实现数据帧的转发;再比如路由器,它对应网络层,可以提供路由寻址的功能等等。
1.3了解中小型企业网络的基本架构
一般中小型企业网络的基本架构都是这样的:接入层--汇聚层--核心层--网络出口。
下面给个图:
如果网络环境比较庞大,汇聚层和核心层都会有,像这里的话,就没有汇聚层,不过思想是一样的。下面讲的排错其实都是针对用户PC来说明的,事实上,数据中心中的网络排错也是类似的。不管网络环境多么复杂,其实简化下来跟这个都是差不多的。
1.4知道常用的网络排错命令
如果用户使用的是Windows操作系统,那么下面的这些命令就很重要了:
如果使用的是Linux操作系统,那么也有对应的相关命令。其实说到底就是要熟悉你所使用的设备,当然,在实际网络排错的过程中,如果只是为了测试网络通信是否正常,你可以换上你熟悉的设备操作。
1.5清楚知道网络排错的一个重要原则
网络排错,不就是要判断网络哪里出了问题,因此,你就必须要知道数据的走向。
所以一个重要原则是:关注数据的走向。
下面讲的网络排错思路其实就是通过追踪数据的走向来一步步缩小网络故障点的,因此,时刻记住这一点非常非常重要!这也是为什么上面需要让你了解中小型企业网络的基本架构了。
网络排错的基本思路
基本思路如下,这跟网上的大多数人写的应该是差不多的。
(1)检查物理链路是否有问题
(2)查看本机IP、路由、DNS的设置是否有问题
(3)测试网关或路由器的通畅情况。先测网关然后再测路由器,一级一级地测试
(4)测试ping公网ip的通畅情况(平时要记几个外部IP)
(5)测试DNS的通畅情况,可以ping网站
网络排错的具体步骤
为了更好的讲述网络排错的过程和思路,假设我们有下面的一个网络环境:
(说明:虽然是假设,但实际上该网络环境是通过GNS3联动虚拟机和真实网络架设起来的,所以是可以真实参考的)
下面,我们就以上面这个网络环境为例子,详细介绍我们的网络排错思路,每一步要怎么做,每一步为什么要这样做以及这样做之后我们可以得到什么信息,都会做一个说明。
3.1检查物理链路是否有问题
这一步是我个人认为在做网络排错时必须要做的第一步!经常会听朋友说,领导的电脑上不了网,需要过去排错,搞了老半天,还发现不了问题,最后在几经绝望之时,竟然发现网线都没接上电脑。这就真的是悲剧了,浪费了很多时间不说,这样的网络排错思路本来就是有错误的。
因为也许不是每个人都可以去机房查看*机的接线情况,所以这一步,我们排查的重点范围就应该放在如下面图所示的地方:
在这一步,下面几点是需要注意排查的:
1.确认电脑本身的网卡有没有问题
2.确认接的网线有没有问题
3.本机所连接的*机(如果可以去机房查看的话)
如果上面这几点排查都没有问题了,那么就是该网络环境中的其他设备问题了。这一范围的排查相对比较简单,因为只涉及到物理链路的连接问题。
对于这种测试,可以考虑使用测线器,但个人的建议是,拿一台配置正确的笔记本来做测试也未尝不可。
3.2查看本机IP、路由、DNS的设置是否有问题
上面第一步,物理链路的排查没有问题了,也就是说,电脑接上网线之后,电脑有反应了,可以识别,但是网络还是不通,来到这一步,就应该先把注意的范围放在电脑的设置上面了。
这一步,我们关注的重点是:
1. IP设置
如果采用的是DHCP自动获取的方法,那么这时候只需要看自己本机的设置上有没有开启自动获取IP的设置以及有没有开启相关的服务;
如果用的是静态IP,那么就必须要注意IP的填写有没有错(一般网络管理人员给的)、IP的子网掩码有没有问题(这很重要,对于静态IP,很多人在这里设置错误,建议是,最好把IP、VLSM这方面的知识学一下)。
一般可以用下面的命令查看:
2.路由设置
对于服务器、PC,一般是指默认网关的设置了;对于路由器本身或三层*机,那就是静态路由或动态路由的设置问题了。
3. DNS设置
主要是要确保所设置的DNS服务器到底有没有提供域名解析服务或者是否出现了故障,至于如何判断,后面会给出方法,这里关注的是,你得设置一个正确的DNS服务器或可以自动获取。在windows上面你可以通过下面的命令查看:
3.3测试网关或路由器的通畅情况。先测网关然后再测路由器,一级一级地测试
在上面的网络环境中,在网络通的情况下,我们在电脑上使用命令tracert-d命令,会得到下面的结果:
通过这个测试结果,我们可以清楚地知道电脑在访问互联网时,数据的走向情况:
根据这个数据走向,我们就可以得到一个重要的思路,就是根据数据走向来检测网络的通畅情况!因此,我们可以分两步:
1.先测试电脑到网关192.168.2.254的通畅情况
我们可以在自己的电脑上自己ping网关的,看是否有响应
一般这样的判断方法是比较快的,但有时候,无论怎样ping都不能,那么则可能有以下的几种情况:
a.网关设备做了禁止ping的设置
b.网关接口或网关设备出现故障
对于a,一般很少会在这些设备在做ping的限制操作,实在是没有太大的必要这样做,当然,网络安全等要求十分严格的除外。ping通192.168.2.254网关后,再ping一下172.16.13.1以确认电脑到整个网关设备都没有问题。
对于ping不通的时候,我个人还建议在电脑上执行如下操作:
即查看电脑本身有没有获取到网关的MAC的,显然,如果没有网关的MAC,那也是不可能ping通网关的,在排除了前面电脑设置的问题后,你可以猜测是网关设备出了问题,这时就可以联系网络工程师对网关设备进行测试了。
2.测试到其它路由器的通畅情况
前面一步没有问题了,也就是电脑到网关通信正常了,再测试网关到出口路由器的通畅情况:
这里,我们使用tracert-d命令就可以了:
当然,如果发现不通,那么则可能是下面的情况:
a.网关设备与路由器之间的物理链路问题
b.网关设备与路由器之间的设置问题,比如路由协议、接口配置之类的
出现上面的情况,那就是网络工程师的问题了,当然,如果你是网络工程师,应该要马上查看一下设备的状态,看是不是设备哪里出现问题了。
上面的步骤完成了,假设你的出口路由器设置是没有问题的,比如NAT与默认路由等的设置,那么我们大致可以知道,内网的一个基本通信是正常的(至少你的电脑和出口路由器的通信没问题),我们就要看看电脑到底能不能访问互联网了。
3.4测试ping公网ip的通畅情况(平时要记几个外部IP)
来到这一步的时候,就说明前面三步是没有问题的,也就是说,本地局域网络的通信是正常的,这时要做的就是判断本地局域网络与外网(公网)之间的通信有没有问题了:
这里采取的是ping公网的方法,是为了排除DNS的影响(万一你的DNS设置又有问题),至于要ping什么样的公网,个人建议是,可以ping一些没有禁止ping的公共DNS服务器,比如114.114.114.114和8.8.8.8的:
这样之后,基本上就可以确定网络是没有问题的了。当然,这里并没有提到出口放置防火墙的情况,实际上,思路是一致的,但是,你需要考虑的是,你的访问数据有没有被防火墙给过滤掉,是数据出去的时候过滤了,还是数据回来的时候过滤了?由于还要涉及到防火墙的设置,这里就不再提及了,只是仍要注意这一点就是了。
3.5测试DNS的通畅情况,可以ping网站
如题,可以ping网站,看有没有回显IP,至于通不通是另外一回事,只要可以回显IP,那么DNS就没有问题了,不过这里仍然要说一下nslookup这个命令,这是一个非常好用的命令,我平常自己在网络排错时,基本上都会用到:
当然也可以像下面这样使用:
使用nslookup命令,作用有二:
1.帮你测试你设置的DNS服务器有没有问题
2.在不考虑DNS服务器是否智能的前提下,你可以根据回显IP速度的快慢来大致判断DNS服务器的优劣情况
所以可以充分利用nslookup命令了。
最后重要说明
其实基本上,一个相对完整的网络排错过程就应该如上面所说的了,不过,是基本上的,因为上面的讲解,都几乎是假定你是没有权限进入机房查看网络设备的情况的。
事实上,你是根本不需要照搬来进行上面的全部步骤的,在实际排错的过程中,可能你用到的只是其中的一小部分而已,毕竟,如果每次都这样下来,没有谁是不会疯掉的,因为一些很简单的问题也要这样折腾,那就是太浪费时间了!但是,上面的方法,只是提出一种网络排错的思路,希望按照这个思路可以判断出网络的问题出现在哪里,至于如何去解决,这中间真的又涉及到太多太多的经验问题。其实整个下来,个人觉得,最重要的仍然不是技术本身,而是在网络排错过程当中的一个思路,思路决定出路,这可以让自己在网络排错的过程中时刻保持清醒的头脑,这一点很重要。