Ipv6 only on OpenWrt router not on LAN

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.

i have executed your command.
now it seems I cannot access IPV6 on all devices, only IPV4 is working.

On Network > Interfaces, I cannot see the public IPV6 IP address 2001:4490:xxx
on either LAN, WAN, WAN6

only local IPV6 address is visible

uci set network.lan.ip6assign='64' ; uci del network.wan6 ; uci set network.wan.ipv6='auto'; uci commit network; service network restart

now ipv6 is working for all devices expect android devices

I checked LAN config in Interfaces > LAN
it is now this

How does the IPv6 RA Settings tab look?

This configuration is correct. I don't see anything else wrong, so I can suggest you to take a backup of the configuration and reset the router to defaults. Then you'll only change the wan interface to pppoe and delete the wan6 interface, since the wan_6 will be spawned. That's all it needs to work from scratch.

i tried deleting WAN6 but WAN6 not getting deleted it keeps coming back automatically after deletion

It's wan_6 which cannot be deleted.
wan6 is a normal interface and can be deleted.

that means no change need to be made ?
reset to default just another attempt with same settings?

Yes, take backup, reset to defaults, delete the wan6, and change wan into pppoe with its settings and make ipv6 auto.

Link Local IPv6 addresses are not assigned by the router. They are created when the IPv6 is enabled on the device.
You can see which IPv6 addresses the OpenWrt knows for a particular mac address with:
ip -6 neigh show
Or you can see in the Android: Settings, Network & Internet, Wifi, select the SSID you connect to, Advanced Settings, and at the bottom you'll see the IPv6 addresses.

fe80::d0e0:bcff:feaa:152e dev br-lan lladdr d2:REDACTED ref 1 used 0/0/0 probes 1 REACHABLE

public ipv6 was not assigned for android, checked with ip -6 neigh show

also in android wifi > advanced settings , only local ipv6 is shown not public ipv6

Follow the instructions to backup, reset, and apply basic configuration.

solved it
if i disable wpa3 for wifi and use wpa2 i get ipv6 on android

1 Like

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