如何解决为什么 macOS IKEv2 客户端无法通过隧道获得回复?
服务器: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,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 客户端?
解决方法
这是解决方案。
看起来 macOS 的 NAT 检测存在一些问题(我尝试了几个不同的主机)。所以客户端的 forceencaps=yes
ipsec.conf
解决了这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。