引言
CentOS7.x 之前基于传统的命名方式如:eth1,eth0....
CentOS7.x 提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名是全自动的、可预知的,缺点是比eth0、wlan0更难读。比如enp5s0,ensxx等等。以下内容主要做个人记录用,大佬们请绕过。^ _ ^
环境
VMware Workstation 15
CentOS 7.6
网卡命名的策略
systemd对网络设备的命名方式
规则1:如果Firmware或者BIOS提供的设备索引信息可用就用命名。比如eno1。否则使用规则2
规则2:如果Firmware或Bios的PCI-E扩展插槽可用就用此命名。比如ens1,否则使用规则3
规则3:如果硬件接口的位置信息可用就用此命名。比如enp2s0
规则4:根据MAC地址命名,比如enx7d3e9f。默认不开启。
规则5:上述均不可用时回归传统命名方式
上面的所有命名规则需要依赖于一个安装包:biosdevname
网卡的命名规则
1.前两个字符
en 以太网 Ethernet
wl 无线局域网 WLAN
ww 无线广域网 WWAN
2.第三个字符的含义
o 集成设备索引号
s 扩展槽的索引号
x s 基于MAC进行命名
p s PCI扩展总线
回归传统命名
1.编辑内核参数
在GRUB_CMDLINE_LINUX中加入net.ifnames=0即可
[root@localhost ~]# vim /etc/sysconfig/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
修改为:
GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 rhgb quiet"
2.为grub2生成配置文件
编辑完grub配置文件以后不会立即生效,需要生成配置文件。
[root@localhost ~]# grub2-mkconfig -o /etc/grub2.cfg
3.操作系统重启
[root@localhost ~]# reboot
网卡配置
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
默认配置项如下:
TYPE=Ethernet # 网卡类型:为以太网
PROXY_METHOD=none # 代理方式:关闭状态
BROWSER_ONLY=no # 只是浏览器:否
BOOTPROTO=dhcp # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]
DEFROUTE=yes # 默认路由:是, 不明白的可以百度关键词 `默认路由`
IPV4_FAILURE_FATAL=no # 是不开启IPV4致命错误检测:否
IPV6INIT=yes # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF=yes # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE=yes # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_FAILURE_FATAL=no # 是不开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
NAME=ens33 # 网卡物理设备名称
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698 # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
DEVICE=ens33 # 网卡设备名称, 必须和 `NAME` 值一样
ONBOOT=no # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes`
修改两个配置项
ONBOOT=no 修改为 ONBOOT=yes
BOOTPROTO=dhcp 修改为 BOOTPROTO=static
新增如下配置:
IPADDR=192.168.10.13 #IP地址
PREFIX=24 #掩码位数
GATEWAY=192.168.10.2 #网关
DNS1=114.114.114.114 #DNS服务器地址
DNS2=8.8.8.8