VirtualBox 虚拟机无法通过 NAT 连接到互联网

VirtualBox 虚拟机无法通过 NAT 连接到互联网

我试图找出为什么我的访客在连接到 NAT 网络时无法连接到互联网。我在下面提供了一些设置的屏幕截图。我只在 lubuntu 上遇到这个问题。我和我的朋友都可以在 2 个不同的 Linux 系统上使用所有默认设置并且无需修改。

在访客上进行的操作ifconfig显示,已经在下面第一张图片所示的范围内分配了一个IP(它只是默认值)。除了下面显示的内容之外,我没有更改任何默认设置。

顺便说一句,我在使用 lubuntu 作为主机操作系统的 VirtualBox 上安装的任何虚拟机都遇到同样的问题。桥接和仅主机连接工作正常。

VirtualBox 首选项:

VirtualBox 首选项

访客网络设置:

访客网络设置

编辑:

有关系统和网络设置的一些信息:

cat /etc/network/interfaces

auto lo
iface lo inet loopback

来宾操作系统:lubuntu 17.04

主机操作系统:lubuntu 17.04

VirtualBox 版本:5.1.22_Ubuntur115126(VBoxManage --version 的输出)

(抱歉捕获了整个屏幕。我的屏幕捕获工具无法从虚拟机中获取特写镜头) ifconfig -a: 在此输入图像描述

路线-n: 在此输入图像描述

arp -n: 在此输入图像描述

答案1

更新:总而言之,你使用的是NAT-网络/NAT-服务接口。这是与类似命名的接口类型不同的接口类型网络地址转换接口。这篇博客文章很好地描述了这些差异:

当您从 NAT 网络接口切换到 NAT 接口时,您可以从虚拟机访问互联网,而无需进行额外配置。由于这是您的最终目标,因此我们没有继续诊断导致 NAT 网络接口出现问题的原因。

原始解决方案如下。


根据您目前提供的信息,我还不够了解,无法做出确定的诊断,但一种可能是主机上的 VirtualBox 网络配置与来宾上的网络配置之间存在冲突。

我建议尝试从具有端口转发的工作 NAT 配置开始,以允许对来宾进行 SSH 访问。有几个原因:

  1. 在当前情况下,您无法复制访客的文本。

  2. 从一切正常的情况开始,然后再回到问题所在,这通常有助于调试。

  3. 根据我的经验,NAT 接口是 VirtualBox 来宾访问互联网最轻松、最不容易出错的方法。

您可以通过 GUI 来完成此操作,但为了具体起见,我将提供命令行示例。

首先让我们删除所有网络接口卡:

for n in 1 2 3 4 5 6 7 8; do
    vboxmanage modifyvm "${VMNAME}" --nic${n} none
done

现在让我们添加一个 NAT 接口:

vboxmanage modifyvm "${VMNAME}" --nic1 NAT

让我们检查一下 NIC 配置:

vboxmanage showvminfo "${VMNAME}" | grep '^NIC'

输出应该是这样的:

NIC 1:          MAC: 08002784C3DE, Attachment: NAT, Cable connected: on,
                Trace: off (file: none), Type: Am79C973, Reported speed: 0
                Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled

现在让我们为 ssh 添加端口转发规则。以下是将主机上的端口 2222 映射到客户机上的端口 22 的示例:

vboxmanage modifyvm "${VMNAME}" --natpf1 ssh,tcp,,2222,,22

启动 VM 并测试 SSH 连接。如果您已经在来宾上运行 SSH,那么您可以以无头模式启动它:

vboxmanage startvm --type headless "${VMNAME}"

通过ssh登录guest:

ssh -p 2222 localhost

请注意,由于端口转发规则,您不需要知道访客的 IP 地址。如果您能正常工作,那么您可以更新您的帖子,我们可以尝试找出“NAT 网络”配置出了什么问题。

另外,您可能想尝试从以下位置下载预配置的虚拟机:虚拟盒子网站。显然他们有一些lubuntu 图片

相关内容