I recently upgraded from OpenWRT 19 to 21, and since it required me to wipe my router anyway, I upgraded my router and started from scratch. Unfortunately, I can't seem to recreate my previously working IPv6 configuration.
My main problem is that I can't seem to assign the router an IPv6 address on the local lan interface. After I create the lan interface, the options to set the IPv6 address appear the very first time, but then disappear from the Interfaces > Edit > General page after that. It does work temporarily if I edit /etc/config/network
, manually add list ip6addr xxx::1/64
, and /etc/init.d/network restart
. However, this seems to get removed from the configuration file later on when I do anything through luci. I have luci-proto-ipv6
installed, and I do see IPv6 address options for 6in4 interfaces. I also have odhcpd-ipv6only
installed--I know the documentation says I need odhcpd
, but since I'm only using it for IPv6 route advertisements, I assume that's okay.
I should note that the router itself can access IPv6 without any problem, and if I manually force it to have an address, it temporarily works. Hence, I know I have the right addresses and so forth. Here is what my configuration looks like right now, though I've tried many variants of this:
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '172.17.0.1'
option netmask '255.255.0.0'
option ip6assign '60'
option ip6hint '0000'
list ip6class 'wan6'
option force_link '0'
option defaultroute '0'
option ip6ifaceid '::1'
config interface 'wan6'
option proto '6in4'
option ip6addr 'MY-WAN-ADDR/64'
list ip6prefix 'MY-NETWORK::/48'
option ip6assign '64'
option delegate '0'
# peer details ...
I think what's going on is that OpenWRT wants me to use prefix delegation or something, but I don't have any kind of upstream DHCPv6 server, I just have a statically assigned /48. So the static address I want is MY-NETWORK::1/64. It would be a bonus if I could also use MY-NETWORK:10::1/64 for my guest network, which is what I'm trying to do by setting the ip6hint to 0000
, but frankly at this point I'd be happy just to have IPv6 working on my main lan network.
For what it's worth, this is in /etc/config/dhcp
:
config dhcp 'lan'
option interface 'lan'
option leasetime '12h'
option start '512'
option limit '64512'
list ra_flags 'managed-config'
list ra_flags 'other-config'
option ra 'server'
config dhcp 'wan6'
option interface 'wan6'
option ignore '1'
list ra_flags 'none'
Thanks for any explanations of what I'm doing wrong, or suggestions for fixing it.