IPv6 tethering
See original GitHub issueCurrently AOSP only has support for IPv6 tethering when using mobile networks under supported carriers since Android 7.0.
It’s unclear how to do this for IPv6-capable VPN or even Wi-Fi. The main issue is configuring a valid IPv6 address for clients. This is further complicated by the fact that sometimes dnsmasq (actually I’m not 100% sure yet) will configure another valid IPv6 address using Router Advertisement.
Issue Analytics
- State:
- Created 6 years ago
- Comments:42 (14 by maintainers)
Top Results From Across the Web
IPv6 When Tethering - WirelessMoves
IPv6 When Tethering ... At first the PC checks if its IPv6 link local address with interface-id set to the MAC address of...
Read more >Connection Sharing / Tethering with IPv6 - Reddit
Many devices have options for tethering (e.g. smartphones) or connection sharing (PCs). These features usually allow you to share an (IPv4) internet…
Read more >Observations on tethering IPv6 - WIRELESS JOINT
Observations on tethering IPv6 ... The standard way to classify hotspot/tether traffic on mobile networks is through the the APN settings.
Read more >wifi hotspot - Does Android have support for IPv6 tethering?
Not only that, but tethering explicitly doesn't even work at all when you're on an IPv6-only network, unless your phone has IPv4 connectivity, ......
Read more >Tethering | Android Open Source Project
The Tethering module shares an Android device's internet connection with other connected client ... The Tethering module supports IPv4 and IPv6 dual stack....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Finally stumbled on how this can be done, I feel really dumb for not landing on this sooner. Turns out we can use TPROXY mangle rules to capture and redirect outbound IPv6 traffic to a local transparent proxy. transocks-wong and microsocks (for example) would be enough for TCP support, but I’m unsure about UDP atm.
The kernel module to achieve this is very widely supported on Android: CONFIG_NETFILTER_XT_TARGET_TPROXY
Think I answered poorly. AFAICT public ipv6 addresses for tethered clients are configured via slaac server on the provider side, not anything on the client side. Guess this would be testable by blocking icmp6 between rndis0 and the ipv6 mobile interface and reconnecting.
I had some recent success getting tethering with ipv6 working. I grabbed Lineage sources for my phone and rebuilt my kernel with CONFIG_NF_NAT_IPV6 and CONFIG_IP6_NF_TARGET_MASQUERADE enabled. Also cross-compiled radvd for ipv6 provisioning. radvd.conf defines interface rndis0, prefix fd00::/64, and ipv6 dns servers.
Here I set the ipv6 address and route, mark traffic for the global ipv6 subnet, and add the missing ip6tables rules to match. Found I needed to call dnsmasq directly as ndc tether seemed to interfere.