最近,我从家用OpenVPN更改为家用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通,也可以与LAN上的设备进行ping通。谢谢!
注意:我不使用L2TP / IPSec,我使用Cisco IPSec / Xauth:
编辑:我测试了在客户端上手动添加路由,它可以工作,所以这只是服务器告诉客户端添加这样的路由的问题。
EG要通过网关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上。
什么是“客户端”软件?您是在建立IPSec连接还是使用Cisco Anyconnect之类的工具?我假设您以前使用过OpenVPN客户端吗?我很确定,没有路由协议,就无法通过L2TP / IPSec连接推送路由。这是一项不存在的功能,但是可以通过添加特定的客户端或路由协议来实现。
—
Appleoddity
哦,我不使用L2TP,而是使用“ Cisco IPSec”,如编辑的帖子中所示。我使用的客户端是Mac OS X中“网络”设置中的内置VPN连接。我从OpenVPN切换到Cisco IPSec,以避免需要额外的软件。
—
BoomBoomPowe
我很感激不希望使用第三方软件。我相当肯定IPSec协议没有为推送路由做任何准备。与OpenVPN一样,这是在服务器和客户端之间以专有方式实现的。除了在每个系统上使用静态路由之外,您还可以尝试使用DHCP:ercpe.de/blog/…–
—
Appleoddity
在此处查看有关match子句的答案:networkengineering.stackexchange.com/questions/16428/…–
—
Appleoddity