当 Linux 操作系统产生网络故障时,应该从系统的硬件及软件、局部和整体等多方面进行检查,下面将从几个方面对于 Linux 操作系统产生网络故障时的解决方案进行详述。
1、检查网线、网卡
到机房里检查网线两端是否都亮灯,普通服务器是绿灯常亮为正常,交换机绿灯闪烁表示正在传输数据。可以通过命令 ethtool ethX 来查看某一网卡的链路是否物理连通。其中,speed 是当前网卡的速度,这是一个千兆网卡;Duplex 显示了当前网络支持全双工;link detected 表示当前网卡和网络的物理连接状态,yes 就是正常。
通常网速和全/半双工状态是主机和网络协议商自动协商的。
2、确定网线是通的之后,再看物理网卡
ifconfig 可以看到已成功加载的网卡,用 ethtool -i ethX 可以看到网卡驱动,lspci 可以看到所有连接到 pci 总线的设备,lsmod 显示所有已加载的模块,加载成功的模块也会在 /proc/modules 中显示。一般情况下,成功加载网卡后,用 ifconfig 就可以看了。如果找不到网卡,那么应该查看物理网卡有没有连接到 pci 总线上,如果 lspci 检测不到的话就可能是网卡坏了。
还有一种情况是没有加载网卡模块,先去 lspci 里找到对应厂商和型号:Ethernet Controller,再用 modprobe 尝试加载正确的模块,比如 modprobe3c509。如果出现错误,说明该模块不存在。这时候应该找到正确的模块并且重新编译。