在VirtualBox中安装后CentOS没有网络接口


53

我有Ubuntu 12.10,在其上安装了虚拟机,并在其中安装了Centos 6.4 i386。在Ubuntu上,我有:运行3.5.0-17通用内核。

在虚拟机上,我安装了Centos 6.4,一切正常,但是,当我启动到VM机器时,只有环回接口。没有其他的。我试图手动添加ifcfg-eth0文件,但没有任何反应。在VM设置上,我添加了NAT和HostOnly接口,但是每当我启动到Centos时,都只有lo接口。我该怎么办?

Answers:


53

您需要在安装过程中启用网络。您也可以在安装后进行。这是6.x版本中CentOS安装的一项更改,这使很多人(包括我自己)离开。

从CentOS 6.x开始,您可以选择NetworkManager管理网络设置,也可以按照旧的方式进行设置,并使用/etc/sysconfig/network-scripts/ifcfg-eth0文件类型手动设置它们。鉴于这是一个VM,我建议使用NetworkManager

要调用连接编辑器工具,请执行以下操作:

$ nm-connection-editor

您将看到这样的GUI:

                         康纳斯  编辑

在此GUI中,您需要像这样编辑eth0设置:

                         nm#1的ss

                         纳米#2

                         nm#3的ss

没有GUI

如果您尝试在无头服务器上执行此操作,则可以编辑以下文件并重新启动,以使eth0网络设备启动并从DHCP服务器获取IP地址。更改文件中的这两个选项/etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT="yes"
NM_CONTROLLED="no"

参考文献


