在 VirtualBox 上设置具有固定 IP 的共享互联网连接

在 VirtualBox 上设置具有固定 IP 的共享互联网连接

我是一名 Web 开发人员,直到最近我还在使用 ubuntu 作为我的操作系统。由于多种原因,我已切换回 Windows。我仍然希望将我的服务器保留在 Linux 平台上,因此我将本地服务器设置为虚拟机。一切都运行良好,但在网络方面遇到了一些困难。由于我在不同的地方工作并与客户机打交道,因此我会使用不同的设置连接到各种网络。这意味着可能的 IP 范围非常动态,这会在我使用本地服务器时导致问题。目前,我的主机上有一个动态 IP,客户机上有一个静态 IP。这样,我就可以从主机访问服务器(通过向 hosts 文件添加记录)。客户机上也有互联网连接。但是一旦我更换网络,它就无法工作(假设网络配置不同)。

我的问题是,如何设置主机-客户机网络,这样无论我连接到什么网络,我都可以将我的静态 IP 保留在客户机上,该 IP 在我的主机上的 hosts 文件中注册,这样我就可以访问网络服务器,而且我也可以在客户机上连接互联网?

希望这有意义。

谢谢

答案1

需要进行一些测试/调整,但听起来在客户虚拟机上设置第二个网络适配器可能是答案。

这样您就可以按照 rhubee 的建议在 NAT 配置中使用主适配器(这将为您的客户虚拟机提供互联网访问),而第二个适配器具有用于内部网络的静态 IP,该 IP 不会在主机和客户机之间更改。测试/调整部分将开始,因为您可能需要配置一些静态路由,以确保服务/端口的流量路由到正确的接口。

目标不完全相同,但我已经运行了多个客户虚拟机,它们之间共享一个内部网络,同时有一个单独的适配器 NAT,以便它们仍然可以访问互联网。

答案2

看来您正在为虚拟机使用桥接网络模式。这基本上将您的客户机连接到您的主机所连接的任何网络 - 并且需要匹配的配置。

如果您的网络配置经常变化,最好使用 NAT 网络。您的主机充当虚拟机的“路由器”,因此您无需不断调整客户机上的网络配置。

您的主机还会通过 DHCP 在专用网络上为您的客户机分配一个 IP 地址。您只需在同一网络上为您的虚拟机分配一个静态 IP,然后hosts在主机上相应地更改文件即可。

例如:您为虚拟机设置了 NAT 网络,您的客户机通过 DHCP 分配了 192.168.15.3。您手动将其更改为 192.168.15.250,然后在您的主持人添加192.168.15.250 myserver到您的hosts文件中。

然后,您甚至可以转发单个端口(例如,用于 http 和 https 的 80 或 443),这样您的虚拟机也可以从其他计算机访问。这在VirtualBox 手册第 6 章进一步详细说明,以及可用的各种网络模式。

答案3

无需在网络上将您的 VM 注册为单独的机器。无需 hosts 文件条目,只需对您的 VM 进行 NAT,您就可以按照http://localhost:8000以下步骤访问它:

转到 VirtualBox 中虚拟机的设置 => 网络 => 启用网络适配器,连接到 NAT。高级 => 端口转发 => 输入:客户端口 80 主机端口 8000。

答案4

我会尝试两个地址均由网络的 DHCP 动态分配服务器(无论你使用哪个网络,我假设都会有一个 DHCP 服务器)。然后使用客人姓名...您可能需要为此编辑 hosts 文件。但至少您确定从子网的角度来看,两者都在同一个子网中。我意识到您似乎不想编辑 hosts 文件,但您可能只需要根据您加入的主机网络的 DNS 解析不时编辑它。

相关内容