配置 Linux 服务器,使其 VM 的 IP 可从外部访问

配置 Linux 服务器,使其 VM 的 IP 可从外部访问

我有一台物理 Linux 服务器(父服务器)。我在该服务器上安装了一个虚拟机(Virtualbox)。我在该虚拟机上创建了一个 Web 项目,现在可以从 访问它192.168.10.10。但它只能从物理(父)服务器访问。

如何配置该物理服务器以将传入请求转发到其 VM IP 地址?

例如,我可以使用 访问我的父服务器http://80.80.80.80,因此每当有访问者来访时,他就会看到来自 的内容/var/www/html/index.html

是否有机会让虚拟机自行接收所有传入请求?

如能提供任何提示或其他类似主题的链接,我们将不胜感激。

答案1

使用 VirtualBox 时,您有几个选项。所有选项均在“设置 - 网络”选项卡下配置。

如果你可以在网络中获取其他公共 IP,最简单的选择是将网络接口 (NIC) 设置为桥接模式。 在下面设置 -> 网络 -> 适配器1改变连接至:桥接适配器及以下姓名:选择主机网络接口(例如eth0)。这样可以有效地将客户机(VM)网络适配器暴露到与主机相同的网络eth0。然后,VM 可以获取自己的公共 IP(例如 80.80.80.81),无论是静态分配还是 DHCP。

如果你只能有一个 IP(80.80.80.80)并且无法获得更多 IP,则需要配置 NAT 和转发端口. 同样,在设置 -> 网络 -> 适配器1。 放附加到:NAT及以下转发端口出现在对话框底部的添加端口 80 的转发。从现在开始,连接到 80.80.80.80 端口 80 的任何内容都将被转发到虚拟机并在那里处理。

然而在这种情况下需要注意的是主持人不得运行自己的 Apache 或任何其他监听 80 端口的程序。或者,如果您愿意使用非标准端口,您可以将主机的 8080 端口转发到客户机的 80 端口,然后 URL 将是http://80.80.80.80:8080- 这样,您就可以在主持人客人

希望有帮助:)

答案2

您的虚拟机适配器连接到哪个网络(仅主机、NAT 网络、内部网络、桥接适配器)?要查找答案,请选择虚拟机>设置>网络,然后检查连接到的选项。您可以选择在虚拟机的网络设置中使用桥接适配器,并将机器直接暴露在网络上,并为其分配一个可直接寻址的 IP(例如,如果父服务器带有http://80.80.80.80/24您可以为虚拟机分配同一网络内的地址,例如.81

相关内容