CentOS7 网卡更名

版权声明:本文为博主原创文章,转载请注明出处。

前言

近日,在尝试将 CentOS 系统从虚拟机迁移安装到物理机时,发现网卡名称发生了变化。(eno1 -> enp0s1)

但系统中所运行的服务应用与网卡名称有所关联(OVSPort),迁移之后出现了故障。

此时,则需要为网卡进行更名操作。

操作过程

  • 修改引导参数

 

1
2
3
vi /etc/default/grub
# 在 GRUB_CMDLINE_LINUX 行加上 net.ifnames=0 biosdevname=0
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
  • 更新引导脚本

 

1
grub2-mkconfig -o /boot/grub2/grub.cfg
  • 修改网卡配置名称

 

1
2
3
4
cd /etc/sysconfig/network-scripts/
vi ifcfg-enp0s1
# ... 将文件中 NAME项 与 DEVICE项 的 enp0s1 修改成 eno1 ...
mv ifcfg-enp0s1 ifcfg-eno1
  • 编辑网卡名称规则

 

1
2
3
4
5
# 如果没有这个文件,创建一个,并复制以下内容进行修改即可。
vi /etc/udev/rules.d/90-eno-pix.rules

# This file was automatically generated on systemd update
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:97:49:cb", NAME="eno1"
  • 重新引导

 

1
reboot

后话

在旧版本的 Ubuntu/CentOS 系统中常会使用 ethX 的网卡名称。而在最新版本的系统中,却变成了类似 enoX、enpXsX 这样的名称。

为何在新版本的系统中改名了呢?原因其实很简单。

传统方式的网卡命名是简单根据网卡发现顺序决定的(如 CentOS6),命名之后会记录在/etc/udev/ruls.d/70-persistent-net文件中,一个 MAC 地址对应一个名称。

当硬件发生改变时(如更换网卡)那么之前所定义的规则便失效了(MAC地址发生改变),从而导致网络配置文件找不到相应网卡,最后网络无法启动。(虚拟机克隆同理)

而新的网卡命名,则是根据固件中固定的拓扑信息为网卡分配名称。

  • enoX:主板 BIOS 内置的网卡
  • ensX:主板 BIOS 内置的 PCI-E 网卡
  • enpXsX:PCI-E 独立网卡
  • ethX:以上均不适用时使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值