通过OpenVPN在两个独立networking上的私有IP地址之间进行通信

我使用OpenVPN将两个networking(客户端A和B)连接在一起。 假设客户端A在IP地址为192.168.20.x的NAT后面,客户端B在IP地址为172.16.1.x的NAT后面。 有没有一种方法可以configuration我的设置,使客户端可以通过OpenVPN服务器(10.8.0.1,255.255.255.0)与对方的子网内的机器进行通信?

例如,如果客户端A的内部IP是192.168.20.50,客户端B是172.16.1.50,那么客户端A能够使用其私有IP地址成功地ping到客户端B或者跟踪到客户端B吗?

对的,这是可能的。

隧道的每一端必须在各自的私有networking中有接口。 也就是说,例如, 10.8.0.1必须在192.168.20.0/24networking中有一个地址,而10.8.0.2172.16.1.0/24networking中必须有一个地址(例如,我猜对了networking的networking掩码,你的设置可能是不同)。

然后,您需要在设备上启用正确的路由。

对于192.168.20.0/24networking中的客户,他们需要在他们的路由表中有一个路由,告诉他们通过192.168.20.x将数据包路由到172.16.1.0/24 ,其中x是对应于其他接口的八位字节10.8.0.1服务器。

然后, 10.8.0.1处的服务器必须有一个路由表入口,告诉到172.16.1.0/24networking的数据包必须通过10.8.0.2发送,即隧道的另一端。

那么你需要为隧道的另一端有相应的规则,交换networking地址。

实现这个最简单的方法是在该networking的路由器上运行OpenVPN服务器/客户端。 然后,不需要为每个客户端添加路由规则,因为路由是由默认网关处理的。 在这种情况下,只需要OpenVPN服务器/客户端的路由规则。

如果OpenVPN服务器/客户端是与默认路由器不同的机器,则需要将networking路由分发给客户端。 一种方法是通过DHCP。 如何configuration我的DHCP服务器来分配IP路由中介绍了一种方法? 。