温馨提示×

网络驱动在CentOS怎么设置

小樊
38
2025-11-22 01:55:19
栏目: 智能运维

CentOS 网络驱动设置与排障指南

一、快速判断与定位

  • 确认网卡是否被识别:执行命令查看以太网控制器型号,例如:lspci | grep -i ethernet。若能看到如 Intel Corporation Ethernet Connection I219-LM 等信息,说明硬件被识别但可能缺少驱动。若完全无输出,优先检查硬件连接与系统镜像兼容性。
  • 查看当前驱动与接口状态:用 ip link show 确认网卡接口名(如 ens33/eth0)是否存在;用 ethtool -i <接口名> 查看已加载的驱动名称与版本(如 driver: e1000e)。
  • 判断驱动是否加载:执行 lsmod | grep <驱动名>(如 e1000e)。如无输出,说明驱动未加载或未安装。

二、安装或更新网卡驱动

  • 安装编译依赖(以 CentOS 7 为例):确保已安装与当前运行内核匹配的 kernel-devel、gcc 等工具,例如:yum install -y kernel-devel gcc
  • 获取官方驱动:前往网卡厂商官网(如 Intel)下载对应型号与内核的驱动源码包(常见为 .tar.gz)。例如 Intel 有线网卡驱动页面:https://downloadcenter.intel.com/zh-cn/download/15817。
  • 编译与安装:解压后进入驱动源码目录(通常位于 src/),执行 makemake install 完成安装。
  • 加载驱动并验证:执行 depmod -a 更新模块依赖,随后 modprobe <驱动名> 加载模块;用 lsmod | grep <驱动名>ethtool -i <接口名> 验证是否加载成功。

三、UEFI Secure Boot 导致驱动无法加载的处理

  • 现象:执行 modprobe <驱动名> 时报错 Required key not available
  • 原因:自 内核 4.4.0-20 起启用 EFI_SECURE_BOOT_SIG_ENFORCE,未签名的第三方驱动会被拒绝加载。
  • 解决:重启进入 BIOS/UEFI,在 Secure Boot 设置中关闭 EFI_SECURE_BOOT_SIG_ENFORCE(或关闭 Secure Boot),保存并重启;随后再次加载驱动。

四、驱动正常后配置网络

  • 使用 ifcfg 文件(传统方式,适用于 CentOS 7):编辑 /etc/sysconfig/network-scripts/ifcfg-<接口名>(如 ifcfg-ens33)。示例(静态 IP):
    DEVICE=ens33
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    使配置生效:systemctl restart network
  • 使用 NetworkManager(推荐):
    • 查看设备与连接:nmcli d
    • 修改连接(将“连接名”替换为实际名称):
      nmcli con mod “连接名” ipv4.addresses 192.168.1.100/24
      nmcli con mod “连接名” ipv4.gateway 192.168.1.1
      nmcli con mod “连接名” ipv4.dns “8.8.8.8,8.8.4.4”
      nmcli con mod “连接名” ipv4.method manual
    • 使配置生效:nmcli con down “连接名” && nmcli con up “连接名”

五、验证与常见问题

  • 验证链路与连通性:
    • 查看接口与状态:ip addr show <接口名>(状态应为 UP
    • 测试网关连通:ping -c 4 <网关IP>
    • 测试外网解析:ping -c 4 8.8.8.8ping -c 4 www.google.com
  • 常见问题速查:
    • 接口不存在或名称不符:用 ip link 确认实际名称(如 ens33/eth0),再编辑对应 ifcfg-* 文件或 nmcli 连接。
    • 驱动加载失败:检查是否安装 kernel-devel/gcc、是否执行 depmod -a,以及是否因 Secure Boot 被拦截(见第三节)。
    • 已加载旧驱动:先 rmmod <旧驱动名>,再 modprobe <新驱动名> 加载新版本。
    • 配置不生效:确认 ONBOOT=yes,并重启网络服务或系统;使用 nmcli 时确保操作的是正确的“连接名”。

0