5
Centos 6.4“未找到nm-connection-editor” ...没有GUI运行。无头服务器。不开心 :(
Mojo

1
“没有GUI”步骤非常有效,非常感谢!
通配符

2
没有GUI的步骤使我有点失望,直到我检查出接下来的几个答案。在CentOS min中,它不是eth0,而是其他东西,因此,请将您的答案更新为ifcfg-XXXX。另外,未列出NM_CONTROLLED,并且由于其他人未指定它,因此我没有添加它,因此必须为默认值。网络现已启​​动并正在运行。如果您还可以更新答案以重定向“ NO GUI”,或者将其放置在GUI答案上方,那将是很好的,因为我怀疑n / w仅在最小发行版中会被禁用,如果在常规发行版中被禁用,那就是有问题,因为这会使很多菜鸟迷惑不解。
killjoy17年

@killjoy-您使用的是什么CentOS版本。我上面显示的是我撰写本文时的2013年情况。在较新的版本中,情况可能已更改。另外,NM_CONTROLLED是您可以显式执行此操作的方法。因此,我为什么要展示它。
slm

@slim-截至发布日期为止最新的7版本,实际上其他一些版本也具有不同的值。在我的工作虚拟机上,它是“ -eno”,是的,我想它不是像以前一样的静态eth0。
killjoy

18

运行命令:

$ ip a

这将显示接口。可以/etc/sysconfig/network-scripts 打开相应的ifcfg文件,并在启动时设置为“是”。重新启动系统,然后关闭。

默认情况下,在Centos 7 中将其设置为no


1
是否在VM中运行有关系吗?因为我已经做过很多次了,它仍然说网络无法访问,并且没有网络我也无法安装VirtualBox来宾,因为CentOS出于某种原因不包括bzip2。
MarcusJ 2015年

1
要对此进行扩展,您可以创建一个新ifcfg文件并为该接口命名,DEVICE=[name]只要您包含即可HWADDR=[mac address]
Centimane

您还需要更改此行:NM_CONTROLLED = no
Rob Sedgwick

如果没有与该设备对应的ifcfg-文件,该ip a怎么办?
马拉松赛

8

当您使用VirtualBox制作新的虚拟机(即来宾操作系统)时,默认情况下会将NIC设为Am79C973。尽管许多操作系统都可以支持此NIC,但CentOS 7似乎不支持该特定的NIC。这意味着将在新CentOS 7 VM中显示的唯一NIC是回送NIC。您需要做的是将NIC更改为像82543GC这样受支持的NIC。

首先,如果尚未停止CentOS VM,请停止它,然后在VirtualBox主机上使用此命令更改NIC:

vboxmanage modifyvm "testvm" --nictype1 82543GC

现在,再次启动您的CentOS VM,您会注意到它现在已经具有一个NIC。

我希望这个对你有用。


我没有使用vbox。我只是将centos作为双引导程序运行,但是我遇到了与op相同的问题
samayo

与OP具有相同的问题,这为我解决了。(VirtualBox + CentOS 7)
hoosierEE

6

查看NIC配置文件/etc/sysconfig/networking/devices/ifcfg-ethX并检查参数是否ONBOOT存在。如果不是,请添加它。

grep "ONBOOT=yes" /etc/sysconfig/networking/devices/*
/etc/sysconfig/networking/devices/ifcfg-eth0:ONBOOT=yes
/etc/sysconfig/networking/devices/ifcfg-eth1:ONBOOT=yes

重新启动或/etc/init.d/network restart更改后,应该可以启动您的界面。


使用grep找出本周他们将配置放在何处的热烈+1!(顺便说一句,同样的问题在Centos6上并且修复程序仍然有效)
gbarry

5

在centos 7中,网络接口名称为enp0s3,要使网络正常工作,您需要通过以下方式编辑相应的文件:

sudo vim /etc/sysconfig/network-scripts/ifcfg-emp0s3

并设置ONBOOTyes

ONBOOT=yes

哇,这是CentOS 7接口命名的过分简化。请参阅:cgit.freedesktop.org/systemd/systemd/tree/src/udev/…以获取参考。该接口很有可能是p#p###格式接口,但是无论哪种方式,确定实际名称都比猜测它更好。
Centimane

另外,询问者使用的是CentOS 6.4,因此CentOS 7接口的命名不相关。接口命名在7中发生了巨大变化
。– Centimane

1
为我工作。谢谢。我在免费的RHEL上,要知道接口的名称,请运行pifconfig。是的,RHEL并未随附ifconfig。即使在垃圾箱中。Ubuntu在这方面更好。
NotAgain '17

@Centimane嘿,感谢您让我知道我简化了。但是对我来说这是工作,并且不确定这是否是不好的做法。您是否愿意分享为centos获取正确接口的正确方法?这样它将成为将来的Centos版本的“ Bulletproff”。
亚娜·西斯万托

1
接口名称取决于硬件,因此接口名称取决于您使用的是哪种类型的NIC,以及如何将硬件报告给RHEL。基于关闭您的接口名称RHEL认为你的网卡是EM beded装置,p ORT 0 小号很多3。但是不同的硬件将使用不同的NIC名称。
Centimane


1

我认为可能是网络设置引发的。我发现我的“网桥适配器”效果最好,因为您可以直接使用主机的网卡。它还将允许虚拟计算机使用DHCP从路由器获取其自己的内部IP。

NAT有点奇怪,因为您仅使用一个IP地址(与主机的IP地址相同),而是中继端口的转换-因此,它实际上不是虚拟计算机的单独IP。HostOnly我认为只允许虚拟机与您的主机建立“本地网络”-即。没有外部互联网。这样就只剩下环回设备了。


0

在我看来,这就像/etc/udev/rules.d/70-persistent-net.rules问题。除非删除该文件,否则编辑ifcfg-ethX将无济于事,因为无论您使用什么旧设置,这些设置都会保留下来。删除文件,然后使用“ udevadm触发器”重新创建它。


我看不到这与不存在的设备有什么关系。
thrig

0

这特别适用于VMBox,在其中安装了新克隆(我的克隆是CentOS)并且看不到IP地址:

  1. 停止虚拟机。转到设置->网络->高级。然后通过单击右侧的蓝色图标重置MAC地址。记下新的MAC地址。
  2. 启动虚拟机。转到系统->首选项->网络连接。使用步骤1中的新MAC地址编辑连接eth0->设备MAC地址,并在两个字符之间添加“:”。例如08012741798D至08:01:27:41:79:8D并保存
  3. 重新启动,然后以root用户身份登录:cd / var / lib / NetworkManager
  4. 删除NetworkManager.state或将其移动到另一个文件夹,例如:mv NetworkManager.state NetworkManager.state.save
  5. 运行:服务NetworkManager停止
  6. 运行:service NetworkManager启动
  7. 要查看新的IP地址,请运行:ifconfig -a

0
  1. sudo dhclient做完了 无需重新启动。

  2. 如果希望dhcp客户端在启动时自动启动: sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 更改ONBOOT=noONBOOT=yes


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.