VirtualBox 中的 Headless CentOS 7:编辑/验证 /etc/sysconfig/network-scripts/ifcfg-enp0sN 脚本

VirtualBox 中的 Headless CentOS 7:编辑/验证 /etc/sysconfig/network-scripts/ifcfg-enp0sN 脚本

我有一个非 GUI CentOS 7 linux 在我的 (Windows) 台式计算机上的 VirtualBox 中运行。最近,我们的网络设置遇到了一些问题,导致基于 DHCP 的网络失败;几天来,我的 Linux 机器也遇到了麻烦。在我的挣扎中,我稍微搞乱了那个盒子的配置(用 VirtualBox 网络适配器等进行实验)。

现在,“正常”网络又可以工作了,但是在我的 vbox 中,我突然又遇到了麻烦;时间(过去可以正常工作)比 Windows 机器晚了 6 天。通往重要外部资源的路线也被破坏了——例如,我无法再访问 Github。

显然,网络是由 NetworkManager 管理的:

# LANG=C nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN
connected  full          enabled  enabled  enabled  enabled
# LANG=C nmcli device
DEVICE  TYPE      STATE      CONNECTION
enp0s8  ethernet  connected  Kabelgebundene Verbindung 1

ifconfig命令告诉我实际上已经enp0s8使用了;但信息不匹配。例如,根据ifconfig enp0s8,IP4 地址 ( inet)为192.168.33.199,而文件IPADDR中的值ifcfg-*是不同的过时值。

在我的/etc/sysconfig/network-scripts/目录中,有一些垃圾;在ifcfg-*文件中我有一个ifcfg-Kabelgebundene_Verbindung_1文件(带有NAME="Kabelgebundene Verbindung 1",所以这是引用的脚本);但IP地址等已过时,匹配route-Kabelgebundene_Verbindung_1为空。不过,我有非空route-*文件。

所以我的想法是使用ifconfig enp0s8输出中的信息手动修复这些文件。

首先,我并不完全理解ifcfg-*文件中的信息。有HWADDR价值观,也有(有时,不同的)MACADDR价值观。在(过时的)ifcfg-enp0s3文件中,我同时具有HWADDRMACADDR,并且此处与inMACADDR相同(后者不包含值)。HWADDRifcfg-Kabelgebundene_Verbindung_1MACADDR

ifconfig我希望(" ")的硬件地址ether在所有情况下都是正确的,对吧?

所以,我的计划是:

  • 选择一组脚本(在我的例子中,{ifcfg,route}-Kabelgebundene_Verbindung_1),并丢弃其他脚本(*-lo当然保留 )。
  • ifcfg-*文件中,
    • 设置HWADDRether以下值:ifconfig
    • 设置IPADDRinet以下值:ifconfig

事实证明,我能够使用BOOTPROTO=dhcp而不是IPADDR手动设置(和其他),因为使用相应脚本中的信息找到了 DHCP 服务器(在另一个子网中,叹息......)route-*

我不确定在做类似的事情时是否会使用调整后的脚本ifconfig down enp0s8; ifconfig up enp0s8;因此,在验证我的 root 密码后(确保我能够直接登录到盒子,无需 ssh/PuTTY),我只需重新启动即可,它就工作了。

我还无法解决的问题:

  • 这些UUID值是什么?我有不同的值,可能来自不同的虚拟网络适配器,但我在输出中找不到它们VBoxManage showvminfo "<vm name>"。这只是一个“有根据的猜测”。
  • 测试我的更改的最佳方法是什么?

答案1

在无头服务器上设置/恢复网络的更简单方法可能是使用“nmtui”交互式文本菜单。

$ yum install NetworkManager-tui
$ nmtui

                      ┌───────────────────────────┐
                      │                           │ 
                      │ ┌─────────────┐           │ 
                      │ │ Ethernet  ↑ │ <Add>     │ 
                      │ │   enp4s0  ▒ │           │ 
                      │ │ Bridge    ▒ │ <Edit...> │ 
                      │ │   virbr0  ▮ │           │ 
                      │ │   cni0    ▒ │ <Delete>  │ 
                      │ │   br0     ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ↓ │ <Back>    │ 
                      │ └─────────────┘           │ 
                      │                           │ 
                      └───────────────────────────┘ 

相关内容