After reading some documentation I understand the following:
Most IPv4 infrastructure can be reached from an IPv6 network via NAT64+DNS64.
DNS64 wil synthesise a “AAAA” for IPv4 only websites by appending the “64:ff9b:: / 96” to their IPv4 addresses and NAT64 knows how to route it.
Both of these can be setup on opnsense via plugins
Most modern OS support 464XLAT (and auto enable it).
With 464XLAT the OS auto assigns a IPv4 address for itself and tunnels traffic on this IPv4 over the network’s IPv6 interface. So they client applications don’t even know that they are on IPv6 only network.
Infrastructure:
I plan on running a DNS64 server (also with AAAA-only mode enabled) via Unbound DNS on opnsense.
Configure all servers/clients on my network to use opnsense’s DNS server
Switch to Mullvad VPN for clients (they native IPv6).
Open Question:
If some guest connects to my local network and their machine is configured to use just “8.8.8.8” or “8.8.8.8 / 2001:4860:4860::8888 /
2001:4860:4860::8844” as default DNS? They won’t be able to reach the IPv4 infrastructure on the internet, correct?
I am guessing many IoT distos like (raspbian, motioneye) do support native IPv6 and/or 464XLAT out of the box …?
@thro thanks for fixing my mistake. The way nat64 work is the way I thought it worked. My internet servce provider just add ipv6 to my area like two weeks ago. I haven’t had time to implement yet, have to many other projects to do
first.
Anyone who has ipv6 available, unless you’re trying to do this out of curiosity, I’d suggest to just run dual stack and let the ISP handle it.
If you don’t want inbound ipv4 just firewall it off at your router, but trying to run ipv6 only is probably more trouble than its worth for most people - unless, as above - its out of curiosity to see if you can
I’ve been running dual stack ipv6 for about 10 years now, the only real complication is just to make sure you permit the required ipv6 ICMP types on your firewall. blocking everything inbound can break ipv6 MTU discovery, etc.