以下是CentOS 7系统中固定网卡名称和MAC地址的详细操作流程,确保ip a或ifconfig显示修改后的结果:
🔧 一、固定网卡名称
⚙️ 方法1:通过udev规则绑定(推荐)
-
查看当前网卡信息
ip link show # 记录需固定的网卡名称(如`ens33`)及其MAC地址(如`00:11:22:33:44:55`) -
创建udev规则文件
sudo vi /etc/udev/rules.d/70-persistent-net.rules添加规则(替换MAC和自定义名称如
eth0):SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:11:22:33:44:55", NAME="eth0"多网卡需重复添加规则。
-
生效规则并更新配置
sudo udevadm control --reload-rules sudo udevadm trigger # 重命名网络配置文件 sudo mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0 sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内容:
DEVICE=eth0 NAME=eth0 HWADDR=00:11:22:33:44:55 # 确保MAC一致 -
重启系统或网络服务
sudo systemctl restart NetworkManager # 或重启系统
⚙️ 方法2:禁用可预测命名规则(恢复ethX)
-
修改GRUB配置
sudo vi /etc/default/grub在
GRUB_CMDLINE_LINUX行追加:net.ifnames=0 biosdevname=0 -
更新GRUB并重启
sudo grub2-mkconfig -o /boot/grub2/grub.cfg sudo reboot重启后网卡名称将变为
eth0格式。
🔒 二、固定MAC地址(永久生效)
-
编辑网卡配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0修改或添加字段:
HWADDR=00:AA:BB:CC:DD:EE # 新MAC地址 -
重启网络服务
sudo systemctl restart network若使用NetworkManager:
sudo systemctl restart NetworkManager
✅ 三、验证配置
-
检查网卡名称与MAC
ip link show eth0 # 输出应包含新名称和MAC示例输出:
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:AA:BB:CC:DD:EE brd ff:ff:ff:ff:ff:ff -
测试网络连通性
ping 8.8.8.8 # 确保网络功能正常
⚠️ 四、注意事项
-
特殊场景处理
- 多网卡竞争:若板载网卡(千兆)先于PCIe网卡(万兆)启动,禁用低速网卡驱动:
echo "blacklist igb" | sudo tee /etc/modprobe.d/blacklist.conf sudo sed -i 's/^GRUB_CMDLINE_LINUX="/&rdblacklist=igb /' /etc/default/grub sudo grub2-mkconfig -o /boot/grub2/grub.cfg - 虚拟机克隆:删除旧MAC规则文件
/etc/udev/rules.d/70-persistent-net.rules,避免冲突。
- 多网卡竞争:若板载网卡(千兆)先于PCIe网卡(万兆)启动,禁用低速网卡驱动:
-
操作风险
- 修改前备份配置文件(如
ifcfg-eth0、grub.cfg)。 - MAC地址格式需为
XX:XX:XX:XX:XX:XX(字母大小写不敏感)。
- 修改前备份配置文件(如
💎 总结
-
固定名称:优先通过
udev规则绑定MAC与自定义名称(如eth0),同步更新配置文件。 -
固定MAC:在
ifcfg-ethX中设置HWADDR字段并重启网络服务。 -
生效关键:修改后必须重启网络服务或系统,并通过
ip link验证结果。
命令速查表
# 生成udev规则模板
echo 'SUBSYSTEM=="net", ATTR{address}=="00:11:22:33:44:55", NAME="eth0"' | sudo tee /etc/udev/rules.d/70-persistent-net.rules
# 永久修改MAC
sudo sed -i 's/^HWADDR=.*/HWADDR=00:AA:BB:CC:DD:EE/' /etc/sysconfig/network-scripts/ifcfg-eth0
浙公网安备 33010602011771号