Linux下网络故障诊断


1.网卡连接;
诊断网卡是否有物理故障(接口失效,网卡失效,主板插槽失效等)

命令: ifconfig -a/s (使用的命令选项a或者s,下同...)

2.查询内核启动时有关网卡信息:

dmesg | grep eth
出现类似eth0:link up的提示信息,表示网卡检测成功;

lspci列出Linux系统检测到的所有pci设备,若是pci网卡可以看到;

ethtool eth0
出现Link detected: yes表明网卡连接正常;

3.网卡驱动程序
在/lib/moduels中找到网卡驱动模块;
首先在配置文件/etc/modprobe.conf文件中查看是否有网卡模块的信息;
例如出现:alias eth0 pcnet32 表明以太网卡接口eth0使用pcnet32的模块
lsmod | grep pcnet32 查看pcnet32的模块工作情况
modinfo 查看模块信息

4.诊断网络层的问题

ping,尽量使用远程主机的ip地址,不要使用域名,避免dns解析失败的影响;

route -n 或者 netstat -r 显示路由表,

arp -n/d/a 命令解决局域网本机ARP缓存中网关ip的MAC地址错误

5.应用层问题

netstat -anp | grep 端口号 监视端口号开放情况

若怀疑是防火墙的问题,使用iptable -F命令清除防火墙的所有规则,或者
暂停防火墙的使用:/etc/init.d/iptables stop

6.注意selinux的影响