我通过AndroidAP(由Android 7.1.1驱动)运行家庭网络,该AndroidAP支持本机IPv6,并且似乎从上游提供程序分配了/ 64。
我遇到的问题是,在本地计算机之间,fe80::
地址似乎经常无法访问(并且我不希望使用公共可路由的地址,因为前缀随接入点的每次重新启动而更改)。
例如,打开Windows 7和OS X 10.9之间的ssh连接,最初会导致网络错误,仅在第二次尝试中成功。随后,现有的连接通常也会中断。与公共互联网的连接永远不会出现这些问题(感谢上帝,没有NAT)。
我曾尝试通过ndp -an
在OS X上循环运行来进行故障排除,但似乎应该归咎于地址过期策略(但据我所知,所有设置均为默认设置)。
% ndp -an | head -1 ; sh -c "while (true); do ndp -an | fgrep 8c:7 | sed -E 's#(::518)[0-9a-f:]+#\1...#g;s#(8c:7)[0-9a-f:]+#\1...#g'; sleep 1; done"
Neighbor Linklayer Address Netif Expire St Flgs Prbs
fe80::518...%en0 8c:7... en0 6s R
fe80::518...%en0 8c:7... en0 5s R
fe80::518...%en0 8c:7... en0 4s R
fe80::518...%en0 8c:7... en0 3s R
fe80::518...%en0 8c:7... en0 2s R
fe80::518...%en0 8c:7... en0 1s R
fe80::518...%en0 8c:7... en0 1d0h0m0s S
fe80::518...%en0 8c:7... en0 4s D
fe80::518...%en0 8c:7... en0 3s D
fe80::518...%en0 8c:7... en0 2s D
fe80::518...%en0 8c:7... en0 1s D
fe80::518...%en0 8c:7... en0 32s R
fe80::518...%en0 8c:7... en0 31s R
fe80::518...%en0 8c:7... en0 30s R
...
fe80::518...%en0 8c:7... en0 10s R
fe80::518...%en0 8c:7... en0 9s R
fe80::518...%en0 8c:7... en0 8s R
fe80::518...%en0 8c:7... en0 7s R
fe80::518...%en0 8c:7... en0 6s R
fe80::518...%en0 8c:7... en0 5s R
fe80::518...%en0 8c:7... en0 4s R
fe80::518...%en0 8c:7... en0 3s R
fe80::518...%en0 8c:7... en0 2s R
fe80::518...%en0 8c:7... en0 1s R
fe80::518...%en0 8c:7... en0 1d0h0m0s S
fe80::518...%en0 8c:7... en0 5s D
fe80::518...%en0 8c:7... en0 4s D
fe80::518...%en0 8c:7... en0 2s D
fe80::518...%en0 8c:7... en0 1s D
fe80::518...%en0 8c:7... en0 1s P 1
fe80::518...%en0 8c:7... en0 32s R
fe80::518...%en0 8c:7... en0 30s R
...
fe80::518...%en0 8c:7... en0 10s R
fe80::518...%en0 8c:7... en0 9s R
fe80::518...%en0 8c:7... en0 8s R
fe80::518...%en0 8c:7... en0 7s R
fe80::518...%en0 8c:7... en0 6s R
fe80::518...%en0 8c:7... en0 5s R
fe80::518...%en0 8c:7... en0 4s R
fe80::518...%en0 8c:7... en0 3s R
fe80::518...%en0 8c:7... en0 2s R
fe80::518...%en0 8c:7... en0 1s R
fe80::518...%en0 8c:7... en0 1d0h0m0s S
fe80::518...%en0 8c:7... en0 4s D
fe80::518...%en0 8c:7... en0 3s D
fe80::518...%en0 8c:7... en0 2s D
fe80::518...%en0 8c:7... en0 1s D
fe80::518...%en0 8c:7... en0 32s R
^C
从上面可以看出,地址缓存似乎在不到一分钟的时间内过期,从“可到达”状态变为“过时”,“延迟”和“探测”。尽管AndroidAP本身的MAC地址的大多数IPv6地址(总数约为12个)(不知道为什么需要那么多)似乎都具有长达24小时的到期时间。
怎么回事,如何在局域网上修复IPv6连接?