Ipv6 only on OpenWrt router not on LAN

i am not able to access ipv6 on LAN
it works fine on router when I SSH'ed into openwrt
what to do?

cat /etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd21:f920:7675::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0.1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'eth0.2'
	option macaddr '14:eb:b6:8a:cf:0a'

config interface 'wan'
	option device 'eth0.2'
	option proto 'dhcp'

config interface 'wan6'
	option device 'eth0.2'
	option proto 'dhcpv6'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '2 3 4 5 0t'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '1 0t'
root@OpenWrt:~# ping google.com
PING google.com (2404:6800:4009:82b::200e): 56 data bytes
64 bytes from 2404:6800:4009:82b::200e: seq=0 ttl=116 time=32.212 ms
laptop:~$ ping google.com
PING google.com (142.250.77.78) 56(84) bytes of data.
64 bytes from bom07s27-in-f14.1e100.net (142.250.77.78): icmp_seq=1 ttl=113 time=44.4 ms

LAN ipv6

IPv6: fd21:f920:7675::1/60

WAN6 Ipv6
2001:4490:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64

  • You must use ping6 on most Linux devices to ping an IPv6 address
  • Do you have Public IPv6 addresses assigned to LAN?
1 Like

LAN has only local ipv6 assigned fe80::8473:7ba:e276:cfb3

ping6 ipv6.google.com
ping6: connect: Network is unreachable

That would need to be fixed to have Global IPv6 connectivity on LAN, then.

Usually you need a larger subnet so /64 can be assigned to LAN.

@trendy - do you have any ideas?

1 Like

What is the output of ifstatus wan6 ?

1 Like
{
	"up": false,
	"pending": true,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"proto": "dhcpv6",
	"device": "eth0.2",
	"data": {
		
	}
}

ifup wan6; sleep 20; ifstatus wan6
and post the output.

