IPv6 doesn't work

My Internet provider is Vodafone, and I use a Vodafone Station as the modem running the official firmware. Behind that modem is

  • my Archer A7 router running OpenWrt as well as
  • an older TP-Link router running the official firmware.

When directly connecting to the Vodafone Station (Wifi, LAN, Powerline), all devices seem to be able to use IPv6, according to https://test-ipv6.com. However, when connected to the OpenWrt router, https://test-ipv6.com says IPv6 does not work.

I tested IPv6 on the following devices (and always got the same result):

  • Zorin 16.3 laptop
  • Windows 11 laptop
  • Windows 10 laptop
  • Fairphone 3 running Android 12
  • Samsung Tab S5e running Android 13

In fact, both Windows 10 and 11 complained about “no network access” via IPv6 (see the screenshots below).

Though, for some reason, all devices seem to have received IPv6 addresses anyway.

It is somewhat suspicious that IPv6 does not work via the older TP-Link router either, but that might just be due to its age, I can't tell. If the OpenWrt config was not at fault, could the issue be that the Vodafone Station possibly does not “delegate” IPv6?

Vodafone Station

  • firmware version: 3.2.47-IMS-KDG
  • product number: CGA4233DE

It does not have any IPv6-related settings whatsoever. (The admin interface is so basic that you can't even change the DNS server...)

Archer A7

  • model: TP-Link Archer A7 v5
  • architecture: Qualcomm Atheros QCA956X ver 1 rev 0
  • target platform: ath79/generic
  • firmware: OpenWrt 23.05.0-rc3 r23389-5deed175a5 / LuCI openwrt-23.05 branch git-23.236.53405-fc638c8
  • kernel: 5.15.127

Note that IPv6 did not work on any previous firmware version either. (Until now, I did not car about that at all.)

OpenWrt configuration

I set up OpenWrt solely via the LuCi web interface and did not dare to touch the command line.

I installed AdGuard Home on my Rasperry Pi and set up OpenWrt to redirect all DNS requests on port 53 to AGH (more info). I also tried to make OpenWrt “advertise” the Raspberry Pi as the DNS server.

What might be the issue? How to fix it?

Thank you!


Zorin 16.3 connected via Wifi

Windows 11 connected via LAN

grafik

Windows 10 connected via Wifi

grafik

Android 12 connected via Wifi


/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 'fdc***/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'
	list dns '192.168.0.***' # Raspberry Pi
	list dns '2a02:***:91e1' # Raspberry Pi
	option ip6assign '64'

config device
	option name 'eth0.2'
	option macaddr '90:***:24'

config interface 'wan'
	option device 'eth0.2'
	option proto 'dhcp'
	option peerdns '0'
	list dns '192.168.0.***' # Raspberry Pi

config interface 'wan6'
	option device 'eth0.2'
	option proto 'dhcpv6'
	option peerdns '0'
	list dns '2a02:***:91e1' # Raspberry Pi
	option reqaddress 'try'
	option reqprefix 'auto'

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'

/etc/config/dhcp

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_localhost '1'
	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'
	option localservice '1'
	option ednspacket_max '1232'
	option noresolv '0'
	option cachesize '1000'
	option rebind_protection '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'
	option leasetime '24h'
	list dns '2a02:***:91e1' # Raspberry Pi

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'
	option start '100'
	option limit '150'
	option leasetime '12h'

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

config host
	option name 'raspberrypi'
	option ip '192.168.1.***'
	option mac 'B8:***:84'

config host
	option name 'raspberrypi'
	option duid '0001***84'
	option mac 'B8:***:84'

config dhcp 'wan6'
	option interface 'wan6'
	option ignore '1'
	option ra 'relay'
	option dhcpv6 'relay'


LAN interface


WAN interface


WAN6 interface


Global network options


DHCP and DNS


Firewall

Might this confirm my suspicion?

the Vodafone station does not support prefix delegation. This leaves bridge mode or another cable router (Fritz!Box Cable).

(source)

Possibly related forum question: How to get IPv6 working behind Dual Stack configured ISP Modem-Router

2 Likes

Yes the default IPv6 configuration requires a delegated prefix on the WAN port, which you don't have. Without prefixes, the LAN network(s) can't be issued routable IPv6 segments. It is possible to work around this with relay mode, but first see if you can get a prefix block.

Conventionally there should only be one router connected to the modem (wired), and the rest of your network (which may include additional routers) on the LAN side of that main router. If you set the modem into bridge mode, which is recommended, you will have to configure the network that way.

3 Likes

Can ULA be used as a work-around? (I'm really not familiar with IPv6-related concepts and terminology, sorry.)

Would my OpenWrt configuration be correct if I used a modem that supports IPv6 prefix delegation?