如何与主机共享访客虚拟机的 *** 连接

Posted

技术标签:

【中文标题】如何与主机共享访客虚拟机的 *** 连接【英文标题】:How to share Guest VM's *** Connection with Host 【发布时间】:2019-05-03 13:00:27 【问题描述】:

在解释如何共享您的无线连接或如何与访客共享主机的 *** 的大量 How Tos 中,我发现无法找到答案。

我有一个Guest Windows 10 VM(使用VirtualBox),我通过主机(也是Windows 10)设置了桥接连接。我使用桥接是因为我需要主机能够访问访客,而访客也能够访问外部世界。我在来宾上安装了 *** 软件,该软件可以运行,使我能够从该来宾访问我公司的网络。 无法在主机上安装 *** 软件。我正在尝试与主机共享访客 VM 的网络连接。最终,我希望同一主机上的其他虚拟机能够通过访客的 *** 连接进行连接。但到目前为止,我只是试图让主机使用它,因为在那之后其余的应该是直截了当的。

在来宾上,我看到以太网 1,这是我在 VirtualBox 中为其配置的网络适配器。我还看到了以太网 2,它是 *** 软件在运行时创建的适配器。我尝试共享以太网 1 和 2,但这似乎结束了 *** 连接。我在 VirusBox 中为来宾创建了第二个以太网适配器。我已经尝试过共享该连接并在它与以太网 1 和 2 之间创建桥接(我都尝试过)。这些似乎都没有奏效,我不知道如何取得进展。以太网 3 目前是仅主机网络适配器,因为我认为这应该是我所需要的。

如何从主机和其他虚拟机使用访客的 ***?

【问题讨论】:

