最近,我将 Home-Run OpenVPN 换成了 Home-Run Cisco (XAuth) IPSec VPN,以提高兼容性。但是,我还没有找到有关从 IPSec 服务器向客户端“推送”路由的文档。在 OpenVPN 中,这非常简单,只需添加push "route 10.10.10.0 255.255.255.0"
到配置中,即可10.10.10.0/24
通过服务器将客户端路由到子网。但是,Cisco IPSec VPN 的配置有很大不同,我不知道该怎么做。为了澄清起见,以下是 VPN 上的客户端现在可以看到的内容:
+--------------+ +--------+ +--------------+
| Client #1 |--------------| Server |----------------| Client #2 |
| 198.51.100.2 | +--------+ | 198.51.100.3 |
+--------------+ +--------------+
但我希望它看起来更像这样:
+---------------+
+-------------+ | Device on |
| Device on | +----| LAN #2 |
| LAN #1 | | | 192.168.0.100 |
| 192.168.0.3 |-------------+ +---------------+
+-------------+ |
+--------------+ +--------+ +--------------+
| Client #1 |--------------| Server |----------------| Client #2 |
| 198.51.100.2 | +--------+ | 198.51.100.3 |
+--------------+ +--------------+
这样,例如,如果 LAN #2 上的设备正在运行 Web 服务器,则连接到 VPN 的客户端可以键入http://192.168.0.100/
Web 浏览器并进行连接。如果客户端 #1 也在运行 Web 服务器,则 LAN 上的设备也可以通过 连接到它http://198.51.100.2/
。此外,VPN 的客户端可以相互 ping 通,也可以 ping LAN 上的设备。谢谢!
注意:我没有使用 L2TP/IPSec,而是使用了 Cisco IPSec/Xauth:
编辑:我测试了在客户端上手动添加路由,并且它可以工作,所以这只是服务器告诉客户端添加这样的路由的问题。
例如,要通过网关 198.51.100.1 路由子网 192.168.0.0/24,请在 Mac OS X 上运行以下命令:
sudo route -n add -net 192.168.0.0/24 198.51.100.1
以及这个命令:
sudo route add -net 192.168.0.0/24 gw 198.51.100.1
在 Linux 上。