在配置网卡驱动前,需完成以下基础准备:
sudo -i切换至root用户;cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak);cat /etc/centos-release查看CentOS版本(如7/8/9),确保驱动兼容。使用lspci命令过滤出以太网控制器信息,明确网卡型号:
lspci | grep -i ethernet
示例输出:00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
记录型号中的关键信息(如“Intel Corporation Ethernet Connection (2) I218-V”),用于后续驱动下载。
CentOS官方仓库(如EPEL、Base)包含多数常见网卡驱动(如Intel、Realtek),可直接使用yum安装:
sudo yum update # 更新仓库缓存
sudo yum install e1000e # 以Intel e1000e网卡驱动为例
安装完成后,驱动会自动加载。
若仓库无对应驱动,从网卡制造商官网下载Linux版本驱动(如Intel官网“Downloads”栏目选择“Linux”操作系统)。确保驱动版本与CentOS内核版本匹配(可通过uname -r查看内核版本)。
手动编译驱动前,需安装开发工具链和内核头文件:
sudo yum groupinstall "Development Tools" # 安装gcc、make等工具
sudo yum install kernel-devel kernel-headers # 安装内核头文件
以Intel e1000e网卡驱动为例,步骤如下:
tar -zxvf e1000e-4.2.5.tar.gz # 替换为实际驱动包名
cd e1000e-4.2.5/src # 进入驱动源码目录
make # 编译驱动
sudo make install # 安装驱动到系统目录
sudo modprobe e1000e # 加载驱动(替换为实际模块名,如r8169对应Realtek网卡)
检查驱动是否加载:
lsmod | grep e1000e # 替换为实际模块名
若有输出,说明驱动加载成功。
查看网卡信息:
ethtool -i eth0 # 替换为实际网卡接口名(如ens33)
输出中的“driver”字段应与安装的驱动模块名一致。
测试网络连通性:
ping 192.168.1.1 # 替换为网关或已知可达IP
根据需求编辑网络配置文件(CentOS 7/8/9均适用):
进入配置目录:
cd /etc/sysconfig/network-scripts/
编辑对应接口文件:
vi ifcfg-eth0 # 替换为实际接口名(如ifcfg-ens33)
配置静态IP(示例):
BOOTPROTO=static # 静态IP模式
DEVICE=eth0 # 接口名
ONBOOT=yes # 开机自启
IPADDR=192.168.1.100 # IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关
DNS1=8.8.8.8 # DNS服务器
若需动态获取IP(DHCP),将BOOTPROTO改为dhcp,并删除IPADDR、NETMASK等字段。
重启网络服务:
sudo systemctl restart network # CentOS 7/8
sudo systemctl restart NetworkManager # CentOS 9(部分版本使用NetworkManager)
驱动未加载:
ls /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/intel/e1000e/;sudo modprobe e1000e;dmesg | grep e1000e,定位加载失败原因。网络不通:
ip link show eth0(应为“UP”状态);sudo firewall-cmd --list-all,临时关闭防火墙测试:sudo systemctl stop firewalld。内核更新后驱动失效:
sudo dkms install e1000e/4.2.5(替换为实际模块名和版本);通过以上步骤,可完成CentOS系统网卡驱动的配置与验证。若遇到无法解决的问题,建议参考网卡制造商官方文档或CentOS社区论坛获取针对性支持。