使用 OpenVPN 或 SSH 隧道(或组合),我如何将 2 个 LAN 网络连接在一起?
下面以 OpenVPN 为例进行更好(更详细)的解释:
一个 OpenVPN 客户端(我们称之为客户端 1)连接到 LAN A,也连接到 OpenVPN 服务器
该 OpenVPN 服务器位于云端(例如:Digitalocean)
另一个 OpenVPN 客户端(客户端 2)连接到 LAN B,也连接到 OpenVPN 服务器
如何使用 OpenVPN 从客户端 2 看到 LAN A 上的其他设备,从而有效地将客户端 2 连接到 LAN A?
答案1
您只需要设置路由即可。确保 VPN 服务器和客户端上启用了 IP 转发(我假设客户端是两个 LAN 的默认网关,这是最简单的)。此外,最简单的方法是在 VPN 服务器上运行两个 OpenVPN 实例,每个客户端一个(点对点)。只需给它们不同的端口来运行即可。
然后您只需将“路由”指令添加到您的 OpenVPN 配置中即可。使用 192.168.1.0/24 作为第一个网络的替代,并使用 192.168.2.0/24 作为第二个网络的替代:
ptp-first.conf(不是完整配置,只是一些可能与普通点对多点客户端 VPN 不同的地方):
mode p2p
dev-type tun
dev first_vpn
ifconfig 192.168.0.1 192.168.0.2 # note NOT on either network
route 192.168.1.0 255.255.255.0
push "route 192.168.2.0 255.255.255.0"
ptp-second.conf:
mode p2p
dev-type tun
dev second_vpn
ifconfig 192.168.0.3 192.168.0.4 # note NOT on either network
route 192.168.2.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
请记住,客户端配置将需要相反顺序的“ifconfig”地址。
通过使用“openvpn 路由”等术语进行搜索,您可以找到更多信息、示例配置等。