背景
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
添加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. 重启