VirtualBox (NAT) 中的开箱即用 CentOS:网络无法访问

VirtualBox (NAT) 中的开箱即用 CentOS:网络无法访问

我的主机是新安装的 Ubuntu 2013.04,无线网络访问开箱即用,所以我没有任何奇怪的网络配置。

在 VirtualBox 4.2.10 中,使用默认 (NAT) 设置,我安装了 CentOS 6.4 最小版本。
安装后,我做的第一件事就是ping 173.194.38.98(谷歌)并告诉我connect: Network is unreachable

我尝试/etc/init.d/network start以 root 身份运行,但没有任何乐趣。
我下载了一个虚拟机映像并尝试了它:完全相同的问题。

当我安装Ubuntu和Windows虚拟机时,它们能够毫无问题地访问Internet。
这有什么问题吗?

在虚拟机上:

在此输入图像描述

在主机上(除了字节计数之外,值永远不会改变):

eth0      Link encap:Ethernet  HWaddr f0:de:f1:c0:ad:b3  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:20 Memory:f3900000-f3920000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:32272 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32272 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4263162 (4.2 MB)  TX bytes:4263162 (4.2 MB)

wlan0     Link encap:Ethernet  HWaddr 60:d8:19:c9:42:59  
          inet addr:192.168.0.67  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::62d8:19ff:fec9:4259/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1221151 errors:0 dropped:0 overruns:0 frame:0
          TX packets:845193 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1438957835 (1.4 GB)  TX bytes:133904229 (133.9 MB)

注:类似于这个问题但我认为从 NAT 切换到 Bridge 并不是一个可以接受的解决方案。

答案1

要让 Centos 在 Virtual Box 上运行,请在/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0  
BOOTPROTO=dhcp  
ONBOOT=yes

您可能需要重新启动。

答案2

udev 的问题

看我对这个问题的回答:VMWare 是否导致我的 Linux 主机失去网络连接?。一般来说,当你的网络出现时,eth1而不是eth0铃声应该响起(至少在 CentOS 6.x 中)。这通常意味着以太网 NIC 受到 NetworkMangaer 的控制,或者 udev 搞乱了 NIC 的检测eth0

我通常首先查看以下rules.d目录udev

# /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

您要确保该文件中仅存在一项。如果有多个,那么您需要手动清理此文件,以便只有一个条目并且它指向 eth0。

NetworkManager 的问题

您需要查看的另一件事是 NetworkManager 的设置方式。再次查看另一个 Unix 和 Linux 问题:CentOS在VirtualBox中安装后没有网络接口。我也提供了该问题的答案,其中向您展示了使用 NetworkManager 手动设置有线网络的步骤。

顺便说一句,NetworkManager 现在是安装 CentOS 6.x 时网络的默认设置!

相关内容