我有一个恼人的问题,每次我重新启动 CentOS7.3 时,我的界面名称都会更改(全部)。以下是我使用 CentOS7.3 的方法:
主机:CentOS7.0
虚拟机:CentOS7.3(最近更新,通过kvm运行)
这是背景。我最近通过yum update
(通过 ISO 离线升级)将我的具有 CentOS7.0 的虚拟机更新为 CentOS7.3 。一切都在 CentOS7.0 中运行,我在/usr/lib/udev/rules.d
.但是当我更新到CentOS7.3时,问题就开始了。每次重新启动虚拟机时,接口名称都会从 ethX 更改为 lanX。每次重新启动(软重新启动/硬重新启动)时都会发生这种情况。我在 RedHat 中发现了一些文章说参考这篇文章。有点类似于我的问题,但不完全相同,只是继续尝试修复,但问题仍然存在。每次重新启动时,接口名称仍从 ethX 更改为 lanX。
我试图找出问题并得出结论NetworkManager
。我所做的是NM_CONTROLLED
在每个字段上添加一个字段ifcfg-ethX
并设置为no
,它解决了问题。但我需要它由 NetworkManager 管理。
CentOS7.3中NetworkManager有问题吗?
附加信息:NetworkManager-1.4.0-12 ← 这是我的 NM 版本
更新1
在尝试了@Sagar的答案后,它在一定程度上清除了一些问题,但没有解决问题。每次重新启动时界面名称仍会更改。但它确实指出了我一致的网络设备命名其中它告诉您红帽命名方案的详细信息。不过,正如 @Sagar 所说,您需要将其放在net.ifnames=0 biosdevname=0
内核命令行上才能恢复到旧的命名约定,这是有道理的。正如那篇文章中提到的,RHEL 正在实施一些新的名称方案。但我似乎仍然无法恢复到旧的命名方案。关于命名约定还有更多信息吗?
答案1
尝试这个文章。这可能会帮助您将接口设置为旧的本机名称,就像 RHEL/CentOS 7 之前一样。
要恢复旧的命名约定,您需要编辑 /etc/default/grub 文件并添加 net.ifnames=0 biosdevname=0在 GRUB_CMDLINE_LINUX 变量的末尾:
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.keymap=us crashkernel=auto rd.lvm.lv=centos/root vconsole.font=latarcyrheb-sun16 rhgb 安静 net.ifnames=0 biosdevname=0"
然后,测试新配置,看看是否有错误:
# grub2-mkconfig
如果一切正常,请更新 grub2 配置:
# grub2-mkconfig -o /boot/grub2/grub.cfg
一旦网络启动并且接口名称稳定,不要忘记将 ifcfg-* 文件重命名为适当的名称。