ixgbe是Intel针对10G以太网控制器开发的Linux驱动程序,部分新款Intel万兆网卡在默认Linux内核中可能没有自带对应驱动,需要用户手动编译安装才能正常使用网卡功能。不同Linux发行版的编译安装步骤略有差异,但核心流程基本一致。

编译安装前的环境准备
在开始编译之前,需要先确保系统已经安装了必要的编译工具和内核开发包,不同发行版的安装命令有所区别:
CentOS/RHEL系统
执行以下命令安装依赖:
# 安装编译工具链 yum install -y gcc make # 安装内核开发包,需要和当前运行内核版本一致 yum install -y kernel-devel-$(uname -r)
Ubuntu/Debian系统
执行以下命令安装依赖:
# 更新软件源 apt update # 安装编译工具和内核头文件 apt install -y gcc make linux-headers-$(uname -r)
获取ixgbe驱动源码
可以从Intel官方驱动下载页面获取最新版本的ixgbe驱动源码,也可以通过系统包管理器获取。如果选择手动下载,下载完成后会得到后缀为tar.gz的压缩包,执行以下命令解压:
# 解压驱动源码包,假设文件名为ixgbe-5.18.11.tar.gz tar -zxvf ixgbe-5.18.11.tar.gz # 进入解压后的源码目录 cd ixgbe-5.18.11/src
编译ixgbe驱动
进入源码的src目录后,直接执行make命令即可开始编译,编译过程会生成对应的内核模块文件:
# 执行编译命令 make
如果编译过程中出现错误,常见原因包括内核开发包版本和当前运行内核不匹配、缺少必要的编译依赖,需要根据错误提示安装对应的依赖包后重新编译。
安装ixgbe驱动
编译成功后,会生成ixgbe.ko内核模块文件,执行以下命令完成安装:
# 安装编译好的驱动模块 make install
安装完成后,驱动模块会被复制到系统的内核模块目录中,默认路径为/lib/modules/$(uname -r)/kernel/drivers/net/ethernet/intel/ixgbe/。
加载驱动并验证
安装完成后需要手动加载驱动模块,同时可以设置开机自动加载:
临时加载驱动
执行以下命令加载驱动:
# 加载ixgbe驱动模块 modprobe ixgbe
验证驱动是否加载成功
执行以下命令查看驱动加载状态:
# 查看已加载的ixgbe模块 lsmod | grep ixgbe # 查看网卡信息,确认网卡已经被识别 ip link show
如果输出中包含ixgbe相关的模块信息,且网卡设备已经显示,说明驱动加载成功。
设置开机自动加载
为了避免重启后驱动丢失,需要将ixgbe添加到开机自动加载列表:
# 将ixgbe添加到模块加载配置文件 echo "ixgbe" >> /etc/modules-load.d/ixgbe.conf
常见问题解决
- 编译时提示
kernel-devel版本不匹配:需要安装和当前运行内核完全一致的kernel-devel包,可以通过uname -r查看当前内核版本,再安装对应版本的包。 - 加载驱动时提示模块签名错误:部分系统开启了内核模块签名验证,需要关闭验证或者给模块签名,也可以临时设置
modprobe.blacklist=ixgbe参数后重新编译安装。 - 网卡识别后无法获取IP:需要检查网卡配置文件,设置正确的IP获取方式,或者手动配置IP地址。