0

服务器:Debian buster(4.19);强力天鹅 5.7.2

ipsec.conf

conn %default
 keyexchange=ikev2
 ike=aes256-aes128-sha256-sha1-modp3072-modp2048-modp1024
 esp=aes256-sha1-ecp256
 fragmentation=yes
 rekey=no
 compress=yes
 dpdaction=clear
 left=100.200.100.200
 leftauth=pubkey
 leftid=@mydnsname.com
 leftcert=server.pem
 leftsendcert=always
 leftsubnet=10.0.0.0/16
 leftfirewall=yes
 lefthostaccess=yes
 right=%any
 rightauth=pubkey
 rightsourceip=10.10.0.0/16
 rightdns=10.0.89.1

conn ikev2-pubkey
 auto=add

Linux 和 Windows 客户端运行良好。例如,我可以看到从客户端到服务器的 ping,如下所示:

19:50:18.075816 IP me.59547 > server.4500: UDP-encap: ESP(spi=0xcbb1e4ea,seq=0x32b), length 132
19:50:18.076105 IP server.4500 > me.59547: UDP-encap: ESP(spi=0xc14e4d72,seq=0x329), length 132

隧道状态:

ikev2-pubkey[439]: ESTABLISHED 26 minutes ago, 100.200.100.200[mydnsnmae.com]...150.160.150.160[me]
ikev2-pubkey{331}:  INSTALLED, TUNNEL, reqid 177, ESP in UDP SPIs: cbb1e4ea_i c14e4d72_o
ikev2-pubkey{331}:   10.0.0.0/16 === 10.10.0.1/32

但是对于 macOS (Catalina),事情就另当别论了。我已成功建立连接:

ikev2-pubkey[442]: ESTABLISHED 7 minutes ago, 100.200.100.200[mydnsnmae.com]...130.120.130.120[me-mac]
ikev2-pubkey{334}:  INSTALLED, TUNNEL, reqid 176, ESP SPIs: c6ba543e_i 03ba0a5a_o
ikev2-pubkey{334}:   10.0.0.0/16 === 10.10.0.4/32

并且只看到一种方式的数据包:

20:01:27.933739 IP 150.160.150.160 > 100.200.100.200: ESP(spi=0xc632be22,seq=0x5f), length 392
20:01:29.073710 IP 150.160.150.160 > 100.200.100.200: ESP(spi=0xc632be22,seq=0x60), length 392
20:01:29.231101 IP 150.160.150.160 > 100.200.100.200: ESP(spi=0xc632be22,seq=0x61), length 392
20:01:34.683591 IP 100.200.100.200.4500 > 150.160.150.160.4500: NONESP-encap: isakmp: child_sa  inf2
20:01:34.696358 IP 150.160.150.160.4500 > 100.200.100.200.4500: NONESP-encap: isakmp: child_sa  inf2[IR]
20:01:41.563563 IP 150.160.150.160 > 150.160.150.160: ESP(spi=0xc632be22,seq=0x62), length 136

我看到和之间的区别ESP in UDP SPIs:ESP SPIs:但不明白它的含义。

我应该检查什么才能使 macOS VPN 客户端正常工作?

4

1 回答 1

0

这是解决方案。macOS 的 NAT 检测似乎存在一些问题(我尝试了几个不同的主机)。所以forceencaps=yes在客户端ipsec.conf解决了这个问题。

于 2021-01-13T12:38:41.920 回答