这个问题和编程有什么关系?这似乎是Super User 的问题。 谢谢。不知道网络问题应该在不同的网站上。 似乎没有办法在这里撤回或结束我的问题。 :( 【参考方案1】:

在虚拟机上

在以太网 1 上启用网络共享 添加仅主机网络(以太网 3) 为其(以太网 3)分配一个静态 IP

在主机上

通过以太网 3 静态 IP 添加到您公司网络的路由

【讨论】:

感谢您的回答。您介意详细说明如何“通过以太网 3 添加到公司网络的路由”吗?该怎么做? 路由 -p 添加 xxx.xxx.xxx.0 掩码 255.255.255.0 192.168.yyy.yyy 。其中 xxx - 是您的办公网络 IP。 yyy - 是您的本地 VM ip (Ethernet3) 出于某种原因,我得到了这个:~$ route -p add 10.0.0.4 mask 255.255.255.0 192.168.125.0 ~$ route: invalid option -- 'p' 但值得一提的是,我的“办公室”只是我的个人电脑 @JamieHutber 这个“路由”示例与 windows CMD 有关。有关“路由”命令格式,请参阅您的操作系统手册。【参考方案2】:

我经历了 k010mb0 的步骤,反复试验,最后我让我的仅限 Windows 的 *** 可以在 virtualbox 来宾 Windows 10 上工作,并且还可以从我的 Linux (Ubuntu) 主机访问它。

我只会尝试进一步详细说明。我假设你已经在你的 Linux 主机上安装了 virtualbox,你已经创建了一个来宾虚拟机并且你已经在上面安装了 Windows 10。

1.为您的 virtualbox 来宾 Windows 设置 NAT 网络适配器

这是必需的,这样您的 Windows 来宾虚拟机才能访问 Internet。为了做到这一点,你打开 virtualbox,你的虚拟机处于 stoped 状态,点击你的 Windows 虚拟机,点击设置按钮,然后从左侧列表导航到“网络” .然后你需要像这样配置:

您在此处看到选项变灰的原因是因为我当前正在运行我的 virtualbox,但是,如前所述,您应该在 VM 停止的情况下执行此操作。

2.在主机上设置仅主机网络

此步骤是特定于主机的,而不是特定于客人的。这就是为什么您从 virtualbox 的全局设置菜单而不是访客的设置创建此网络的原因(稍后将配置访客)。

转到您的虚拟机管理器窗口,单击File -> Host Network Manager... Ctrl+H。您可能会看到一个包含空网络列表和一些按钮的屏幕,其中有一个Create 按钮。点击它,您将获得您的第一个网络:

请注意,除了您可以保留原样的 IP 设置外,还有一个选项卡用于在这个新网络上配置 DHCP。此 DHCP 用于在来宾虚拟机上分配新网络子网的 IP。您可以保留默认设置,因为我们将在客户操作系统上手动设置网络设置。

3.在您的来宾虚拟机上启用仅主机网络

现在我们的主机 (Linux) 上有一个新的网络接口,我们可以回到来宾虚拟机,再次处于 stopped 状态,并添加一个新的网络适配器,这次指向我们新创建的仅主机网络。

从 virtualbox 管理器中,选择您的客户机,再次单击设置,转到网络并切换到适配器 2(或 3 或我们之前配置的第一个适配器以外的任何其他适配器):

4.启动您的访客虚拟机

现在我们可以启动我们的 Windows 10 来宾虚拟机并验证是否配置了两个网络适配器,方法是转到 Network & Internet settings

在我的例子中,NAT 网络(适配器 1)显示为 Ethernet(屏幕截图中的第一个网络),仅主机网络(适配器 3)显示为 Ethernet 4。不要介意编号,只需确保您记住哪个 Windows 网络对应于我们从我们的 virtualbox 控制台设置的网络适配器。

5.从 Windows 连接到您公司的 ***

此步骤完全根据您的需求定制。只需下载您的 IT 管理员提供的任何客户端、证书、凭据等,然后将您的 Windows 计算机连接到您的 ***。

成功连接到您的 *** 后,您将在 Windows 设置面板上获得一个新的网络连接。转到Network & Internet Settings,然后单击Network and Sharing Center。你会看到这样的东西:

就我而言,我有两个适配器,EthernetEthernet 4。现在我连接到我的 ***,我也得到了Ethernet 3。你可以随时点击网络,然后Details,从IP配置中查看哪个连接是哪个。

6.与仅限主机的网络共享您的 *** 连接

仍然在我们的 Windows 来宾虚拟机上,我们现在需要与仅主机适配器(在我的情况下为 Ethernet 4)共享我们的 *** 连接(在我的情况下为Ethernet 3)。为此,请单击来自Network and Sharing CenterEthernet 3 连接(参见上一步),转到Properties,然后点击Sharing 标签:

单击Allow other network users to connect...,然后选择您的仅主机连接。就我而言,那是Ethernet 4。执行此操作后,您将收到以下警告:

这实际上表明我们的Ethernet 4 IP 设置将被弄乱,但没关系,我们会在之后解决这个问题。点击此处Yes

7.修复仅主机 IP 设置

如上一步所述,Windows 为我们的仅主机接口设置了一个任意 IP 地址:192.168.137.1。然而,在我们的主机端(Linux),我们配置了一个192.168.56.xxx 网络。如果我们保留这些设置,Linux 和 Windows 将无法通信。

让我们从Internet & Network Center 转到Ethernet 4,点击Properties,然后点击Internet Protocol Version 4 (TCP/IPv4),然后点击Properties

你在那儿看到这个192.168.137.1 IP 了吗?将其更改为192.168.56.2

8.尝试从您的 Linux 主机 ping 您的 Windows 客户机

让我们回到我们的 Linux 主机,看看两台机器之间的网络设置是否正确。打开终端并输入ping 192.168.56.2。我们应该得到这样的东西:

$ ping 192.168.56.2
PING 192.168.56.2 (192.168.56.2) 56(84) bytes of data.
64 bytes from 192.168.56.2: icmp_seq=1 ttl=128 time=0.282 ms
64 bytes from 192.168.56.2: icmp_seq=2 ttl=128 time=0.181 ms
64 bytes from 192.168.56.2: icmp_seq=3 ttl=128 time=0.506 ms
64 bytes from 192.168.56.2: icmp_seq=4 ttl=128 time=0.262 ms
^C
--- 192.168.56.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3067ms
rtt min/avg/max/mdev = 0.181/0.307/0.506/0.120 ms

如果您没有收到 ping 响应,则需要重复前面的一些步骤。

9.尝试从你的 Linux 机器 ping 一台 *** 机器

现在选择一个只能从您的 *** 访问的 IP,让我们尝试 ping 它。通常你的 *** 域名服务器的 IP 会响应 ping。

首先尝试从您的 Windows 机器 ping 此 IP。假设受保护的IP是10.0.0.1

C:\Users\XXX>ping 10.0.0.1

Pinging 10.0.0.1 with 32 bytes of data:
Reply from 10.0.0.1: bytes=32 time=76ms TTL=57
Reply from 10.0.0.1: bytes=32 time=76ms TTL=57

Ping statistics for 10.0.0.1:
    Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 76ms, Maximum = 76ms, Average = 76ms
Control-C
^C

现在我们已经验证了我们的 *** 连接已在 Windows 上启动并运行,并且 10.0.0.1 可以 ping,让我们回到 Linux。

您需要做的第一件事是添加一个路由,以便10.0.0.1 通过我们的仅主机网络,而不是您的标准以太网/wifi 适配器:

ip route add 10.0.0.1/32 via 192.168.56.2

这里有几点需要注意:

    我们在via 中使用了Windows IP 192.168.56.2不是 Linux IP 192.168.56.1 在此特定示例中,网络掩码为32。您以后可能添加的其他路由不一定具有相同的网络掩码。

现在您已经添加了路由,您可以尝试从 Linux ping 受 *** 保护的机器:

ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=56 time=78.2 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=56 time=79.3 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=56 time=77.1 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=56 time=77.0 ms
^C
--- 10.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 76.985/77.896/79.320/0.937 ms

如果您看到与上述类似的 ping 响应,则可以准备庆祝活动。但首先要确保你已经配置了一些最终的东西。

10.在 Linux 主机上设置 *** 的 DNS 服务器

您可以连接到您的 *** 是个好消息,但这并不能让一切都正常运行。您很快就会尝试在您的 Linux 浏览器上打开一个 *** 站点,并意识到主机名无法解析为 IP。例如,如果您尝试点击 someservice.internal.mycompany.com,则会收到 DNS 解析错误。

为了解决这个问题,您需要在 Windows 框中进行 *** 连接,打开 Details 选项卡并复制您在此处看到的 DNS 服务器。然后你必须去你的 Linux 机器并添加这两个服务器。一种方法是在 /etc/resolv.conf 中为每个 dns 服务器添加一个 nameserver 条目,但也可以使用其他方法。

11.在 Linux 主机上设置 *** 的路由

拥有 DNS 服务器可让您将内部 *** 域名解析为 IP。剩下的最后一件事是告诉您的 Linux 机器,为了访问这些 IP,它需要通过 192.168.56.2 网关,就像我们之前为测试所做的那样。

您可以通过键入route PRINT 在 Windows 上打印所有 *** 路由的列表。

然后您可以使用该信息将相同的路由(或您需要的任何子集)添加到您的 Linux 机器。

【讨论】:

我完成了所有这些设置,但我的 ping 没有到达 *** DNS。我可以通过仅主机适配器 ping Windows 来宾,但添加路由后我仍然无法 ping *** DNS 服务器:(这可能是什么原因? 这很奇怪,但是只有当我将步骤 #7 和 #8 的 ip 更改为 192.168.56.17 时,该解决方案才对我有所帮助。 因为我在 VirtualAdapter 上开启了 DHCP 并且 192.168.0.2 是 dhcp ip。【参考方案3】:

@Kostas Filios 的回答对我有用。我没有看到的唯一一件事是在 Windows 来宾中提到了防火墙。您应该添加防火墙例外或完全禁用它。为简洁起见,我做了后者,但如果有人认为有必要,我愿意扩展它。

【讨论】:

以上是关于如何与主机共享访客虚拟机的 *** 连接的主要内容,如果未能解决你的问题,请参考以下文章

怎么让虚拟机的网络独立,与主机网络隔离?

虚拟机的时间与主机的时间怎么调成不一样的?

虚拟机的时间与主机的时间怎么调成不一样的

电脑如何和虚拟机建立连接

虚拟机如何改IP地址

vmware 主机Ping虚拟机不通(虚拟机可以Ping主机)