我正在尝试通过 OpenVPN 连接两台 Windows Virtualbox 虚拟机。两台机器都是 Windows 10 机器,分别名为 VM-Client 和 VM-Server,但我希望它们位于不同的网络中。
目前,我可以在 VM-Server 上连接 OpenVPN,但无法在 VM-Client 上连接。尝试将 VM1-Client 连接到 VM-Server 时出现 TLS 错误。我在虚拟机和主机(也是 Windows)上都打开了端口 1194。
我还在路由器上设置了端口转发。我已经研究了这个问题两个星期,但我主要是让 VM 来宾托管 VPN 配置解决方案。我在 Virtualbox 中尝试了不同的网络配置,例如:
- VM-Client 和 VM-Server 均具有 NAT 连接
- VM-Client 具有桥接连接,VM-Server 具有 NAT 连接
- VM-Client 和服务器均具有仅主机连接和 NAT 连接
- 将两个虚拟机连接到 NAT 网络
我还尝试通过在 VM-Client 的路由表中输入新路由将流量从 VM-Client 路由到 VM-Server,但我很确定我做错了。
有人知道如何在 Virtualbox 和 OpenVPN 中成功建立此连接吗?所有提供帮助的解决方案的尝试都将不胜感激。
答案1
您可以使用多种选项来连接两台虚拟机:
使用“内部网络”模式,为两个虚拟机指定相同的名称。
创建一个风俗VirtualBox 的“工具”部分中的 NAT 网络。虽然所有使用默认 NAT 模式的虚拟机彼此隔离,但所有使用相同自定义 NAT 网络的虚拟机都将连接起来。
将两个虚拟机连接到同一个“桥接”接口(这当然也会将它们连接到同一个物理网络)。
我希望它们位于不同的网络中
为此,你通常需要一个路由器实际在两个网络之间转发数据包。
“路由器”可以是运行某些具有路由功能的操作系统(例如 Linux)的第三台虚拟机,也可以是主机操作系统(虚拟机通过“仅主机”接口与其通信)。VM1-客户端的路由表和VM3-Server 需要引用 VM2-Router 作为网关。
VM1-Client <==[internal network A]==> VM2-Router <==[internal network 2]==> VM3-Server