我想创建一个虚拟化 WAN。例如,我想在一台物理主机上安装几个虚拟机 (VBox),它们位于不同的 LAN 上,但可以相互通信。我是否要创建虚拟机,为它们设置不同的 IP 地址(例如 1.2.3.4 和 5.6.7.8),然后以某种方式在它们之间配置端口转发???
我看过一些文章,其中介绍了在端口 2222 上设置端口转发,但我不太明白这样做的原理。设置虚拟机监听端口 2222,然后从那里转发到端口 80,与一开始就告诉虚拟机监听端口 80 有什么不同?
仅供参考,虚拟机运行 Ubuntu Desktop 14.x。
答案1
这绝对是一个很好的练习,而且很容易实现。一个简单的设置可以包括 3 个虚拟机,它们将模拟一个典型的工作站,通过网关/路由器访问互联网上的服务器。
我将设置两个独立的内部网络(VM 网络适配器设置为“内部网络”),一个代表lan
LAN,另一个public
代表“公共互联网”,或者在本例中是工作站尝试访问的服务器。
这三台虚拟机分别是:
- 工作站(仅连接到 LAN)
- 路由器(连接至局域网和公共网络)
- 服务器(仅连接到公共)
我建议运行类似普富思在路由器虚拟机上,因为它被设计为路由器,并且已经配置为这样做,但您可以使用常规 Linux 机器来执行此操作(但这超出了这个问题的范围)。
您必须在公共网络上设置静态 IP(例如10.0.0.10
路由器和10.0.0.20
服务器的 IP)。如果您正在运行 pfSense,则必须192.168.0.1
在 LAN 端为其配置静态 IP(例如),但它可以通过 DHCP 为工作站分配地址。
一旦配置完成并拥有正确的 IP,您就应该能够通过工作站的 IP 访问服务器。如果服务器想要联系工作站,您需要在路由器中设置端口转发。
如果您想更复杂一点,可以添加另一个路由器和工作站,这样您就有两个连接到公共网络的独立 LAN。在这种情况下,两个工作站都可以直接与服务器通信,但是,如果工作站想要直接相互通信,则至少需要在其中一个路由器中设置端口转发。