Rocky Linux 9 网卡改名及静态IP地址配置完整步骤

一、准备工作:记录网卡核心信息(先明确基础数据)

操作命令

bash 复制代码
# 查看当前网卡名、MAC地址、IP配置(关键信息全量输出)
ip a

操作原因

  1. 确认当前网卡名 :确保要修改的目标是正确的网卡(比如当前是 ens160,避免误改其他网卡);
  2. 记录MAC地址 :后续 udev 规则需要通过MAC绑定网卡名,必须和实际一致(示例中MAC为 00:0c:29:19:08:da);
  3. 备份现有IP配置:如果之前是静态IP,需记录IP、网关、DNS,避免后续配置丢失。

二、步骤1:修改 NetworkManager 配置文件(核心网络配置)

操作命令

bash 复制代码
# 1. 进入NetworkManager配置目录(Rocky9默认网络配置存放路径)
cd /etc/NetworkManager/system-connections/

# 2. 重命名旧网卡配置文件(跟随新网卡名,避免配置冲突)
mv ens160.nmconnection ens33.nmconnection

# 3. 编辑新配置文件,指定新网卡名和静态IP
vi ens33.nmconnection

配置文件内容(关键项修改,其他保留默认)

ini 复制代码
[connection]
id=ens33                  # 连接标识名,建议和网卡名一致(便于管理)
interface-name=ens33      # 核心:绑定到新网卡名ens33(必须和目标名一致)
type=ethernet             # 网络类型:以太网(固定值)

[ipv4]
method=manual             # 网络模式:手动配置静态IP(禁用DHCP,避免多地址)
address1=10.0.0.12/24     # 静态IP+子网掩码(格式:IP/掩码位,按需修改)
gateway=10.0.0.2          # 网关IP(和你的路由器/网关一致,否则无法上网)
dns=10.0.0.2;             # DNS服务器(分号分隔多个,如8.8.8.8;114.114.114.114)

[ipv6]
method=auto               # IPv6模式(不需要可改为disabled,避免冗余)

补充权限配置(必做!)

bash 复制代码
# 设置配置文件权限为600(仅root可读可写)
chmod 600 ens33.nmconnection

操作原因

  1. 配置文件路径选择 :Rocky9 放弃了传统的 /etc/sysconfig/network-scripts/,改用 NetworkManager 统一管理,配置文件存放在 /etc/NetworkManager/system-connections/,修改这里才能让系统识别新网卡的网络配置;
  2. 文件名重命名 :NetworkManager 会通过文件名关联网卡,旧文件名 ens160.nmconnection 会绑定旧网卡名,重命名后才能和新网卡 ens33 匹配;
  3. interface-name 字段 :强制指定该配置只应用于 ens33 网卡,避免其他网卡误读;
  4. method=manual:禁用DHCP自动获取地址,防止静态IP和动态IP冲突(这是之前出现「两个地址」的核心原因);
  5. 权限设置为600 :NetworkManager 有安全校验,配置文件必须是 600 权限(仅root可读写),否则会被忽略,导致配置失效。

三、步骤2:配置 udev 规则(强制系统识别新网卡名)

操作命令

bash 复制代码
# 创建/编辑udev规则文件(70开头表示规则优先级,确保优先生效)
vi /etc/udev/rules.d/70-persistent-net.rules

写入规则(替换MAC地址为你的实际值)

bash 复制代码
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:19:08:da", NAME="ens33"

操作原因

  1. udev的作用:udev 是Linux系统的设备管理工具,负责设备启动时的命名、驱动绑定等;
  2. 规则逻辑拆解
    • SUBSYSTEM=="net":只对网络设备生效;
    • ACTION=="add":设备被系统识别(启动时)触发;
    • ATTR{address}=="MAC地址":匹配指定MAC地址的网卡(确保只改目标网卡);
    • NAME="ens33":强制将该网卡命名为 ens33(覆盖系统默认命名规则);
  3. 避免改名失效 :如果不配置udev规则,系统可能仍按默认规则(如 ens160)命名,导致网卡名修改失败。

四、步骤3:刷新配置+激活网卡(让修改立即生效)

操作命令

bash 复制代码
# 1. 重新加载udev规则(无需重启系统,让新规则生效)
udevadm control --reload-rules
udevadm trigger

# 2. 重新加载NetworkManager配置(读取修改后的ens33.nmconnection)
nmcli connection reload

# 3. 重启系统(核心!让网卡重新被识别,udev规则生效)
reboot

操作原因

  1. udevadm control --reload-rules:udev 规则修改后不会自动生效,需手动重载,让系统识别新的命名规则;
  2. udevadm trigger:触发udev重新扫描设备,立即应用新规则(避免重启系统);
  3. nmcli connection reload:NetworkManager 不会实时监控配置文件变化,重载后才能读取修改后的静态IP、网卡名绑定等配置;
  4. 重启的核心作用:运行中的网卡处于激活状态(UP),系统为了保证网络稳定,不会允许实时改名;重启后,系统从冷启动重新扫描设备,udev 规则在网卡被识别的第一时间执行命名,NetworkManager 再匹配新网卡名的配置文件,完成 "命名→配置绑定" 的完整流程。

五、步骤4:验证结果(确认配置成功)

操作命令

bash 复制代码
# 1. 查看网卡名和IP地址(核心验证)
ip a

# 2. 验证网络连通性(确认配置可用)
ping 网关IP(如10.0.0.2)  # 测试内网连通
ping 8.8.8.8               # 测试外网连通(可选)
ping www.baidu.com         # 测试DNS解析(可选)

验证标准

  1. ip a 输出中:
    • 网卡名显示为 ens33(无 ens160);
    • 仅保留1个静态IP(如 10.0.0.12/24),无 dynamic 动态地址;
  2. ping 命令能正常通(无丢包或超时),说明网络配置有效。

总结:关键原则

  1. 网卡名修改=「udev规则命名绑定」+「NetworkManager配置匹配」:两者缺一不可,udev负责「系统识别网卡名」,NetworkManager负责「网卡的网络配置(IP/网关/DNS)」;
  2. 权限和缓存是常见坑:配置文件权限必须600,修改后必须重载服务+激活连接,否则容易出现「配置不生效」或「多地址」问题;
  3. 验证是关键 :每一步修改后通过 ip a 验证,避免后续排查麻烦。
相关推荐
Zeku1 小时前
20251125 - 韦东山Linux第三篇笔记【上】
linux·笔记·单片机
企鹅侠客2 小时前
Linux性能调优 详解磁盘工作流程及性能指标
linux·运维·服务器·性能调优
icy、泡芙2 小时前
TF卡---热插拔
linux·驱动开发
企鹅侠客2 小时前
Linux性能调优 再谈磁盘性能指标和进程级IO
linux·运维·服务器·性能调优
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [block][mq-deadline]
linux·笔记·学习
不过普通话一乙不改名3 小时前
Linux 网络收包的进阶之路:从普通 socket 到 AF_XDP 零拷贝
linux·运维·网络
Zeku3 小时前
20251125 - 韦东山Linux第三篇笔记【中】
linux·驱动开发
在路上@Amos3 小时前
Linux 命令行查看 串口hex数据
linux·运维·服务器
人工智能训练3 小时前
Linux 系统核心快捷键表(可打印版)
linux·运维·服务器·人工智能·ubuntu·容器·openeuler