linux学习,网络故障排查

.当linux操作系统产生网络故障时,应先从硬件到软件/,
1,检查网线、网卡。
到机房里检查网线两端是否都亮灯,普通服务器的话应该是绿灯常亮为正常,交换机绿灯闪烁表示正在传输数据。
也可以通过命令ifconfig eth0 / ethtool eth0 来查看某一网卡的链路是否物理连通。

2.确定网线是通的之后,再看物理网卡。
ifconfig可以看到已成功加载的网卡,用ethtool -i ethX可以看到网卡驱动。lspci可以看到所有连接到pci总线的设备,lsmod显示所有已加载的模块, 加载成功的模块也会在/proc/modules中显示。一般情况下,成功加载网卡后,用ifconfig就可以看了。如果此时找不到网卡,那么应该查看物理网卡有没有连接到pci总线上,lspci检测不到的话很有可能就是网卡坏了。还有一种情况是没有加载网卡模块,先去lspci里找到对应厂商和型号:Ethernet Controller,再用modprobe尝试加载正确的模块,比如modprobe 3c509。如果出现错误,说明该模块不存在。这时候你应该找到正确的模块并且重新编译。

3.网卡物理层没有问题之后,再看网卡配置。用ifconfig就可以看到ip、掩码等等,永久修改网卡信息在/etc/sysconfig/network-scripts/ifcfg-ethX(有些linux发行版不一定是这个文件名,但路径多差不多。它上一层中的network文件是修改hostname的),这个文件也是放入DNS的正确地方。修改之后重启network。

4.检查自身路由表是否正确。用route -n查看内核路由表,通过route命令查看内核路由,检验具体的网卡是否连接到目标网路的路由,之后就可以尝试ping 网关,排查与网关之间的连接。如果无法ping通网关,可能是网关限制了ICMP数据包,或者交换机设置的问题。一个很常见的问题:两块网卡分别提供内网和外网服务,如果默认网关是内网网卡,那么外网服务是访问不到的。这时需要删除再添加默认网关。用route delete/add default gw 命令。
现在自身问题已经检查了一遍,看全局。
5.首先看DNS,在/etc/resolve.conf可看到指定域名服务器,但是这里是不能修改的这个文件又networkManager自动产生,修改要去etc/sysconfig/network-scripts/ifcfg-ethX。
光看是没有用的,nslookup可以用来诊断DNS服务器。简单使用:

server是本机所指向的DNS服务器地址,大家可以把自己的DNS地址换成114.114.114.114试一试。
6.如果DNS也没有问题,接下来就要检查是否可以正常路由到某一台主机,或者说当连接不到某一台远端主机时,应该如何追踪路由。traceroute 是用来跟踪从发出数据包的主机到目标主机之间所经过的网关的工具。
参数选项:
-i 指定网络接口,对于多个网络接口有用。比如 -i eth1 或-i ppp1等;
-m 把在外发探测试包中所用的最大生存期设置为max-ttl次转发,默认值为30次;
-n 显示IP地址,不查主机名。当DNS不起作用时常用到这个参数;也可以在检查时排除DNS的问题。

记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间。星号表示防火墙封掉了ICMP的返回信息。大家感兴趣可以挨个百度下显示的ip,比如我用的是世纪互联提供的公共DNS(114.114.114.114),那么上图中211.99.171.25一查就是世纪互联的网关。
6.接下来要检查的是远端主机的服务端口是否打开。可以用telnet和nmap来检查,没有这两个工具的话自行yum安装。比如我们要看下百度的80端口是否打开了:

状态STATE是open表示开启,如果是filtered表示被防火墙过滤了,大家可以试下百度的22端口,肯定是filtered状态。
也可以查看自身的端口有没有打开,不多举例了。自身端口用的比较多的命令是netstat。

7.如果网络还有问题的话就要检查iptables策略和SELinux了。定位问题前最好将SELinux关了,用iptables -L可查看iptables的规则。

原文地址:http://blog.51cto.com/liushuai/2133916

时间: 2024-12-12 16:54:38

linux学习,网络故障排查的相关文章

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程 第一课 Linux运维经验分享与思路 1.一般把主机名,写到hosts下    127.0.0.1    hostname,因为很多应用要解析到本地.oracle没有这个解析可能启动不了. 2.注释掉UUID以及MAC地址,需要绑定网卡的时候,这个可能会有影响. 3.磁盘满了无法启动,  var下木有空间,无法创创建PID等文件,导致文件无法启动,按e   进入single  然后b  重启进入单用户模式. 4.ssh登陆系

golang 服务诡异499、504网络故障排查

