0%

CentOS7 中修改网卡名称

背景

CentOS7 开始,网卡名称变为随机值,用起来非常麻烦
在生产环境,网络地址一般配置为静态,网卡名称也要去一致
本文记录手动修改名称的一种方式

基于原版CentOS 7.3.1611

目标

eno16777736为例,修改为eth0

1. 修改ifcfg-eno16777736

1
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
设置
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
- NAME=eno16777736
+ NAME=eth0
- DEVICE=eno16777736
+ DEVICE=eth0
+ HWADDR=1f:1f:1f:1f:1f:1f
IPADDR=10.33.100.100
NETMASK=255.255.255.0
GATEWAY=10.33.100.254
DNS1=8.8.8.8
ONBOOT=yes

这里需要确保 HWADDR 设置,否则后面绑定不到物理网卡上

2. 文件重命名

1
2
cd /etc/sysconfig/network-scripts/
mv ifcfg-eno16777736 ifcfg-eth0

3. 修改grub

1
vi /etc/default/grub

添加net.ifnames=0 biosdevname=0两个参数

1
2
- GRUB_CMDLINE_LINUX="crashkernel=128M rhgb net.ifnames=0 biosdevname=0 quiet"
+ GRUB_CMDLINE_LINUX="crashkernel=128M rhgb net.ifnames=0 biosdevname=0 quiet net.ifnames=0 biosdevname=0"

4. 让配置生效

这里根据引导类型的不同,会有两种命令,都执行即可

1
2
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

5. 修改rules文件

1
vi /usr/lib/udev/rules.d/60-net.rules

删除原有内容,然后添加:

1
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", ATTR{address}=="1f:1f:1f:1f:1f:1f", NAME="eth0"

⚠️mac地址要写正确
多个网卡都要在这里配置

6. 重启

1
reboot now