我正在尝试在 ubuntu 服务器上使用 StrongSwan 创建 ikev2 VPN。
现在,在 Windows 10 客户端中,use default gateway on remote network
该选项默认处于关闭状态;因此,当我连接到服务器时,流量会完全绕过 VPN,除非我手动启用该选项。
但是,Windows 10 Mobile 没有该选项。
在StrongSwan 网站,有一段关于此问题及其解决方法的段落:
Microsoft 更改了 Windows 10 桌面版和移动版 VPN 路由行为,以适应新的 VPN 连接。VPN 连接的高级 TCP/IP 设置中的“在远程网络上使用默认网关选项”选项现在默认处于禁用状态。您可以在桌面版上启用此选项,但在移动版上无法启用。幸运的是,Windows 在连接时会发送 DHCP 请求,并添加 DHCP 回复选项 249 中提供的路由。
(然后是示例 dnsmasq 配置文件)
但不清楚我应该如何以这种方式配置 StrongSwan,而且我找不到任何好的资源来澄清这一点。
所以问题是,我该如何配置 StrongSwan 以告诉 Windows 10 通过 VPN 移动整个互联网流量(ipv4)?
这是我的ipsec.conf
:
# ipsec.conf - strongSwan IPsec configuration file
config setup
uniqueids=never
charondebug="cfg 2, dmn 2, ike 2, net 2"
conn %default
keyexchange=ikev2
ike=aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096,aes256-sha256-modp4096,aes256-sha1-modp4096,aes128-sha256-modp1536,aes128-sha1-modp1536,aes256-sha384-modp2048,aes256-sha256-modp2048,aes256-sha1-modp2048,aes128-sha256-modp1024,aes128-sha1-modp1024,aes256-sha384-modp1536,aes256-sha256-modp1536,aes256-sha1-modp1536,aes256-sha384-modp1024,aes256-sha256-modp1024,aes256-sha1-modp1024!
esp=aes128gcm16-ecp256,aes256gcm16-ecp384,aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096,aes256-sha256-modp4096,aes256-sha1-modp4096,aes128-sha256-modp1536,aes128-sha1-modp1536,aes256-sha384-modp2048,aes256-sha256-modp2048,aes256-sha1-modp2048,aes128-sha256-modp1024,aes128-sha1-modp1024,aes256-sha384-modp1536,aes256-sha256-modp1536,aes256-sha1-modp1536,aes256-sha384-modp1024,aes256-sha256-modp1024,aes256-sha1-modp1024,aes128gcm16,aes256gcm16,aes128-sha256,aes128-sha1,aes256-sha384,aes256-sha256,aes256-sha1!
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
leftsubnet=0.0.0.0/0
leftcert=vpnHostCert.pem
right=%any
rightdns=8.8.8.8,8.8.4.4
rightsourceip=172.16.16.0/24
conn IPSec-IKEv2
keyexchange=ikev2
auto=add
conn IPSec-IKEv2-EAP
also="IPSec-IKEv2"
rightauth=eap-mschapv2
rightsendcert=never
eap_identity=%any
conn CiscoIPSec
keyexchange=ikev1
# forceencaps=yes
rightauth=pubkey
rightauth2=xauth
auto=add
答案1
如果你安装 dnsmasq 并将其放入/etc/dnsmasq.conf
dhcp-vendorclass=set:msipsec,MSFT 5.0
dhcp-range=tag:msipsec,172.16.16.0,static
dhcp-option=tag:msipsec,6
dhcp-option=tag:msipsec,249, 0.0.0.0/1,0.0.0.0, 128.0.0.0/1,0.0.0.0
它在 Windows 客户端上添加了两个静态路由。这两个路由0.0.0.0/1
分别是 ipv4 地址范围的前半部分和128.0.0.0/1
后半部分。
由于某种原因,你不能这样做,0.0.0.0/0
但你必须将其分为两个范围。
我假设 Windows 会忽略,/0
因为静态路由不是为了充当默认网关