[19.07] OpenWrt not handing out LAN IPv6 addresses

I've been running my own pre-19.07 builds for a while, but I noticed last week IPv6 LAN connectivity is broken. OpenWrt isn't handing out LAN IPv6 addresses anymore, but IPv6 WAN functionality still works (that is, I can still ping IPv6 websites from my router, but clients only have their link-local IPv6 addresses).

Since the WAN and LAN interfaces have valid IPv6 addresses, the issue seems to be with the OpenWrt configuration, not with my ISP's modem/router (which I cannot bridge, but which seems to be delegating correctly from what I can see).

/etc/config/dhcp

config dhcp 'lan'
	option interface 'lan'
	option leasetime '12h'
	option start '40'
	option limit '60'
	list dhcp_option '3,10.0.0.1'
	list dhcp_option '6,10.0.0.1,9.9.9.9'
	option dhcpv6 'relay'
	option ra 'relay'
	option ndp 'relay'
	#option ra_management '1'

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

Requesting an IPv6 address from a client does not show anything whatsoever in logread. Odhcpd is running.

The WAN interface and the LAN bridge have a routable IPv6 address from the same 'family' (2a02:xxxx should be OK afaik):


# ip -6 addr show eth0.2
20: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet6 2a02:578:xxxx:800:42b0:76ff:fe24:24b8/128 scope global dynamic noprefixroute 
       valid_lft 6636sec preferred_lft 3036sec
    inet6 fe80::42b0:76ff:fe24:24b8/64 scope link 
       valid_lft forever preferred_lft forever
# ip -6 addr show br-lan
18: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet6 2a02:578:xxxx:8fc::1/62 scope global dynamic noprefixroute 
       valid_lft 6633sec preferred_lft 3033sec
    inet6 fd99:54:4952::1/60 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::42b0:76ff:fe24:24bc/64 scope link 
       valid_lft forever preferred_lft forever

Any ideas what's wrong here?

Actually the LAN prefix is /62. Are you sure you need to use the relay settings? To me it looks like the upstream router has delegated at least a /62 prefix to the openwrt router. And the upstream router seems to have received at least a /56 from the ISP, since that prefix (2a02:578:xxxx:800::/56) needs to contain both 2a02:578:xxxx:800::/64 and 2a02:578:xxxx:8fc::/62.

BTW have you tried using the LAN address on the openwrt router?
ping -I 2a02:578:xxxx:8fc::1 ipv6.google.com

Thanks. I'm not sure at all, however, I had them on 'server' before and that seemed to work at some point, but it doesn't anymore. I'm still on the same ISP so it seems like an OpenWrt thing.

What further points to that is that I reinstated my DIR-860L (with an older pre-19.07 build) and that somehow did hand out IPv6 addresses again to the clients.

The ping command you suggest works fine, but so does just using ping6 ipv6.google.com e.g. .

Edit: I switched to server again but I'm not seeing anything whatsoever in the OpenWrt log.

config dhcp 'lan'
	option interface 'lan'
	option leasetime '12h'
	option start '40'
	option limit '60'
	list dhcp_option '3,10.0.0.1'
	list dhcp_option '6,10.0.0.1,9.9.9.9'
	option dhcpv6 'server'
	option ra 'server'
	option ra_management '1'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

Edit: It turned out to be a syntax error. Uci pointed me to it so I started going through /etc/config/dhcp again and there was a stray double quote instead of a single one. :zipper_mouth_face:

All hunk dory again... :cowboy_hat_face:

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.