我正在尝试设置一个在 VMware 中运行多个 Windows 客户系统的 Linux 机,所有这些系统都通过 NAT 通过主机互联网连接进行连接,但每个客户系统都使用自己的 VPN 连接。
重申:每位客人都应该通过本地网络之外的自己的 VPN 服务器作为 VPN 客户端连接到互联网 - 如果可能的话,所有连接只使用一个端口。
我发现一些帖子声称 VMware NAT 不支持此功能,其他帖子声称它支持,但你需要一个支持 PPTP GRE47 的路由器,还有一些帖子声称它使用桥接连接而不是 NAT 来工作。
什么是理想的(阅读:最实用/最合乎逻辑/最有效)设置来实现这一点?
编辑:看来最新版本的 DD-WRT 路由器是最佳选择。有人有这种设置经验吗?一台路由器上有多个 VPN 连接?
答案1
我的解决方案是:在每个 Windows 客户机上,设置一个OpenVPN服务器。每个客户机应监听不同的端口:例如,客户机 1 监听端口 1501,客户机 2 监听端口 2501,客户机 3 监听端口 3501。在面向互联网的路由器和 Linux 机器上,您必须配置端口转发。在面向互联网的防火墙/路由器上,配置 VPN 端口以转发到 Linux 机器的 IP 地址,并在 Linux 机器上(即应该安装了 iptables 后,配置通过这些端口进入互联网连接的流量,以转发给各个客户机。有关 iptables 端口转发的一些信息如下:这里,但这并不详尽。
这是一项相当繁重的工作,特别是如果你从未使用过这些技术,但这肯定是可能的,而且在一台客户机正常工作后,其余的只是副本。我建议
1)The interface of your linux box that connects to the internet has a static IP
2)All your guests have a static ip on the host only network (All 4 of these machines are servers and should be treated as such.
3)You have some decent firewall such as pfsense in place between your host and the internet.
答案2
在最终找到一些关于该主题的优秀链接并详细阅读后,我对自己的问题有了以下答案。抱歉,我最初弄混了一些事情。
问题似乎出在 VMware NAT 实现上,它显然不能正确支持 PPTP 直通,在处理多个 VPN 连接时似乎会出现问题,即使这些连接指向不同的 VPN 服务器。这应该事实并非如此,因为即使 PPTP 直通错误地处理了 ConnectID,由于目标地址不同,NAT 也应该可以正常工作。我将在设置好机器并进行一些测试后再报告。
一个可能始终有效的解决方案(即使多个客户系统连接到同一个 VPN 服务器)是使用 VMware 桥接网络适配器而不是 NAT 适配器,并拥有一个正确支持 PPTP 直通的路由器。然后,该问题将在硬件路由器级别而不是 VMware 软件 NAT 级别上得到处理。这当然要求每个 VMware 客户系统都有一个本地 IP。