One option is to set up an IPv6 NAT on the guest network. It won't work for everything, but it's better than only having IPv4. Instructions for OpenWrt 23.05:
Complete the steps to set up an IPv4 guest network on OpenWrt.
Set a private IPv6 address and an IPv6 routed prefix on the guest interface. You can pick any subnet from fd00::/64
to fdff::/64
. In this example I used the first one:
In the DHCP Server tab, turn on router advertisement and the DHCPv6 server:
In the IPv6 RA settings tab, set Default router to forced:
Go to the firewall settings and click the Edit button next to the guest zone:
Under Advanced Settings, check the box IPv6 Masquerading, but limit it to your private subnet:
You don't have to enter your private IPv4 subnets here. If only an IPv6 subnet is specified on this tab, the IPv4 NAT continues to operate on all private subnets.
In the Traffic Rules tab, add a rule that allows ICMP input so that SLAAC works on the guest network:
If all went well, the regular network will continue to work as though there were no guest network. In addition, when a device on the guest network visits https://test-ipv6.com/, it will get a 10/10 score too and its public IPv6 address will be the IPv6 address of the router's WAN interface.