ifup wan6; sleep 20; ifstatus wan6
^[[A{
	"up": false,
	"pending": true,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"proto": "dhcpv6",
	"device": "eth0.2",
	"data": {
		
	}
}

Very weird.

Please run the following commands (copy-paste the whole block) and paste the output here, using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have

ubus call system board; \
uci export network; \
uci export dhcp; uci export firewall; \
head -n -0 /etc/firewall.user; \
ip -6 addr ; ip -6 ro li tab all ; ip -6 ru; ifstatus wan
{
	"kernel": "5.4.179",
	"hostname": "OpenWrt",
	"system": "Qualcomm Atheros QCA956X ver 1 rev 0",
	"model": "TP-Link Archer C7 v5",
	"board_name": "tplink,archer-c7-v5",
	"release": {
		"distribution": "OpenWrt",
		"version": "21.02.2",
		"revision": "r16495-bf0c965af0",
		"target": "ath79/generic",
		"description": "OpenWrt 21.02.2 r16495-bf0c965af0"
	}
}
package network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdc1:5997:47ce::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0.1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '56'

config device
	option name 'eth0.2'
	option macaddr '14:eb:b6:8a:cf:0a'

config interface 'wan'
	option device 'eth0.2'
	option proto 'pppoe'
	option username 'REDACT'
	option password 'REDACT'
	option ipv6 'auto'
	option peerdns '0'
	list dns '1.1.1.1'
	list dns '208.67.220.220'
	list dns '2606:4700:4700::1001'
	list dns '2620:119:53::53'

config interface 'wan6'
	option device 'eth0.2'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option peerdns '0'
	list dns '2606:4700:4700::1001'
	list dns '2620:119:53::53'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '2 3 4 5 0t'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '1 0t'

package dhcp

config dnsmasq
	option domainneeded '1'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option ednspacket_max '1232'
	option localservice '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'
	list dhcp_option '6,192.168.1.216'
	option ra 'server'
	list dns 'fdc1:5997:47ce:0:e65f:1ff:fe72:b67e'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'
	list ra_flags 'none'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'


package firewall

config defaults
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option flow_offloading '1'

config zone
	option name 'lan'
	list network 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option src_ip 'fc00::/6'
	option dest_ip 'fc00::/6'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

config rule
	option name 'Support-UDP-Traceroute'
	option src 'wan'
	option dest_port '33434:33689'
	option proto 'udp'
	option family 'ipv4'
	option target 'REJECT'
	option enabled 'false'

config include
	option path '/etc/firewall.user'

# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.

# Internal uci firewall chains are flushed and recreated on reload, so
# put custom rules into the root chains e.g. INPUT or FORWARD or into the
# special user chains, e.g. input_wan_rule or postrouting_lan_rule.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::16eb:b6ff:fe8a:cf09/64 scope link 
       valid_lft forever preferred_lft forever
8: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::16eb:b6ff:fe8a:cf0a/64 scope link 
       valid_lft forever preferred_lft forever
9: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1480 state UNKNOWN qlen 3
    inet6 2001:4490:4e5c:5a1c:8508:c7cd:bb7f:4a1/64 scope global dynamic noprefixroute 
       valid_lft 2591936sec preferred_lft 604736sec
    inet6 fe80::8508:c7cd:bb7f:4a1/128 scope link 
       valid_lft forever preferred_lft forever
57: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fdc1:5997:47ce::1/56 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001:4490:4e5d:7288::1/64 scope global dynamic noprefixroute 
       valid_lft 68849sec preferred_lft 68849sec
    inet6 fe80::16eb:b6ff:fe8a:cf09/64 scope link 
       valid_lft forever preferred_lft forever
59: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::16eb:b6ff:fe8a:cf08/64 scope link 
       valid_lft forever preferred_lft forever
61: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::16eb:b6ff:fe8a:cf09/64 scope link 
       valid_lft forever preferred_lft forever
default from 2001:4490:4e5c:5a1c::/64 via fe80::22d8:bff:fed5:d78e dev pppoe-wan  metric 512 
default from 2001:4490:4e5d:7288::/64 via fe80::22d8:bff:fed5:d78e dev pppoe-wan  metric 512 
unreachable 2001:4490:4e5c:5a1c::/64 dev lo  metric 2147483647 
2001:4490:4e5d:7288::/64 dev br-lan  metric 1024 
unreachable 2001:4490:4e5d:7288::/64 dev lo  metric 2147483647 
fdc1:5997:47ce::/64 dev br-lan  metric 1024 
unreachable fdc1:5997:47ce::/48 dev lo  metric 2147483647 
fe80::22d8:bff:fed5:d78e dev pppoe-wan  metric 1 
fe80::8508:c7cd:bb7f:4a1 dev pppoe-wan  metric 256 
fe80::/64 dev eth0  metric 256 
fe80::/64 dev eth0.2  metric 256 
fe80::/64 dev br-lan  metric 256 
fe80::/64 dev wlan0  metric 256 
fe80::/64 dev wlan1  metric 256 
local ::1 dev lo table local  metric 0 
anycast 2001:4490:4e5c:5a1c:: dev pppoe-wan table local  metric 0 
local 2001:4490:4e5c:5a1c:8508:c7cd:bb7f:4a1 dev pppoe-wan table local  metric 0 
anycast 2001:4490:4e5d:7288:: dev br-lan table local  metric 0 
local 2001:4490:4e5d:7288::1 dev br-lan table local  metric 0 
anycast fdc1:5997:47ce:: dev br-lan table local  metric 0 
local fdc1:5997:47ce::1 dev br-lan table local  metric 0 
anycast fe80:: dev eth0.2 table local  metric 0 
anycast fe80:: dev eth0 table local  metric 0 
anycast fe80:: dev br-lan table local  metric 0 
anycast fe80:: dev wlan0 table local  metric 0 
anycast fe80:: dev wlan1 table local  metric 0 
local fe80::16eb:b6ff:fe8a:cf08 dev wlan0 table local  metric 0 
local fe80::16eb:b6ff:fe8a:cf09 dev eth0 table local  metric 0 
local fe80::16eb:b6ff:fe8a:cf09 dev br-lan table local  metric 0 
local fe80::16eb:b6ff:fe8a:cf09 dev wlan1 table local  metric 0 
local fe80::16eb:b6ff:fe8a:cf0a dev eth0.2 table local  metric 0 
local fe80::8508:c7cd:bb7f:4a1 dev pppoe-wan table local  metric 0 
multicast ff00::/8 dev eth0 table local  metric 256 
multicast ff00::/8 dev eth0.2 table local  metric 256 
multicast ff00::/8 dev pppoe-wan table local  metric 256 
multicast ff00::/8 dev br-lan table local  metric 256 
multicast ff00::/8 dev wlan0 table local  metric 256 
multicast ff00::/8 dev wlan1 table local  metric 256 
0:	from all lookup local 
32766:	from all lookup main 
4200000000:	from 2001:4490:4e5d:7288::1/64 iif br-lan lookup unspec unreachable
4200000001:	from all iif lo lookup unspec 12
4200000009:	from all iif pppoe-wan lookup unspec 12
4200000009:	from all iif pppoe-wan lookup unspec 12
4200000057:	from all iif br-lan lookup unspec 12
{
	"up": true,
	"pending": false,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"uptime": 17556,
	"l3_device": "pppoe-wan",
	"proto": "pppoe",
	"device": "eth0.2",
	"updated": [
		"addresses",
		"routes"
	],
	"metric": 0,
	"dns_metric": 0,
	"delegation": true,
	"ipv4-address": [
		{
			"address": REDACT",
			"mask": 32,
			"ptpaddress": "REDACT"
		}
	],
	"ipv6-address": [
		{
			"address": "fe80::8508:c7cd:bb7f:4a1",
			"mask": 128
		}
	],
	"ipv6-prefix": [
		
	],
	"ipv6-prefix-assignment": [
		
	],
	"route": [
		{
			"target": "0.0.0.0",
			"mask": 0,
			"nexthop": "REDACT",
			"source": "0.0.0.0/0"
		}
	],
	"dns-server": [
		"1.1.1.1",
		"208.67.220.220",
		"2606:4700:4700::1001",
		"2620:119:53::53"
	],
	"dns-search": [
		
	],
	"neighbors": [
		
	],
	"inactive": {
		"ipv4-address": [
			
		],
		"ipv6-address": [
			
		],
		"route": [
			
		],
		"dns-server": [
			"218.248.112.97",
			"218.248.112.1"
		],
		"dns-search": [
			
		],
		"neighbors": [
			
		]
	},
	"data": {
		
	}
}

Sorry, is this the same device? In the first post it had these:

config interface 'wan'
	option device 'eth0.2'
	option proto 'dhcp'

config interface 'wan6'
	option device 'eth0.2'
	option proto 'dhcpv6'

and now it is

Anyway, the lan now has a GUA IPv6 from what I can see.

yes same device
i changed configuration and now it is working

but I am having problem
ipv6 not working on android devices despite I disabled DHCPv6 and enabled SLAAC
ipv6 working on ios devices

If you didn't mess with the previous configuration, add the following:
uci set dhcp.lan.ra_management='1'; uci commit dhcp; service odhcpd restart

I tried your command on openwrt shell
but still ipv6 is not working on android

Post again the following:
uci export network; uci export dhcp; uci export firewall; netstat -lnp

Then install tcpdump: opkg update; opkg install tcpdump
Run tcpdump to capture the packets from android devices:
tcpdump -i br-lan -evn 'icmp6 && (ip6[40] == 133 or ip6[40] == 134 or udp port 547)'

package network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdc1:5997:47ce::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0.1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '56'

config device
	option name 'eth0.2'
	option macaddr 'REDACTED'

config interface 'wan'
	option device 'eth0.2'
	option proto 'pppoe'
	option username 'REDACTED'
	option password 'REDACTED'
	option ipv6 'auto'
	option peerdns '0'
	list dns '1.1.1.1'
	list dns '208.67.220.220'
	list dns '2606:4700:4700::1001'
	list dns '2620:119:53::53'

config interface 'wan6'
	option device 'eth0.2'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option peerdns '0'
	list dns '2606:4700:4700::1001'
	list dns '2620:119:53::53'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '2 3 4 5 0t'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '1 0t'

package dhcp

config dnsmasq
	option domainneeded '1'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option ednspacket_max '1232'
	option localservice '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'
	list dhcp_option '6,192.168.1.216'
	option ra 'server'
	list dns 'fdc1:5997:47ce:0:e65f:1ff:fe72:b67e'
	option ra_management '1'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'
	list ra_flags 'none'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

config host
	option name 'OpenWrt'
	option ip '192.168.1.163'
	option mac 'REDACTED'


config host
	option name 'adguard'
	option ip '192.168.1.216'
	option mac 'REDACTED'

package firewall

config defaults
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option flow_offloading '1'

config zone
	option name 'lan'
	list network 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option src_ip 'fc00::/6'
	option dest_ip 'fc00::/6'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

config rule
	option name 'Support-UDP-Traceroute'
	option src 'wan'
	option dest_port '33434:33689'
	option proto 'udp'
	option family 'ipv4'
	option target 'REJECT'
	option enabled 'false'

config include
	option path '/etc/firewall.user'

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1858/uhttpd
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1858/uhttpd
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      26403/dnsmasq
tcp        0      0 REDACTED:53        0.0.0.0:*               LISTEN      26403/dnsmasq
tcp        0      0 192.168.1.1:53          0.0.0.0:*               LISTEN      26403/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1523/dropbear
tcp        0      0 :::443                  :::*                    LISTEN      1858/uhttpd
tcp        0      0 :::80                   :::*                    LISTEN      1858/uhttpd
tcp        0      0 ::1:53                  :::*                    LISTEN      26403/dnsmasq
tcp        0      0 fe80::16eb:b6ff:fe8a:cf09:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 fe80::16eb:b6ff:fe8a:cf0a:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 REDACTED:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 fe80::8508:c7cd:bb7f:4a1:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 fdc1:5997:47ce::1:53    :::*                    LISTEN      26403/dnsmasq
tcp        0      0 REDACTED:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 fe80::16eb:b6ff:fe8a:cf09:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 fe80::16eb:b6ff:fe8a:cf08:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 fe80::16eb:b6ff:fe8a:cf09:53 :::*                    LISTEN      26403/dnsmasq
tcp        0      0 :::22                   :::*                    LISTEN      1523/dropbear
udp        0      0 127.0.0.1:53            0.0.0.0:*                           26403/dnsmasq
udp        0      0 REDACTED:53        0.0.0.0:*                           26403/dnsmasq
udp        0      0 192.168.1.1:53          0.0.0.0:*                           26403/dnsmasq
udp        0      0 0.0.0.0:67              0.0.0.0:*                           26403/dnsmasq
udp        0      0 :::546                  :::*                                27177/odhcp6c
udp        0      0 :::546                  :::*                                2685/odhcp6c
udp        0      0 ::1:53                  :::*                                26403/dnsmasq
udp        0      0 fe80::16eb:b6ff:fe8a:cf09:53 :::*                                26403/dnsmasq
udp        0      0 fe80::16eb:b6ff:fe8a:cf0a:53 :::*                                26403/dnsmasq
udp        0      0 REDACTED:53 :::*                                26403/dnsmasq
udp        0      0 fe80::8508:c7cd:bb7f:4a1:53 :::*                                26403/dnsmasq
udp        0      0 fdc1:5997:47ce::1:53    :::*                                26403/dnsmasq
udp        0      0 REDACTED53 :::*                                26403/dnsmasq
udp        0      0 fe80::16eb:b6ff:fe8a:cf09:53 :::*                                26403/dnsmasq
udp        0      0 fe80::16eb:b6ff:fe8a:cf08:53 :::*                                26403/dnsmasq
udp        0      0 fe80::16eb:b6ff:fe8a:cf09:53 :::*                                26403/dnsmasq
raw        0      0 ::%2138119252:58        ::%4421453:*            58          27824/odhcpd
raw        0      0 ::%2138119252:58        ::%4421453:*            58          27177/odhcp6c
raw        0      0 ::%2138119252:58        ::%4421453:*            58          2685/odhcp6c
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING        449 676/ubusd           /var/run/ubus/ubus.sock

tcpdump: listening on br-lan, link-type EN10MB (Ethernet), capture size 262144 bytes
14:16:50.153491 d2:e0:bc:aa:15:2e > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::d0e0:bcff:feaa:152e > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16
	  source link-address option (1), length 8 (1): d2:e0:bc:aa:15:2e
14:16:50.155894 14:eb:b6:8a:cf:09 > d2:e0:bc:aa:15:2e, ethertype IPv6 (0x86dd), length 206: (flowlabel 0x63a85, hlim 255, next-header ICMPv6 (58) payload length: 152) fe80::16eb:b6ff:fe8a:cf09 > fe80::d0e0:bcff:feaa:152e: [icmp6 sum ok] ICMP6, router advertisement, length 152
	hop limit 64, Flags [managed, other stateful], pref medium, router lifetime 1800s, reachable time 0ms, retrans timer 0ms
	  source link-address option (1), length 8 (1): 14:eb:b6:8a:cf:09
	  mtu option (5), length 8 (1):  1480
	  prefix info option (3), length 32 (4): 2001:REDACTED::/64, Flags [onlink, auto], valid time 56088s, pref. time 56088s
	  prefix info option (3), length 32 (4): fdc1:5997:47ce::/64, Flags [onlink, auto], valid time infinity, pref. time infinity
	  route info option (24), length 24 (3):  fdc1:5997:47ce::/48, pref=medium, lifetime=1800s
	  rdnss option (25), length 24 (3):  lifetime 1800s, addr: fdc1:5997:47ce:0:e65f:1ff:fe72:b67e
	  advertisement interval option (7), length 8 (1):  600000ms

uci set network.wan.ipv6='1' ; uci set dhcp.lan.dhcpv6='server'; uci commit; service odhcpd restart; service network restart
You have both wan and wan_6 which conflict.