事故经过 排查 总结 事故经过 11-01 12:00 中午午饭期间,手机突然收到业务网关非200异常报警,平时也会有一些少量499或者网络抖动问题触发报警,但是很快就会恢复(目前配置的报警阈值是5%,阈值跟当时的采样窗口qps有直接关系). 报警当时非200占比已经过10%并且在持续升高,根据历史规律应该很快就会恢复,我们稍微观察了几分钟(一边吃着很香的饺子一边看着手机),但是过了几分钟故障没有恢复而且占比升高了突破50%,故障逐渐升级(故障如果不在固定时间内解决会逐渐升级,故障群每次升级都会

Linux运维故障排查思路

linux系统故障 网络问题 linux系统无响应 linux系统无法启动 linux系统故障处理思路 1.重视报错信息,一般情况下此提示基本定位了问题的所在 2.查阅日志文件,系统日志和应用日志 3.分析.定位问题 4.动手解决 网络问题处理思路 1.网络硬件问题.网线.网卡.路由器.交换机等是否正常工作. 2.网卡驱动是否正常加载.网卡ip设置是否正确,系统路由是否正确. 3.检查局域网之间的通信是否正常. 4.检查dns是否设定正确.可从/etc/resolv.conf./etc/host

Linux 网络故障排查

1.第一步是要确认网卡本身是否工作正常?利用ping工具可以确认这点.输入ping 127.0.0.1 ,然后看是否正常ping 通? 这里的127.0.0.1 被称作主机的回环接口,是TCP/IP协议栈正常工作的前提.如果ping 不通,一般可以证实本机TCP/IP协议栈有问题,自然就无法连接到网络了.不过出现这种现象的概率比较低. 2.第二步是要确认网卡是否出现了物理或驱动故障,使用ping 本机IP 地址的方式,如果能ping 通,则说明本地设备和驱动都正常. 3.第三步摇确认是否能pin

记某校园无线网络故障排查

[问题描述]:某高校无线网络发射两个信号,一个为TEACHER,另一个为STUDENT,节前部署试运行阶段一切正常,节后学生返校开学,就开始有部分学生反映连接STUDENT信号不能上网,具体表现为,无线信号能连接上,但是无线终端(包括手机和笔记本)获取不到地址,直接分配169.254.175.149:而连接TEACHER信号的则一切正常.[问题排查]: 1.综合这几天故障申报的时间观察来看, 没有固定的时间段,基本上全天都会有几率出现故障现象:       2.排查TEACHER和STUDENT

一次误操作引起的linux系统网络故障

1.故障描述 接到用户报障,生产某系统无法访问.同事接到报障后立即排查,经测试,系统确实无法访问,并且无法ping通服务器. 2.故障处理 由于客户端无法ping通服务器,需要进入机房查看.经查看,服务器硬件无报警,系统无重启.登录系统使用ifconfig命令查看,IP丢失(eth0不存在),紧接打开网卡配置目录/etc/sysconfig/network-scripts,发现网卡文件ifcfg-eth0丢失,只存在之前备份的ifcfg-eth0.bak文件和ifcfg-peth0文件.根据先抢

配置IP和网络故障排查

1:nat模式和桥接模式的区别 桥接:虚拟机和主机一个网段,好处:设置简单,可以访问局域网其他计算机和外网. 缺点:占用一个外网ip地址 nat:使用的是vmnet8网卡,能和主机外网通信,不能和局域网其他的主机通信. 2:网卡配置文件目录 vi /etc/sysconfig/network-scripts/ifcfg-eth0  路径 dhclient       自动获取ip的命令 需要修改的地方: BOOTPPROTO=static       是否自动获取IP (none static(

一次无线网络故障排查

用户发来邮件说XX楼4楼无线断网,用户能连上无线,可是不能上网,部分用户能上网不过也不太稳定.由于休假,不能出现场,只能远程连上去看看到底发生了什么.以下是故障排除过程,仅供参考:1.telnet到AP连接的交换机上,通过show logg查看系统日志,发现有5个连接AP的接口出现up.down的现象,并且现象反复.使用show mac address命令查看通过上图可以看到五个接口对应的AP的MAC地址难道是接口或是线缆有问题?不过5个同时出现问题的可能性不太大,如果真是,那么只能说有中大奖的

记一次linux Docker网络故障排除经历

背景: 之前做了一个项目,需要在容器内访问宿主机提供的Redis 服务(这是一个比较常见的应用场景哈), 常规方案: ①   主机网络(docker run --network=host): 完全应用主机网络堆栈,在容器内localhost就是指向宿主机 ②   网桥网络(docker run --network=bridge):  这也是docker容器默认的网络通信模式,容器内localhost 指向的是容器自身,不能使用 localhost 访问宿主机上localhost:6379承载的R