Hotspot fails to share an IPv6-only connection correctly
I was trying to run a hotspot from a Pinephone running Mobian (Debian/Gnome adapted for phones), to provide connectivity to a laptop running a standard Debian install.
Both devices are running NetworkManager 1.30.6 from the Debian repositories, which is the latest packaged version available.
The phone's LTE modem is managed through ModemManager and NetworkManager. The
cdc-wdm0 interface is assigned a public IPv6 address, and no IPv4 address. Web browsing works correctly from the phone and whatismyip.com shows the public IPv6 address assigned to the interface.
On the phone I enabled the hotspot from the Wifi section in the Gnome settings app. This created a connection called "Hotspot", in which both IPv4 and IPv6 address modes are shown as "Shared with other computers".
On the laptop, I connected to the SSID for the hotspot by selecting it from the NM applet. This created a connection with the same name as the SSID, in which the IPv4 and IPv6 modes are shown as "Automatic (DHCP)" and "Automatic" respectively.
The laptop is assigned an address in the 10.42.0.0 range, with the phone as gateway and DNS on 10.42.0.1. A link-local IPv6 address is assigned, but no IPv6 default route is created.
DNS lookups work on the laptop since they are handled by the phone, but no connectivity is available on either IPv6 or IPv4, due to the lack of default routes at the laptop and phone respectively:
$ ping -6 www.google.com ping: connect: Network is unreachable $ ping -4 www.google.com PING www.google.com (22.214.171.124) 56(84) bytes of data. From mobian.local (10.42.0.1) icmp_seq=1 Destination Net Unreachable
The laptop is assigned an IPv6 address and can send and receive IPv6 traffic.