hwdsl2 / setup-ipsec-vpn

Scripts to build your own IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Other
25.39k stars 6.34k forks source link

ikev2 分流后客户端之间无法互通 #1614

Closed huangqingchao closed 1 week ago

huangqingchao commented 1 week ago

任务列表

问题描述 使用 ikev2 方式,两个客户端连接后,两台客户端可以互相ping通 设置 分流 后,两个客户端互相无法ping通

重现步骤 重现该 bug 的步骤: 1、按照步骤搭建了仅ikev2,并且两个客户端连接成功,两个客户端都固定ipsec ip 用户1:u1 - RouterOS - ipsec ip 10.0.0.2 - 内网IP 192.168.0.1 用户2: u2 - Macbook 15.0.1 - ipsec ip 10.0.0.3 - 内网IP 192.168.31.2 u2 可以 ping 通 10.0.0.2,但无法ping 通192.168.0.1

2、u2 按照 IKEv2 模式:启用 VPN 分流 (split tunneling)方式,设置了

conn ikev2-shared
  ...
  # leftsubnet=0.0.0.0/0

conn u1
  leftsubnet=0.0.0.0/0
  ...

conn u2
  leftsubnet=192.168.0.0/24
  ...

3、两端连接后,u1没变,u2 MacBook的路由表

netstat -nr | grep 10.0
10.0.0.3           10.0.0.3           UH                 ipsec0
192.168.0          10.0.0.3           UGSc               ipsec0

4、这时候 u2 无法ping通 10.0.0.2,ping 192.168.0.1时,看到u1的ipsec peer没有收到任何数据包,也无法ping通

期待的正确结果 1、u2能ping通10.0.0.2 2、u2能ping通192.168.0.1

我的想法也应该有点问题,但是我是想要实现 1、ipsec 所有客户端网段10.0.0.0/24能够互通 2、所有客户端可以访问192.168.0.0/24网段 不知道能不能实现这个功能

日志 检查日志及 VPN 状态,并添加错误日志以帮助解释该问题(如果适用)。

服务器信息(请填写以下信息)

客户端信息(请填写以下信息)

其它信息 添加关于该 bug 的其它信息。

hwdsl2 commented 1 week ago

@huangqingchao 你好!关于你的用例:目前本项目对访问 VPN 服务器后面的子网有文档说明,请参见高级用法中的相关节。但是,对于访问 VPN 客户端后面的子网(比如你的用例是用户 2 访问用户 1 后面的子网)目前并不支持,没有文档说明。建议你可以另外尝试比如在用户 1 的子网 192.168.0.0/24 内搭建 VPN 服务器,或者尝试其他解决方案比如 WireGuard 等。