我有以下场景。我有两个远程网络和一个本地客户端。我已将OpenVPN服务器放置到远程网络B中,并将另一个OpenVPN客户端放置在远程网络A中的计算机上(我们将其称为远程客户端)。设置如下所示:
+-----------------+ +-----------------+ +-----------------+
| Remote Client | | VPN Server | | Local Client |
| OpenVPN IP: | | OpenVPN IP: | | OpenVPN IP: |
| 192.168.254.2 +<-->+ 192.168.254.1 +<-->+ 192.168.254.3 |
| Host IP: | | Host IP: | | Host IP: |
| 10.0.0.13 | | 10.1.0.27 | | 192.168.0.45 |
+--------+--------+ +--------+--------+ +-----------------+
^ ^
| |
v v
+--------+--------+ +--------+--------+
| | | |
| | | |
| Remote | | Remote |
| Network A | | Network B |
| 10.0.0.0/16 | | 10.1.0.0/16 |
| | | |
+-----------------+ +-----------------+
我已将Remote Client配置为远程网络A中192.168.254.0/24流量的默认网关。我还在Local Client上添加了一条路由,通过OpenVPN服务器将流量路由到远程网络A.
现在,当目标IP位于10.0.0.0/16网络中时,OpenVPN服务器将传入流量转发到远程客户端仍然缺少一个步骤。
如何通过远程客户端将远程网络A的目标路由到OpenVPN服务器上的传入流量?
这可能不使用NAT吗?
解决方案是使用routed LANs Wiki和OpenVPN的howto中描述的路由LAN。
特别是,我不得不将以下内容添加到openvpn server.conf
:
route 10.0.0.0/16
push "route 10.0.0.0 255.255.0.0"
client-to-client
client-config-dir ccd
我需要创建一个名为/ etc / openvpn / ccd的文件夹,其中包含Remote Client的文件和以下内容:
iroute 10.0.0.0 255.255.0.0