I have Ubuntu (Armbian) running on an Orange Pi, and I'm using NetworkManager's internet connection sharing to share a wifi connection with an attached wired ethernet device. (The "wired connection" in NetworkManager has its IPv4 configured to Shared.) This works fine for basic internet sharing, but the wifi network I'm connected to has IPv6 enabled, and I'd like to pass that connectivity along to the wired device. How can I do that?
This has been fixed in the master branch of NetworkManager; the next release (1.22?) should have this work out of the box.
Starting with that version, the below workaround becomes only relevant to connections that are shared to more interfaces than the router provides in a single prefix (one should always work, typical routers seem to cater for four subnets).
Original post
NetworkManager can do IPv6 forwarding by doing prefix delegation. Currently, though, the default DHCP client used by NetworkManager can not do that, so you may have to install isc-dhcp-client and configure NetworkManager to use it by adding a line
in the paragraph after the
[main]
line in/etc/NetworkManager/NetworkManager.conf
.Then, NetworkManager can ask for a prefix from your router on the WiFi link, use that as addresses on the Ethernet link and will forward messages between those interfaces -- provided the router can provide such a prefix (which home routers should).