IPv6 DHCP relay not working

I have an upstream router to which I connect my OpenWRT router - TP Link Archer C20 v3. Most of it is working fine, except IPv6 address delegation on my OpenWRT router's client Wi-Fi network. According to ifstatus wwan6 my upstream router isn't delegating a prefix, so I chose a relay. Yet, I am only assigned a link-local IPv6 address and a private IPv4 address in the 192.168.1.0/24 subnet.
Can someone tell me why?

Both dnsmasq and odhcpd are enabled and running

This is /etc/config/dhcp

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option domain 'lan'
        option dhcpv6 'relay'
        option ra 'relay'
	option ndp 'relay'
        #option dhcpv4 'server'
        #option dhcpv6 'server'
        #option ra 'server'
        #option ra_slaac '1'
        #option dynamicdhcp '1'
        #list ra_flags 'managed-config'
        #list ra_flags 'other-config'

config dhcp wwan6
	option master 1
	option interface wwan6
	option dhcpv6 relay
	option ra relay
	option ndp relay
	list ra_flags none

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

# dnsmasq

config dnsmasq
	option domainneeded	1
	option boguspriv	1
	option filterwin2k	0  # enable for dial on demand
	option localise_queries	1
	option rebind_protection 1  # disable if upstream must serve RFC1918 addresses
	option rebind_localhost 1  # enable for RBL checking and similar services
	option local	'/lan/'
	option domain	'lan'
	option expandhosts	1
	option nonegcache	0
	option authoritative	1
	option readethers	1
	option leasefile	'/tmp/dhcp.leases'
	option resolvfile	'/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard	1 # bind to & keep track of interfaces
	option localservice	1  # disable to allow DNS requests from non-local subnets
	option ednspacket_max	1232
	option add_local_hostname 0
	#option local_use 0
	#list addnhosts '/tmp/hblock'

        option boguspriv '0'

and this is /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 'fdxxxxxxxxxxxx::/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 'xxxxxxxxxxxxxxxxx'

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 '1 2 3 4 6t'

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

# Mine
config interface wwan
	option proto dhcp

config interface wwan6
	option proto dhcpv6
	option reqaddress try
	option reqprefix auto

ifstatus wwan6 output

{
	"up": true,
	"pending": false,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"uptime": 15919,
	"l3_device": "wlan0",
	"proto": "dhcpv6",
	"device": "wlan0",
	"metric": 0,
	"dns_metric": 0,
	"delegation": true,
	"ipv4-address": [
		
	],
	"ipv6-address": [
		{
			"address": "2406:7400:73:xxxx:xxxx:xxxx:xxxx:xx",
			"mask": 64,
			"preferred": 14200,
			"valid": 86200
		}
	],
	"ipv6-prefix": [
		
	],
	"ipv6-prefix-assignment": [
		
	],
	"route": [
		{
			"target": "2406:7400:xx:xxxx::",
			"mask": 64,
			"nexthop": "::",
			"metric": 256,
			"valid": 86200,
			"source": "::/0"
		},
		{
			"target": "::",
			"mask": 0,
			"nexthop": "fe80::231:xxxx:xxxx:xxxx",
			"metric": 512,
			"valid": 1600,
			"source": "2406:7400:73:xxxx:xxxx:xxxx:xxxx:85/64"
		}
	],
	"dns-server": [
		"2001:4860:4860::8888",
		"2001:4860:4860::8844"
	],
	"dns-search": [
		
	],
	"neighbors": [
		
	],
	"inactive": {
		"ipv4-address": [
			
		],
		"ipv6-address": [
			
		],
		"route": [
			
		],
		"dns-server": [
			
		],
		"dns-search": [
			
		],
		"neighbors": [
			
		]
	},
	"data": {
		"passthru": "001700202001486048600000000000000000888820014860486000000000000000008844"
	}
}

Did you edit the files manually?

single quotes are missing from the option values.

hash is not exactly a way to mark comments, delete these lines.

After you correct these, restart the interfaces: ifup wwan6; ifup lan

1 Like

