背景
CentOS7 开始,网卡名称变为随机值,用起来非常麻烦
在生产环境,网络地址一般配置为静态,网卡名称也要去一致
本文记录手动修改名称的一种方式
基于原版CentOS 7.3.1611
目标
以eno16777736为例,修改为eth0
1. 修改ifcfg-eno16777736
| 1
 | vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
 | 
| 12
 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. 文件重命名
| 12
 
 | cd /etc/sysconfig/network-scripts/mv ifcfg-eno16777736 ifcfg-eth0
 
 | 
3. 修改grub
添加net.ifnames=0 biosdevname=0两个参数
| 12
 
 | - 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. 让配置生效
这里根据引导类型的不同,会有两种命令,都执行即可
| 12
 
 | grub2-mkconfig -o /boot/grub2/grub.cfggrub2-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. 重启