背景:
因业务需求,需要将新创建的redhat7.8服务器的网卡名称修改为ens160,目前服务器的网卡名称是ens192。
一、修改网卡配置信息:
查看当前网卡信息,并获取到网卡到Mac地址
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:a5:ae:09 brd ff:ff:ff:ff:ff:ff
inet 10.15.13.129/24 brd 10.15.0.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::16b9:6674:5ee2:3ec5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
这里获取到的网卡mac地址为:00:50:56:a5:ae:09
切换到网卡配置文件路径下:
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
重命名网卡配置文件,并修改网卡配置内容:
[root@localhost network-scripts]# mv ifcfg-ens192 ifcfg-ens160
[root@localhost network-scripts]# vim ifcfg-ens160
修改的内容如下:
NAME="ens160"
HWADDR="00:50:56:a5:ae:09" #注意加上HWADDR,指定对应网卡
DEVICE="ens160"
注:这里一定要网卡的mac地址,如果不加的话,服务器将运行不起来。
二、修改启动grub配置:
在GRUB_CMDLINE_LINUX所在行的最后加入net.ifnames=0 biosdevname=0参数
[root@localhost network-scripts]# cat /etc/default/grub
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="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
注:增加net.ifnames=0 biosdevname=0参数的作用是禁用操作系统基于硬件生成网卡名称这种规则,来使用传统的网卡名称来命名。
三、添加udev的规则:
redhat系统中如果你想要控制其设备名,而不是让内核以它自己的方式命名,创建,/etc/udev/rules.d/XXX-net.rules规则是必要的!
[root@localhost network-scripts]# cd /etc/udev/rules.d
[root@stcs-harbor-01-new rules.d]# vim 70-persistent-net.rules
#add
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:a5:ae:09", ATTR{type}=="1", KERNEL=="ens*", NAME="ens160"
参数说明:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:a5:ae:09", ATTR{type}=="1", KERNEL=="ens*", NAME="ens160"
1、ATTR{address}==:这里需要填写网卡的mac地址;2、KERNEL=="ens*":需要设置的网卡名称统配名称格式;
3、NAME="ens160":需要设置的网卡具体名称;
四、更新内核参数:
网卡配置都修改完成之后,需要重新生成GRUB配置并更新内核参数
[root@localhost rules.d]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-406bf391c1ec4a8291cf90c2912aac9e
Found initrd image: /boot/initramfs-0-rescue-406bf391c1ec4a8291cf90c2912aac9e.img
done
五、重启redhat服务器:
[root@localhost rules.d]# reboot
等待重启完成之后,执行ip addr查看网卡名称。
[root@localhost rules.d]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:a5:ae:09 brd ff:ff:ff:ff:ff:ff
inet 10.15.0.129/24 brd 10.15.0.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::16b9:6674:5ee2:3ec5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
查看结果可以看到网卡的名称修改为了ens160了,就修改完成了。