1

I run a home network through AndroidAP, powered by Android 7.1.1, which supports native IPv6, and appears to have a /64 allocation from the upstream provider.

The issue I'm having is that between the local machines, the fe80:: addresses appear to often be unreachable (and I don't want to use the public routable ones, due to the prefix changing with every reboot of the access point).

For example, opening an ssh connection between a Windows 7 and OS X 10.9, originally results in a networking error, only succeeding on the second attempt. Subsequently, existing connections, likewise, often break. Connections to the public internet never have these issues (thank god for no NAT).

I've tried troubleshooting by running ndp -an on OS X in a loop, and it seems that the address expiration policy may be to blame (but, per my knowledge, all settings are at their default).

% 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

As can be seen above, it appears that address cache expires within less than a minute, moves from the state of Reachable, to Stale, Delay and Probe. Whereas the majority of the IPv6 addresses for the MAC address of the AndroidAP itself, about a dozen total (no idea why so many are needed), appear to have an expiration time in the order of up to 24h.

What's going on, and how do I fix the IPv6 connectivity on my LAN?

cnst
  • 2,615

0 Answers0