fedora22永久更改网卡名称

生活
0 字 / 约 0 分钟
2015/10/28

CentOS / RHEL / Fedora 适用,重启不丢失,License 不再折腾。


1. 查看当前网卡名

bash
ifconfig          # 或 ip a
# fedora22永久更改网卡名称

2. 重命名并修改网络脚本

bash
cd /etc/sysconfig/network-scripts/
sudo mv ifcfg-enp7s0 ifcfg-eth0
sudo vi ifcfg-eth0

修改两处

  • 添加:DEVICE="eth0"
  • 修改:NAME="eth0"

示例片段

bash
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. 让内核禁用“可预测命名”

bash
sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX= 末尾追加

bash
biosdevname=0 net.ifnames=0

完整行示例

bash
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 配置

bash
# BIOS 模式
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI 模式
# sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

5. 创建 udev 规则(固定 MAC→eth0)

bash
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. 重启验证

bash
sudo reboot
ip a show eth0

若看到 eth0 且 IP 正常,即永久生效。


7. 一键脚本(可选)

把 2-5 步写成 rename_nic.sh,日后新机直接跑脚本即可。