OpenVPN服务器到OpenVPN服务器通信

我有两个云服务器在同一个数字海洋数据中心内部通信启用(他们可以相互ping)。 每个云服务器都安装了一个OpenVPN服务器。

我的问题是我怎么可以通过VPN客户端B到客户端B,通过内部IP空间从客户端A通过VPN服务器A的数据,反之亦然? 我在云服务器和客户端上使用Ubuntu Server 16.04。

在这里输入图像说明

谢谢draw.io

我努力了:

1)添加路由到每个VPN服务器[1]

服务器A

sudo route add -net 172.16.200.0 netmask 255.255.255.0 gw 10.132.52.131 eth1 

服务器B

 sudo route add -net 172.16.100.0 netmask 255.255.255.0 gw 10.132.27.6 eth1 

常量:

在所有设备上启用IP转发

客户端A具有将.200子网中的所有数据包发送到VPN服务器A的规则:

 sudo route add -net 172.16.200.0 netmask 255.255.255.0 gw 172.16.100.254 

客户端B有一个规则来发送.100子网中的所有数据包到VPN服务器B:

  sudo route add -net 172.16.100.0 netmask 255.255.255.0 gw 172.16.200.254 

如果我做一个tcpdump,我可以看到客户端发送ping到他们各自的VPN服务器。 但是,它似乎在那里结束。 也就是说,另一端的tcpdump从不显示活动,除了arp响应。

由于你的私人networking的两个“10/8”地址在不同的子网上,所以几乎可以肯定的是其他设备也需要改变。

但是你可以做的一件事是让一台或两台服务器成为彼此的客户端。 因此,不要试图通过专用networking进行路由,您可以完全在OpenVPNconfiguration中完成所有路由。

所以在你的服务器1上,你需要一个ccd给'server 2'客户端,这个客户端会把172.16.100.253这个地址推送给172.16.200.0/24networking,并设置路由和路由。

基本上,这只是设置“服务器1”,就好像它正在处理“服务器2”客户端和networking的站点到站点连接一样。