Closed userofjack closed 6 months ago
在使用IKEv2连接后,Windows客户端会出现所有流量都分配至VPN服务器(即此时客户端通过浏览器查询自身IP时,IP显示为VPN服务器端IP)的情况。
事实上我们只希望内网请求走VPN,例如访问baidu.com时使用客户端自身网络,而访问虚拟内网(例如192.168.43.x)时使用VPN连接。
首先,确定VPN服务器的内网网段和子网掩码(一般可以在云服务器后台的子网查看,以腾讯云为例)
计算子网掩码:
进入设置-网络和Internet-VPN-(下方相关设置)-更改适配器选项,在新窗口中选择VPN连接-右键-属性-网络-Internet协议版本 4(TCP/IPv4)-属性-高级-取消勾选“在远程网络上使用默认网关”-确定,如下图:
断开VPN并重新连接【重要!】
此时客户端能够连接VPN,可以访问外网(IP为客户端自身网络IP),但无法访问虚拟内网资源。
打开命令提示符,输入以下命令:
route add -p [服务器内网网段] mask [服务器内网的子网掩码] [VPN客户端获得/配置的虚拟内网IP或虚拟内网网关IP]
在本例中,输入的命令如下:
此时VPN客户端访问非虚拟内网资源时(例如ip138.com),IP应该是VPN客户端自身网络的IP,而非VPN服务器IP。
@userofjack 感谢你的教程,我有空加到项目文档。此用例也可以使用 VPN 分流实现,参见项目文档的高级用法中的 VPN 分流一节。
我很早测试过vpn分流,没有成功。当时提过issue:
https://github.com/hwdsl2/setup-ipsec-vpn/issues/1405
在使用IKEv2连接后,Windows客户端会出现所有流量都分配至VPN服务器(即此时客户端通过浏览器查询自身IP时,IP显示为VPN服务器端IP)的情况。
事实上我们只希望内网请求走VPN,例如访问baidu.com时使用客户端自身网络,而访问虚拟内网(例如192.168.43.x)时使用VPN连接。
首先,确定VPN服务器的内网网段和子网掩码(一般可以在云服务器后台的子网查看,以腾讯云为例)
计算子网掩码:
进入设置-网络和Internet-VPN-(下方相关设置)-更改适配器选项,在新窗口中选择VPN连接-右键-属性-网络-Internet协议版本 4(TCP/IPv4)-属性-高级-取消勾选“在远程网络上使用默认网关”-确定,如下图:
断开VPN并重新连接【重要!】
此时客户端能够连接VPN,可以访问外网(IP为客户端自身网络IP),但无法访问虚拟内网资源。
打开命令提示符,输入以下命令:
在本例中,输入的命令如下:
此时VPN客户端访问非虚拟内网资源时(例如ip138.com),IP应该是VPN客户端自身网络的IP,而非VPN服务器IP。