StrongSwan ikev2 在 Windows 10 中通过 VPN 进行路由

StrongSwan ikev2 在 Windows 10 中通过 VPN 进行路由

我正在尝试在 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因为静态路由不是为了充当默认网关

相关内容