To keep up with the times and experience the freshness of IPv6, I plan to enable IPv6 on my secondary internal network.

Since my home network has two levels, the first level is the main router. It can obtain IPv6 and IPv6-PD (Prefix Delegation) from the carrier and can assign a public IPv6 address to the devices connected to it. The second level is in my study, and it can only obtain a public IPv6 address for itself, but only an internal IPv6 address for the devices connected to it.

Open the secondary router’s OpenWRT settings -> Interface -> WAN6 -> DHCP Server -> IPv6 Settings.

Set the Router Advertisement (RA) service, DHCPv6 service, and NDP Proxy all to relay mode, and check the option “Designated master.”

Designated master (checked)

Set this interface as master for RA and DHCPv6 relaying as well as NDP proxying.
RA-Service relay mode

Configures the operation mode of the RA service on this interface.
DHCPv6-Service relay mode

Configures the operation mode of the DHCPv6 service on this interface.
NDP-Proxy relay mode

Then, open the OpenWRT settings -> Interface -> LAN -> DHCP Server -> IPv6 Settings.

Set the Router Advertisement (RA) service, DHCPv6 service, and NDP Proxy all to relay mode. Note that this time, do not check “Designated master.”

Finally, save and apply everything, and then test IPv6 again. I found that IPv6 can now be obtained normally.

Final UCI configuration:

root@OpenWRT-MY:~# uci show dhcp.lan
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='100'
dhcp.lan.limit='150'
dhcp.lan.leasetime='12h'
dhcp.lan.dhcpv4='server'
dhcp.lan.ra='relay'
dhcp.lan.dhcpv6='relay'
dhcp.lan.ndp='relay'
root@OpenWRT-MY:~# uci show dhcp.wan6
dhcp.wan6=dhcp
dhcp.wan6.interface='wan6'
dhcp.wan6.ignore='1'
dhcp.wan6.master='1'
dhcp.wan6.ra='relay'
dhcp.wan6.dhcpv6='relay'
dhcp.wan6.ndp='relay'