centos网卡驱动配置技巧
导读:CentOS 网卡驱动配置技巧 一 快速定位与准备 确认网卡型号与驱动状态:使用命令查看设备与内核识别情况,例如:lspci | grep -i ethernet、lspci | grep -i wireless、ip link、lsmo...
CentOS 网卡驱动配置技巧
一 快速定位与准备
- 确认网卡型号与驱动状态:使用命令查看设备与内核识别情况,例如:
lspci | grep -i ethernet、lspci | grep -i wireless、ip link、lsmod | grep < 驱动名>、dmesg | tail。这些信息能快速判断是“未识别设备”“驱动未加载”还是“已加载但链路不通”。 - 准备编译环境:安装与当前运行内核匹配的内核头文件/开发包与编译工具,例如:
yum install -y kernel-headers kernel-devel gcc make。编译驱动时必须保证“内核版本完全一致”,可用uname -r核对版本后再安装对应kernel-devel包。 - 驱动获取路径:优先查询发行方或厂商仓库;若为Intel有线网卡,可在 Intel 下载中心获取最新 e1000e 驱动;若为Realtek RTL8111/8168 常见场景,可使用 r8168 官方驱动源码编译。无线网卡(如部分 Broadcom 型号)在 EL7 上常需额外步骤与第三方驱动支持。
二 编译安装通用流程
- 源码编译三步走:解压驱动包,进入源码目录,执行
make编译,随后make install安装(部分驱动提供autorun.sh可一键执行)。 - 加载与持久化:使用
modprobe < 驱动名>加载模块,执行depmod -a更新依赖;如需开机自动加载,可将该模块加入/etc/modules-load.d/*.conf或在相应发行版的模块配置中设置。 - 验证:通过
lsmod | grep < 驱动名>与dmesg | tail确认模块已加载且无报错,再用ip link查看网卡是否 up。
三 常见故障与处理
- 驱动版本不匹配或编译失败:多因内核更新后旧驱动不兼容,或缺少
kernel-devel/gcc。解决思路是安装匹配当前uname -r的开发包,获取对应版本驱动并重新编译;若modprobe失败,优先查看dmesg输出定位问题。 - Secure Boot 拦截第三方驱动:在启用UEFI Secure Boot的机器上,未签名模块会被拒绝加载,典型报错为“Required key not available”。可在 BIOS 中关闭EFI_SECURE_BOOT_SIG_ENFORCE或按需为模块签名后再加载。
- 系统更新后驱动失效:内核升级常导致第三方驱动需重编译。保留驱动源码目录,更新后重新
make install并加载模块即可恢复。 - 无线网卡不受支持:部分 Broadcom(如 BCM4311/4312/4313/4321/4322/43224/43225/43227/43228 等)在 EL7 上默认不支持,需安装
kernel-headers、kernel-devel、gcc等依赖后,下载并编译对应驱动,再modprobe载入并配置开机加载。
四 配置与管理要点
- 接口命名与配置文件:传统 ifcfg 文件位于
/etc/sysconfig/network-scripts/ifcfg-< name>,关键项包括DEVICE、BOOTPROTO(如dhcp或static)、ONBOOT=yes等;修改后使用systemctl restart network(或发行版对应网络服务)使配置生效。 - 双网卡与路由转发:两张网卡分别作为内/外网时,注意仅在外网接口所在设备上设置默认网关;在
/etc/sysctl.conf中开启转发:net.ipv4.ip_forward = 1;用 firewalld 放行转发:firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i < 内网> -o < 外网> -j ACCEPT与反向规则,最后firewall-cmd --reload。 - 临时与持久配置:临时调试可用
ifconfig < iface> < IP> netmask < 掩码> up或ip addr add < IP> /< 掩码> dev < iface>;持久化仍建议写入 ifcfg 文件并重启网络服务。
五 场景化命令清单
-
Intel 有线网卡(如 I219-LM,驱动 e1000e)
- 确认设备:
lspci | grep -i ethernet - 安装编译依赖:
yum install -y kernel-headers-$(uname -r) kernel-devel-$(uname -r) gcc make - 编译安装:
tar xzf e1000e-< ver> .tar.gz & & cd e1000e-< ver> /src & & make & & make install - 加载与验证:
modprobe e1000e & & lsmod | grep e1000e & & dmesg | tail - 配置 ifcfg 并启用:
echo -e 'DEVICE=eth0\nBOOTPROTO=dhcp\nONBOOT=yes' > /etc/sysconfig/network-scripts/ifcfg-eth0 & & systemctl restart network - 如遇 Secure Boot 报错:进入 BIOS 关闭EFI_SECURE_BOOT_SIG_ENFORCE后重启。
- 确认设备:
-
Realtek RTL8111/8168(驱动 r8168)
- 确认设备:
lspci | grep -i ethernet(应见到 RTL8111/8168) - 安装依赖:
yum install -y gcc make kernel-devel - 编译安装:
tar -xjf r8168-< ver> .tar.bz2 & & cd r8168-< ver> & & ./autorun.sh(或make & & make install) - 加载与验证:
modprobe r8168 & & lsmod | grep r8168 & & dmesg | tail - 配置 ifcfg 并启用:
echo -e 'DEVICE=eth0\nBOOTPROTO=dhcp\nONBOOT=yes' > /etc/sysconfig/network-scripts/ifcfg-eth0 & & systemctl restart network
- 确认设备:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos网卡驱动配置技巧
本文地址: https://pptw.com/jishu/754386.html
