我的情况如下:
- 运行 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 时,问题就解决了。