No DNS and ULA on IPv6 relay

I am new to IPv6 kind of thing. Here are my configurations:

/etc/config/network

config globals 'globals'
        option ula_prefix 'fd5d:52a2:e27b::/48'

config interface 'lan'
        option device 'eth0.2670'
        option proto 'static'
        option ipaddr '172.26.97.1'
        option netmask '255.255.255.224'
        option ip6assign '64'
        list ip6class 'local'

config interface 'wan1'
        option device 'eth1'
        option proto 'pppoe'
        option username '<pppoe_account>'
        option password '<pppoe_password>'
        option ipv6 '0' # set to 0 to disable IPv6 negotiation on the PPP link

config interface 'wan1_ipv6'
        option device '@wan1'
        option proto 'dhcpv6'

/etc/config/dhcp

config dhcp 'lan'
        option interface 'lan'
        option ignore '0'
        option dhcpv4 'server'
        option start '2'
        option limit '29'
        option ra 'relay'
        option dhcpv6 'relay'
        option ndp 'relay'
        option leasetime '12h'

config dhcp 'wan1'
        option interface 'wan1'
        option ignore '1'

config dhcp 'wan1_ipv6'
        option interface 'wan1_ipv6'
        option ignore '1'
        option ra 'relay'
        option dhcpv6 'relay'
        option ndp 'relay'
        option master '1'

And here is what I get. I do not care about IP addresses privacy, they are dynamic and will be changed on next boot:
image

I do not know why I cannot get DHCPv6 DNS information from my ISP on my computer:

image

... while the OpenWrt router receives DNS normally:

image

You may have noticed that I do not get any Unique Local Address on my computer either. What could be the cause of the 2 issues and how do I fix it?

There was (maybe still is) a bug / limitation in udhcpd that it does not properly RA a DNS server in relay mode. Your client will fall back to using the IPv4 server, which should also serve IPv6 IPs.

Turn off ULA (comment out ula_prefix) you don't need it. I have no idea why it is enabled by default. Very few use cases call for the use of ULAs. Really. You don't need a ULA here. Forget that ULAs exist unless you're setting up a multi-site VPN system or something that does call for "private" addresses.

Since you do have a delegated /64 prefix from the ISP you could use conventional IPv6 delegation, though it will only work with one LAN since there is only one /64 space available to delegate.

2 Likes

A somehow legit (but still debatable) use case for ULA is if you have two ISP links but no provider independent address assignments but you do need somehow stable addresses within your lan.

Yes I do need ULA to get static IP addresses for servers and CCTV, as well as VPN because the prefixes my ISP gives are dynamic.

I have multiple subnets, so a single delegated /64 prefix is not enough. I would rather ignore it for now, and relay all subnets through wan1_ipv6.

I guess I did not receive ULA because the RA service and DHCPv6 service were set to relay, which relayed ICMPv6 packets from wan1_ipv6 (which contained IPv6 information from my ISP) instead of providing IPv6 information from the OpenWrt itself, is that correct?