![在设置了 NAT 路由的 VirtualBox 上无法 ping 通 Google](https://linux22.com/image/1598057/%E5%9C%A8%E8%AE%BE%E7%BD%AE%E4%BA%86%20NAT%20%E8%B7%AF%E7%94%B1%E7%9A%84%20VirtualBox%20%E4%B8%8A%E6%97%A0%E6%B3%95%20ping%20%E9%80%9A%20Google.png)
我现在正在使用 VirtualBox 和 NAT。我无法 ping 通 www.google.com。它显示:“名称或服务未知。”
好吧,那么问题可能出在 DNS 上?
以下是 ifconfig 的输出:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::a00:27ff:fe89:3db prefixlen 64 scopeid 0x20<link>
ether 08:00:27:89:03:db txqueuelen 1000 (Ethernet)
RX packets 3 bytes 1240 (1.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 2434 (2.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 16 bytes 960 (960.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 960 (960.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
好的,所以我没有 eth0 的 IP 地址。也许这就是问题所在?但在尝试 dhclient -r 后,我仍然没有。
另外,也许我不了解 VirtualBox 网络。为什么我没有 wifi 接口?我的主机只使用 WiFi,而不是以太网。
答案1
好的,所以我没有 eth0 的 IP 地址。也许这就是问题所在?
是的,而且 resolv.conf 中也没有 DNS 服务器。您需要使用 DHCP 获取两者。
但是我尝试 dhclient -r 之后仍然没有。
该-r
选项告诉 dhclient发布(归还)它当前拥有的任何地址租约。这与获取 IP 地址相反。相反,您只需要dhclient eth0
获取新租约 - 程序的默认操作模式已经是获取新租约。
另外,也许我不了解 VirtualBox 网络。为什么我没有 wifi 接口?我的主机只使用 WiFi,而不是以太网。
VirtualBox 模拟了整台机器,包括主板、磁盘、GPU,当然还有网络接口。(主要是出于必要:您无法轻松地在两台机器之间共享随机 PCI 设备;企业以太网适配器允许使用 SR-IOV 来实现这一点,但 Wi-Fi 适配器还需要为使用它的每台机器配备单独的无线电和单独的天线……)
因此,您看到的不是主机的以太网 - 而是虚拟以太网卡,通常基于 Intel e1000 系列。它如何连接到真实网络取决于每个虚拟机的 VirtualBox 设置。
(在“NAT”模式下,VirtualBox 本身充当路由器并提供 DHCP - VM 位于虚拟子网中。如果 IP 地址与您的真实 LAN 不同,请不要感到惊讶。)