最新的Mac10.12系统的NAT64热点问题
Closed this issue · 3 comments
vintonliu commented
iphone手机连接Mac系统10.12之前的版本 NAT64热点,用getaddrinfo转换出来的v6 IP 是带了NAT64/DNS64 64:ff9b::/96前缀,但最新的10.12用这个函数转换的ip前缀是2001::的,你不是说这个是隧道通道的么,而且这个前缀好像除了2001固定,后面的都不固定吧,这种情况要如何处理?
randyqiu commented
TCP 没有问题,使用 getaddrinfo
转换 IPv4 地址,直接 connect
就可以了。但是我发现 UDP 无法发送成功,返回 -1,errno 为 1 (Operation not permitted)。怎么解?
wangyoucao577 commented
@vintonliu
建议检查下是否搞错了. 实验了下, 用getaddrinfo
转换的v6 ip
前缀没错, 还是64
开头. 2001
是否手机接上了这个NAT64 WIFI
后的手机上的本机IP.
另, iphone
接上这个转换后的WIFI
后, 手机的详细中并看不到ipv6
的地址, 只能看到DNS
中有个显示. 不知道苹果怎么想的, 一面强推ipv6
, 一面自己的手机上都看不到具体信息.
vintonliu commented
@wangyoucao577 应该没搞错,试过很多次,确实转换有不一样。后来只能去掉64这个前缀限制来使用。