我一直在使用 Virtualbox 运行 mininet 模拟。我有两个适配器,eth0 使用 NAT,IP 地址为 192.168.56.1,eth1 是仅主机适配器。我可以使用 192.168.56.1 通过 SSH 进入虚拟机,但是当我尝试从虚拟机访问网络外部的任何内容(例如克隆 git 存储库)时,我收到消息网络不可达。我曾尝试直接 ping IP 地址以检查这不是 DNS 问题。为什么我无法访问互联网?我知道一个常见问题是尚未为其中一个适配器分配 IP 地址,但这里 eth0 显然有一个 IP 地址。
ifconfig-a:
eth0 Link encap:Ethernet HWaddr 08:00:27:ef:9b:c8
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:235 errors:0 dropped:0 overruns:0 frame:0
TX packets:164 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25042 (25.0 KB) TX bytes:23566 (23.5 KB)
eth1 Link encap:Ethernet HWaddr 08:00:27:76:c7:9a
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)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:432 errors:0 dropped:0 overruns:0 frame:0
TX packets:432 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:34376 (34.3 KB) TX bytes:34376 (34.3 KB)
答案1
Virtualbox 的“仅主机”适配器明确不允许互联网访问: https://www.virtualbox.org/manual/ch06.html#networkingmodes
仅主机网络
这可用于创建包含主机和一组虚拟机的网络,而无需主机的物理网络接口。相反,在主机上创建一个虚拟网络接口(类似于环回接口),为虚拟机和主机提供连接。
检查 6.2 部分末尾的表格以了解哪些类型的适配器可以执行您实际希望它们执行的操作(提示:可能是桥接、NAT 或 NAT 网络之一)。
我会尝试禁用您的仅主机适配器,看看这是否是问题的原因。