本文共 1163 字,大约阅读时间需要 3 分钟。
从centos 7 起,可预见的网卡命名规则取代了传统的命名规则。这一规则,接口名称被自动基于固件,拓扑结构和位置来确定。在centos 7上,即使添加或移除网络设备,接口名称仍然保持固定,无需生新枚举,和坏掉的硬件可以无缝替换。
首先来了解一下以下内容:
(1)网卡命名机制
systemd对网络设备的命名方式:
1.如果firmware或bios为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名; 比如:en01
2.如果firmware或bios为pci-e扩展槽所提供的索引信息可用,且可预测则根据此索引进行命名; 比如:ens1
3.如果硬件接口的特理位置信息可用,则根据此信息进行命名,比如enp2s0
4.如果用户显式启动,则可根据mac地址进行命名,比如enx2387a1dc56
5.以上都不可时,则使用传统命名机制
注意:以上命名机制中,有的需要biosdevname程序的参与;
(2)名称组成格式
en:ethernet
wl: wlan
ww: wwan
名称类型:
o<index>:集成设备的设备索引号
s<slot>:扩展槽的索引号
x<mac>:基于mac地址的命名
p<bus>s<slot>:enp2s1
(3)网卡设备的命名过程:
第一步:
udev,辅助工作程序/lib/udev/rename_device,/usr/lib/udev/rules.d/60-net.rules
第二步:
biosdevname 根据/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
回归传统命名方式:
可以在系统安装启动时传递内核参数"net.ifnames=0 biosdevname=0".
或者
vim /etc/default/grub 加入"net.ifnames=0 biosdevname=0" 到GRUB_CMDLINE_LINUX
保存退出
运行命令grub2-mkconfig-o /boot/grub2/grub.cfg来重新生成grub配置并更新内核参数.
重启系统
ifconfig 已经能看到网卡名变成传统名称eth0了。
修改配置文件
vim /etc/syconfig/network-scripts/ifcfg-en33...
NAME\DEVICE 都改成eth0
保存退出
mv ifcfg-ens33 ifcfg-eth0
本文转自limingyu0312 51CTO博客,原文链接:http://blog.51cto.com/limingyu/1947945,如需转载请自行联系原作者