带有 Ubuntu Server 客户端的 VirtualBox 无法 ping 外部

带有 Ubuntu Server 客户端的 VirtualBox 无法 ping 外部

我的情况如下:

  • 运行 VirtualBox 的 Ubuntu 12.04 主机;
  • 两个运行 Ubuntu Server 12.04 的客户虚拟机
  • 家庭网络,因此我的主机 PC 与我的 ISP 的路由器有无线连接。

我的问题出在一台虚拟机上:它有 3 个 NIC,一个处于 NAT 模式,其他处于 Host Only 模式。我的目的是使用 eth0 (NAT) 进行 Internet 访问,使用 eth1、eth2 (Host Only) 进行内部虚拟网络管理(eth1 使用 VBoxNet,IP 为 192.168.69.254)。

每当我尝试时$ping 8.8.8.8我都会得到Destination Host Unreachable

而如果我$ping 192.168.69.10,那是另一个虚拟机的 IP,它就可以工作。

我也无法 ping 通我的主机和路由器

我的/etc/network/interfaces文件是:auto lo iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.69.1
netmask 255.255.255.0

auto eth2
iface ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFASE promisc off
down ifconfig $IFACE down

$route -n返回:

Destination   Gateway     Genmask        Flags Metric Ref Use Iface
0.0.0.0       10.0.2.2    0.0.0.0        UG    100    0   0   eth0
10.0.2.0       0.0.0.0    255.255.255.0  U       0    0   0   eth0 
192.168.69.0   0.0.0.0    255.255.255.0  U       0    0   0   eth1
192.168.100.0  0.0.0.0    255.255.255.0  U       0    0   0   virbr0

现在忘记了 eth2 需要做什么及其设置,为什么我不能走出主机箱?

我能做什么来帮助你帮助我?:-)


-编辑-

在我的主机上: $ ifconfig -a

eth0  Link encap:Ethernet  IndirizzoHW 00:26:9e:d5:1a:bb  
      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
      collisioni:0 txqueuelen:1000 
      Byte RX:0 (0.0 B)  Byte TX:0 (0.0 B)

eth1  Link encap:Ethernet  IndirizzoHW c4:17:fe:17:31:b3  
      indirizzo inet:192.168.1.186  Bcast:192.168.1.255  Maschera:255.255.255.0
      indirizzo inet6: fe80::c617:feff:fe17:31b3/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1774067 errors:3 dropped:0 overruns:0 frame:3371346
      TX packets:1486276 errors:266 dropped:0 overruns:0 carrier:0
      collisioni:0 txqueuelen:1000 
      Byte RX:1642836807 (1.6 GB)  Byte TX:170395284 (170.3 MB)
      Interrupt:16 

lo    Link encap:Loopback locale  
      indirizzo inet:127.0.0.1  Maschera:255.0.0.0
      indirizzo inet6: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:9119 errors:0 dropped:0 overruns:0 frame:0
      TX packets:9119 errors:0 dropped:0 overruns:0 carrier:0
      collisioni:0 txqueuelen:0 
      Byte RX:1089979 (1.0 MB)  Byte TX:1089979 (1.0 MB)

vboxnet0  Link encap:Ethernet  IndirizzoHW 0a:00:27:00:00:00  
      indirizzo inet:192.168.69.254  Bcast:192.168.69.255  Maschera:255.255.255.0
      indirizzo inet6: fe80::800:27ff:fe00:0/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2314 errors:0 dropped:0 overruns:0 carrier:0
      collisioni:0 txqueuelen:1000 
      Byte RX:0 (0.0 B)  Byte TX:345450 (345.4 KB)

vboxnet1  Link encap:Ethernet  IndirizzoHW 0a:00:27:00:00:01  
      indirizzo inet:192.168.57.1  Bcast:192.168.57.255  Maschera:255.255.255.0
      indirizzo inet6: fe80::800:27ff:fe00:1/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2082 errors:0 dropped:0 overruns:0 carrier:0
      collisioni:0 txqueuelen:1000 
      Byte RX:0 (0.0 B)  Byte TX:331256 (331.2 KB)

答案1

我也遇到了同样的问题。我通过将 VirtualBox 网络适配器从“NAT”更改为“桥接适配器”解决了该问题。

您可以使用 NAT 进行端口转发。例如,您可以配置转发表以将请求从端口 8080 转发到虚拟服务器。

答案2

我不确定这是否能解决您的问题,因为也许它与我的问题不完全相同,因为您使用的是 NAT,但我认为值得一试。

我遇到了类似的问题,我无法从 Ubuntu VM ping 主机、路由器或任何其他盒子。我已通过 VBox 中的机器 -> 设置 -> 网络选项设置了桥接 WiFi 适配器。

但后来我注意到实际上列出了两个 Wifi 适配器:

Microsoft Virtual WiFi Miniport Adapter 

Realtek RTL8188CE 802.11b/g/n WiFi Adapter

我首先选择了 Microsoft,然后当我切换到 Realtek 并重新启动 VM 时,问题就解决了。

相关内容