首先确认网卡是否被系统物理识别,这是排查驱动问题的前提。
lspci | grep -i network命令,查看输出中是否有网卡设备信息(如“Ethernet controller”“Network adapter”);若未列出,可能是网卡未插紧、PCIe插槽故障或BIOS中禁用了网卡(需进入BIOS检查“Onboard LAN”选项是否开启)。lsusb | grep -i network命令,检查是否有USB网卡设备;若未识别,尝试更换USB端口或网线,排除硬件连接问题。确认网卡驱动是否已正确加载到内核中,是驱动故障的核心排查步骤。
lsmod | grep <driver_name>(如e1000、r8169、rtl8168),若输出为空,说明驱动未加载。sudo modprobe <driver_name>尝试加载;加载成功后再次执行lsmod确认模块是否在列表中。modinfo <driver_name>,检查驱动是否支持当前网卡型号(如“alias”字段是否包含网卡设备ID);若驱动不存在,需安装对应驱动。通过系统日志获取驱动加载过程中的错误信息,帮助精准定位问题。
使用dmesg | grep -i <driver_name>或dmesg | grep -i eth0(eth0为网卡接口名,可通过ip a查看),查看是否有如下常见错误:
lspci -k或lsusb -v)。驱动与内核版本不匹配是常见故障原因,需确保驱动兼容当前内核。
uname -r查看内核版本;.deb或.rpm格式,避免手动编译);sudo apt-get install linux-headers-$(uname -r)安装内核头文件,再安装驱动包;sudo yum install kmod-<driver_name>安装驱动模块;sudo modprobe -r <old_driver>卸载旧驱动,再用sudo modprobe <new_driver>加载新驱动。配置错误可能导致网卡无法正常工作,即使驱动加载成功也需检查配置。
cat /etc/network/interfaces;cat /etc/sysconfig/network-scripts/ifcfg-eth0(eth0为接口名);BOOTPROTO=static # 静态IP模式
IPADDR=192.168.1.100 # 正确的IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关地址
DNS1=8.8.8.8 # DNS服务器
ONBOOT=yes # 开机自动启用接口
sudo systemctl restart NetworkManager(或sudo service network restart)重启服务,使配置生效。驱动和配置修复后,需验证网络是否恢复正常。
ping 192.168.1.1(网关地址)或ping <同一局域网内其他设备IP>,若能ping通,说明网卡驱动及网络配置正常;ping google.com,若能ping通,说明外网连接正常;若无法ping通,需检查防火墙设置(如sudo systemctl stop firewalld临时关闭防火墙,验证是否为防火墙拦截)。若上述步骤均无法解决问题,可能是网卡硬件故障。