Yes I had edited the files manually because this is a custom build using the image builder where i replaced dnsmasq with dnsmasq-full and luci is removed. Since dnsmasq wasn't available, odhcpd was used by default, which I disabled and enabled dnsmasq because with dnsmasq disabled only link-local addresses were being assigned.
I ran ifup wwan6; ifup lan. Reconnected via wifi, but nothing happpened, so I rebooted but again, nothing happened.

Alright now ifstatus wwan6 is -

{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 15,
        "l3_device": "wlan0",
        "proto": "dhcpv6",
        "device": "wlan0",
        "updated": [
                "addresses",
                "routes",
                "data"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [

        ],
        "ipv6-address": [
                {
                        "address": "2406:7400:73:c96a:36e8:94ff:fec9:85",
                        "mask": 64,
                        "preferred": 14385,
                        "valid": 86385
                }
        ],
        "ipv6-prefix": [

        ],
        "ipv6-prefix-assignment": [

        ],
        "route": [
                {
                        "target": "2406:7400:73:c96a::",
                        "mask": 64,
                        "nexthop": "::",
                        "metric": 256,
                        "valid": 86385,
                        "source": "::/0"
                },
                {
                        "target": "::",
                        "mask": 0,
                        "nexthop": "fe80::231:92ff:fed6:9886",
                        "metric": 512,
                        "valid": 1785,
                        "source": "2406:7400:73:c96a:36e8:94ff:fec9:85/64"
                }
        ],
        "dns-server": [
                "2406:7400:a:10::2",
                "2406:7400:b0:b::2"
        ],
        "dns-search": [

        ],
        "neighbors": [

        ],
        "inactive": {
                "ipv4-address": [

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [

                ],
                "dns-search": [

                ],
                "neighbors": [

                ]
        },
        "data": {
                "passthru": "0017002024067400000a001000000000000000022406740000b0000b0000000000000002"
        }
}

/etc/config/dhcp is

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option domain 'lan'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'

config dhcp 'wwan6'
        option master '1'
        option interface 'wwan6'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'
        list ra_flags 'none'

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

# dnsmasq

config dnsmasq
        option domainneeded     1
        option boguspriv        1
        option filterwin2k      0  # enable for dial on demand
        option localise_queries 1
        option rebind_protection 1  # disable if upstream must serve RFC1918 addresses
        option rebind_localhost 1  # enable for RBL checking and similar services
        option local    '/lan/'
        option domain   'lan'
        option expandhosts      1
        option nonegcache       0
        option authoritative    1
        option readethers       1
        option leasefile        '/tmp/dhcp.leases'
        option resolvfile       '/tmp/resolv.conf.d/resolv.conf.auto'
        option nonwildcard      1 # bind to & keep track of interfaces
        option localservice     1  # disable to allow DNS requests from non-local subnets
        option ednspacket_max   1232
        option add_local_hostname 0
        option boguspriv '0'

And /etc/config/network is -

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 'fd84:c227:dba5::/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 '34:e8:94:c9:00:88'

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 '1 2 3 4 6t'

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

# Mine
config interface 'wwan'
        option proto 'dhcp'

config interface 'wwan6'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'

You should mention it from the beginning that this is a custom build. Have you added the wwan6 in the wan zone of the firewall?
Other than that your configuration is fine. You could run tcpdump to verify that solicitations from the lan hosts are relayed to the wan side.

1 Like

Sorry for not mentioning earlier. /etc/config/firewall has this -

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

In case it matters - this is in /etc/config/firewall

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'wwan wwan6'
        option mode 'sta'
        option ssid 'ssid'
        option encryption 'psk2'
        option key 'key'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'ssid2'
        option encryption 'psk2'
        option key 'key2'

And this is output of ifconfig wlan0 and wlan1

root@OpenWrt:~# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 34:E8:94:C9:00:85  
          inet addr:192.168.0.141  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: 2406:7400:73:c96a:36e8:xxxx:xxxx:xx/64 Scope:Global
          inet6 addr: fe80::36e8:xxxx:xxxx:xx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:102184 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34872 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:95156781 (90.7 MiB)  TX bytes:8333434 (7.9 MiB)

root@OpenWrt:~# ifconfig wlan1
wlan1     Link encap:Ethernet  HWaddr 34:E8:94:C9:00:86  
          inet6 addr: fe80::36e8:xxxx:xxxx:xx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:40914 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4494554 (4.2 MiB)  TX bytes:80851748 (77.1 MiB)

I got this via tcpdump -i wlan1 ip6(on my OpenWRT router) when I reconnected to my OpenWRT router via Wi-Fi.

17:02:10.438679 IP6 :: > ff02::1:ffd3:7301: ICMP6, neighbor solicitation, who has fe80::5e51:81ff:fed3:7301, length 24
17:02:10.438748 IP6 :: > ff02::1:ffd3:7301: ICMP6, neighbor solicitation, who has fe80::5e51:81ff:fed3:7301, length 24
17:02:10.465195 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:10.465254 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:10.744756 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:10.745079 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:11.434870 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:11.434944 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:11.434871 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:02:11.435143 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:02:11.907422 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:11.907490 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:02:15.425382 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:02:15.425446 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16

The previous one was terminated early here's the full output of tcpdump -i wlan1 ip6-

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan1, link-type EN10MB (Ethernet), capture size 262144 bytes
17:15:41.094408 IP6 :: > ff02::1:ffd3:7301: ICMP6, neighbor solicitation, who has fe80::5e51:81ff:fed3:7301, length 24
17:15:41.094478 IP6 :: > ff02::1:ffd3:7301: ICMP6, neighbor solicitation, who has fe80::5e51:81ff:fed3:7301, length 24
17:15:41.104659 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:41.104719 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:41.144390 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:41.144457 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:42.087654 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:42.087730 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:42.087655 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:15:42.087935 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:15:42.235972 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:42.236038 IP6 fe80::5e51:81ff:fed3:7301 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:15:45.787469 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:15:45.787535 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:15:53.097500 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:15:53.097565 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:16:08.395127 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:16:08.395194 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16







17:16:40.437444 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16
17:16:40.437510 IP6 fe80::5e51:81ff:fed3:7301 > ip6-allrouters: ICMP6, router solicitation, length 16

A few seconds after that this was what i saw in tcpdump -i wlan0 ip6

listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
17:15:35.992766 IP6 fe80::231:92ff:fed6:9886 > ff02::1:ff85:d888: ICMP6, neighbor solicitation, who has 2406:7400:73:c96a:6c39:49fa:f885:d888, length 32
17:15:35.997129 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.40410 > 2406:7400:a:10::2.53: 21691+ PTR? 8.8.8.d.5.8.f.f.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.f.f.ip6.arpa. (90)
17:15:35.997526 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.40410 > 2406:7400:b0:b::2.53: 21691+ PTR? 8.8.8.d.5.8.f.f.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.f.f.ip6.arpa. (90)
17:15:36.983601 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.40410: 21691 NXDomain 0/1/0 (154)
17:15:36.986451 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.52789 > 2406:7400:a:10::2.53: 60493+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:39.489336 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.52789 > 2406:7400:b0:b::2.53: 60493+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:39.490519 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.52789 > 2406:7400:a:10::2.53: 60493+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:39.491299 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.52789 > 2406:7400:b0:b::2.53: 60493+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:39.492164 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.52789 > 2406:7400:a:10::2.53: 60493+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:41.402410 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.52789: 60493 ServFail 0/0/0 (90)
17:15:41.402856 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.52789: 60493 ServFail 0/0/0 (90)
17:15:41.404563 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.36546 > 2406:7400:a:10::2.53: 14508+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:41.409742 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.36546: 14508 ServFail 0/0/0 (90)
17:15:41.410330 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.36546 > 2406:7400:b0:b::2.53: 14508+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:41.411199 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.36546 > 2406:7400:a:10::2.53: 14508+ PTR? 8.8.8.d.5.8.8.f.a.f.9.4.9.3.c.6.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:41.426215 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.36546: 14508 ServFail 0/0/0 (90)
17:15:41.991437 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.50118 > 2406:7400:a:10::2.53: 27310+ PTR? 5.8.0.0.9.c.e.f.f.f.4.9.8.e.6.3.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:42.016195 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.50118: 27310 ServFail 0/0/0 (90)
17:15:42.016788 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.50118 > 2406:7400:b0:b::2.53: 27310+ PTR? 5.8.0.0.9.c.e.f.f.f.4.9.8.e.6.3.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:42.017786 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.50118 > 2406:7400:a:10::2.53: 27310+ PTR? 5.8.0.0.9.c.e.f.f.f.4.9.8.e.6.3.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:42.040611 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.50118: 27310 ServFail 0/0/0 (90)
17:15:42.042600 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.56929 > 2406:7400:a:10::2.53: 23086+ PTR? 5.8.0.0.9.c.e.f.f.f.4.9.8.e.6.3.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:42.045001 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.56929: 23086 ServFail 0/0/0 (90)
17:15:42.045576 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.56929 > 2406:7400:b0:b::2.53: 23086+ PTR? 5.8.0.0.9.c.e.f.f.f.4.9.8.e.6.3.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:42.046705 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.56929 > 2406:7400:a:10::2.53: 23086+ PTR? 5.8.0.0.9.c.e.f.f.f.4.9.8.e.6.3.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:42.051530 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.56929: 23086 ServFail 0/0/0 (90)
17:15:44.492983 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.48462 > 2406:7400:a:10::2.53: 58702+ PTR? 5.8.0.0.9.c.e.f.f.f.4.9.8.e.6.3.a.6.9.c.3.7.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:44.496979 IP6 fe80::36e8:94ff:fec9:85 > fe80::231:92ff:fed6:9886: ICMP6, neighbor solicitation, who has fe80::231:92ff:fed6:9886, length 32
17:15:44.507252 IP6 fe80::231:92ff:fed6:9886 > fe80::36e8:94ff:fec9:85: ICMP6, neighbor advertisement, tgt is fe80::231:92ff:fed6:9886, length 24
17:15:46.402845 IP6 fe80::231:92ff:fed6:9886 > 2406:7400:73:c96a:36e8:94ff:fec9:85: ICMP6, neighbor solicitation, who has 2406:7400:73:c96a:36e8:94ff:fec9:85, length 32
17:15:46.403063 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85 > fe80::231:92ff:fed6:9886: ICMP6, neighbor advertisement, tgt is 2406:7400:73:c96a:36e8:94ff:fec9:85, length 24
17:15:46.994789 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.54397 > 2406:7400:a:10::2.53: 47987+ PTR? 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.a.0.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:15:48.047618 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.54397: 47987 ServFail 0/0/0 (90)
17:15:51.998646 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.42266 > 2406:7400:a:10::2.53: 46363+ PTR? 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.0.0.0.0.b.0.0.0.0.4.7.6.0.4.2.ip6.arpa. (90)
17:16:19.793610 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 384
17:16:19.794897 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 393
17:16:19.796080 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 456
17:16:19.797229 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 452
17:16:19.798190 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 432
17:16:19.799362 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 464
17:16:19.801779 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 446
17:16:19.802630 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 448
17:16:19.803662 IP6 fe80::231:92ff:fed6:9886.35464 > ff02::c.1900: UDP, length 448
17:16:28.693726 IP6 fe80::42a1:8ff:fe54:7f6d > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:16:28.695961 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.46060 > 2406:7400:a:10::2.53: 18456+ PTR? d.6.f.7.4.5.e.f.f.f.8.0.1.a.2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. (90)
17:16:28.696645 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.46060 > 2406:7400:b0:b::2.53: 18456+ PTR? d.6.f.7.4.5.e.f.f.f.8.0.1.a.2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. (90)
17:16:28.697339 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.46060: 18456 NXDomain 0/1/0 (154)
17:16:29.001143 IP6 fe80::42a1:8ff:fe54:7f6d > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:16:29.514744 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0 [4q] [4n] ANY (QM)? Android.local. ANY (QM)? Android.local. ANY (QM)? Android.local. ANY (QM)? Android.local. (149)
17:16:29.615390 IP6 fe80::2987:1990:aa0:8e0f.5353 > ff02::fb.5353: 0*- [0q] 4/0/1 (Cache flush) A 192.168.0.168, (Cache flush) AAAA 2406:7400:73:c96a:4bd7:8cab:a87c:c38b, (Cache flush) AAAA 2406:7400:73:c96a:6c39:49fa:f885:d888, (Cache flush) AAAA fe80::2987:1990:aa0:8e0f (145)
17:16:29.617177 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85.47905 > 2406:7400:a:10::2.53: 12483+ PTR? f.0.e.8.0.a.a.0.0.9.9.1.7.8.9.2.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. (90)
17:16:29.820167 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0 [4q] [4n] ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. (151)
17:16:29.854555 IP6 2406:7400:a:10::2.53 > 2406:7400:73:c96a:36e8:94ff:fec9:85.47905: 12483 NXDomain 0/1/0 (154)
17:16:30.024910 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0 [4q] [4n] ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. (151)
17:16:30.331210 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0 [4q] [4n] ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. ANY (QM)? Android-2.local. (151)
17:16:30.539141 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0*- [0q] 8/0/5 (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) A 192.168.0.125, (Cache flush) AAAA 2406:7400:73:c96a:d9b6:cbc8:b6aa:70d4, (Cache flush) AAAA 2406:7400:73:c96a:42a1:8ff:fe54:7f6d, (Cache flush) AAAA fe80::42a1:8ff:fe54:7f6d (465)
17:16:30.741982 IP6 fe80::42a1:8ff:fe54:7f6d > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
17:16:31.560349 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0*- [0q] 8/0/5 (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) A 192.168.0.125, (Cache flush) AAAA 2406:7400:73:c96a:d9b6:cbc8:b6aa:70d4, (Cache flush) AAAA 2406:7400:73:c96a:42a1:8ff:fe54:7f6d, (Cache flush) AAAA fe80::42a1:8ff:fe54:7f6d (465)
17:16:33.504535 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0*- [0q] 8/0/5 (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) A 192.168.0.125, (Cache flush) AAAA 2406:7400:73:c96a:d9b6:cbc8:b6aa:70d4, (Cache flush) AAAA 2406:7400:73:c96a:42a1:8ff:fe54:7f6d, (Cache flush) AAAA fe80::42a1:8ff:fe54:7f6d (465)
17:16:33.711653 IP6 fe80::231:92ff:fed6:9886 > 2406:7400:73:c96a:36e8:94ff:fec9:85: ICMP6, neighbor solicitation, who has 2406:7400:73:c96a:36e8:94ff:fec9:85, length 32
17:16:33.711889 IP6 2406:7400:73:c96a:36e8:94ff:fec9:85 > fe80::231:92ff:fed6:9886: ICMP6, neighbor advertisement, tgt is 2406:7400:73:c96a:36e8:94ff:fec9:85, length 24
17:16:33.904944 IP6 fe80::36e8:94ff:fec9:85 > fe80::231:92ff:fed6:9886: ICMP6, neighbor solicitation, who has fe80::231:92ff:fed6:9886, length 32
17:16:33.905764 IP6 fe80::231:92ff:fed6:9886 > fe80::36e8:94ff:fec9:85: ICMP6, neighbor advertisement, tgt is fe80::231:92ff:fed6:9886, length 24
17:16:37.496820 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0*- [0q] 8/0/5 (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) A 192.168.0.125, (Cache flush) AAAA 2406:7400:73:c96a:d9b6:cbc8:b6aa:70d4, (Cache flush) AAAA 2406:7400:73:c96a:42a1:8ff:fe54:7f6d, (Cache flush) AAAA fe80::42a1:8ff:fe54:7f6d (465)
17:16:38.918757 IP6 fe80::231:92ff:fed6:9886 > fe80::36e8:94ff:fec9:85: ICMP6, neighbor solicitation, who has fe80::36e8:94ff:fec9:85, length 32
17:16:38.918993 IP6 fe80::36e8:94ff:fec9:85 > fe80::231:92ff:fed6:9886: ICMP6, neighbor advertisement, tgt is fe80::36e8:94ff:fec9:85, length 24
17:16:45.580033 IP6 fe80::42a1:8ff:fe54:7f6d.5353 > ff02::fb.5353: 0*- [0q] 8/0/5 (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) PTR Android-2.local., (Cache flush) A 192.168.0.125, (Cache flush) AAAA 2406:7400:73:c96a:d9b6:cbc8:b6aa:70d4, (Cache flush) AAAA 2406:7400:73:c96a:42a1:8ff:fe54:7f6d, (Cache flush) AAAA fe80::42a1:8ff:fe54:7f6d (465)

The fe80::36e8 is the OpenWRT router and the fe80::5e51 is my android device that I connected to Wi-Fi.

If it's also relevant these were the packages - PACKAGES="dnsmasq-full bird2cl bird2 wireguard-tools miniupnpd -minidlna -luci-base -luci -ppp -ppp-mod-pppoe -dnsmasq"

leave only wwan here.
Then in network configuration add option device '@wwan' in wwan6.
If that doesn't work, I am out of ideas.

1 Like

Hi,

My ISP is delegating only a 64, so I'm using relay from them too, but the relay config only worked with odhcpd-ipv6only (the package enabled by default), I tried dnsmasq-full it didnt work.

1 Like

I put this in /etc/config/network

config interface 'wwan6'
        option device '@wwan'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'

It didn't work. Thanks anyway.

Was this on a custom build with dnsmasq-full or an official build? I previously was on a official build with dnsmasq-full and it worked.

custom:

with the packages selected and built a image:

dnsmasq
odhpd-ipv6only

the relay works

with the package selected and the image rebuilt

dnsmasq unselected
dnsmasq-full
odhcpd-ipv6only unselected

the relay doesn't work

well make menuconfig by default enable:

dnsmasq
odhcpd-ipv6only

so I expect the official build have enabled the odhcpd-ipv6only by default, so try enable it in your build,
I have almost the same dhcp wan6 as you in comment #3, only change mine is named wan6 as my device and mine don't have the ra_flags option

1 Like

Sorry for ping, but @vgaetera do you think you can help?

I am not sure that the uci configuration in dhcp can configure dnsmasq for ipv6, that is why there is odhcpd.
If you removed odhcpd, you need to check that the running configuration of dnsmasq includes ipv6.

Sounds like you have an issue with your build then.

1 Like

I tried enabling odhcpd-ipv6only and confirmed it was installed, but relay still didn't work. Can you try a custom build with dnsmasq-full and odhcpd-ipv6only?

I built it with:

dnsmasq-full
odhcpd-ipv6only

/etc/config/dhcp


config dhcp 'lan'
        option interface 'lan'
        option leasetime '12h'
        option dhcpv4 'server'
        option ra_slaac '1'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        option start '60'
        option limit '190'
        list domain 'example.com'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'
        option ra_default '1'
        option ra_management '1'

config dhcp 'wan6'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'
        option master '1'
        option interface 'wan6'

with above config:

my phone got a ipv6 address after that:

/etc/init.d/odhcpd disable
reboot

the phone not got ipv6 address

so the ipv6 settings in /etc/config/dhcp don't apply to dnsmasq-full as told in a comment above

1 Like

Thanks for this. If you dont mind could your also share the wan part of config/network and config/firewall and config/wireless?

config/network

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'
        option metric '100'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'

config/wireless

config wifi-device 'radio1'
        option type 'mac80211'
        option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
        option channel '36'
        option band '5g'
        option htmode 'VHT80'
        option country 'MX'
        option disabled '0'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'wifi i'
        option encryption 'psk2+ccmp'
        option key 'password'

I don't use the firewall from OpenWrt, so I disabled it, because I'm running custom nftables, but reading the /etc/config/firewall you need enable the following:

# Allow DHCPv6 replies
# see https://dev.openwrt.org/ticket/10381
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

# Allow essential incoming IPv6 ICMP traffic
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

# Allow essential forwarded IPv6 ICMP traffic
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
1 Like

Is wan6 not a part of any wireless network?

no, wan/wan6 is a ethernet port, br-lan, is a bridge with 3 ethernet ports and the wifi is attached to the network lan

1 Like

Oh alright. Maybe that's where i went wrong, I used wan for the wifi and lan for upstream wi