fedora22永久更改网卡名称
CentOS / RHEL / Fedora 适用,重启不丢失,License 不再折腾。
1. 查看当前网卡名
ifconfig # 或 ip a
# 假设输出网卡为 enp7s0
2. 重命名并修改网络脚本
cd /etc/sysconfig/network-scripts/
sudo mv ifcfg-enp7s0 ifcfg-eth0
sudo vi ifcfg-eth0
修改两处
- 添加:
DEVICE="eth0"
- 修改:
NAME="eth0"
示例片段
HWADDR="B8:70:F4:16:67:44"
DEVICE="eth0"
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eth0"
UUID="151c6834-79ac-415f-9e6c-8babd45a2e19"
ONBOOT="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
3. 让内核禁用“可预测命名”
sudo vi /etc/default/grub
在 GRUB_CMDLINE_LINUX=
末尾追加
biosdevname=0 net.ifnames=0
完整行示例
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora_bogon/root rd.lvm.lv=fedora_bogon/swap rhgb quiet biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
4. 重新生成 GRUB 配置
# BIOS 模式
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI 模式
# sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
5. 创建 udev 规则(固定 MAC→eth0)
sudo vi /etc/udev/rules.d/70-persistent-net.rules
内容(MAC 请替换为实际值)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
ATTR{address}=="b8:70:f4:16:67:44", ATTR{dev_id}=="0x0", \
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
6. 重启验证
sudo reboot
ip a show eth0
若看到 eth0
且 IP 正常,即永久生效。
7. 一键脚本(可选)
把 2-5 步写成 rename_nic.sh
,日后新机直接跑脚本即可。