Hi,
Apologies for the long post but I'm looking for some IPv6 guidance here as I've reached the limits of my knowledge/experience.
I've successfully used HE's Tunnelbroker service for over a decade but now I've moved one site to an ISP (UK - Aquiss) with native IPv6 and a delegated /56. This is with a RT-AX86U Pro running 3004.388.6_2 which also acts as a VPN server although not configured to use IPv6 for the VPN.
Initially all seemed OK with the clients being allocated addresses from the delegated range but no IPv6 traffic would flow. IPv6 traffic to/from the router itself was fine, just the client routing was affected.
Checking the routing table on the router shows two routes to the delegated /56, one to the bridge interface br0 (expected) and one to the ppp0 interface (not expected), both with equal metrics.
There is no routed IPv6 address allocated to the wan interface - just link local which is what I would expect.
If I manually delete the route via the ppp0 wan interface then client IPv6 traffic starts being routed correctly for a few minutes but then stops again.
I tracked this down to the arrival of the next IPv6 router advertisement (RA) packet from the ISP when the router re-adds in the route to the delegated range via the ppp0 wan interface.
I can work around this and get full IPv6 routing to the clients by deleting and re-adding the route to the delegated range via br0 but with a lower metric in /jffs/scripts/wan-events but this seems a bit of a band-aid and I'd really like to know what's going wrong and fix things correctly.
Current IPv6 settings on the router below, and I've also reset the router to defaults as part of trying to get this to work.
So my questions are:-
- why is the router adding a route to my delegated /56 via the wan ppp0 interface when it gets a IPv6 RA packet?
- have I misconfigured something (very likely) or is this some corner case that the router doesn't handle correctly?
- is the content of the RA packet correct, or has the ISP mis-configured something (very unlikely!)?
Many thanks in advance for any comments/suggestions/criticisms!
Apologies for the long post but I'm looking for some IPv6 guidance here as I've reached the limits of my knowledge/experience.
I've successfully used HE's Tunnelbroker service for over a decade but now I've moved one site to an ISP (UK - Aquiss) with native IPv6 and a delegated /56. This is with a RT-AX86U Pro running 3004.388.6_2 which also acts as a VPN server although not configured to use IPv6 for the VPN.
Initially all seemed OK with the clients being allocated addresses from the delegated range but no IPv6 traffic would flow. IPv6 traffic to/from the router itself was fine, just the client routing was affected.
Checking the routing table on the router shows two routes to the delegated /56, one to the bridge interface br0 (expected) and one to the ppp0 interface (not expected), both with equal metrics.
Code:
## Initial routing table
# ip -6 r
2001:xxxx:xxxx:xxxx::/56 dev ppp0 proto kernel metric 256 expires 2591930sec pref medium
2001:xxxx:xxxx:xxxx::/56 dev br0 proto kernel metric 256 pref medium
fd00:ac68:1::/64 dev tun21 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev spu_us_dummy proto kernel metric 256 pref medium
fe80::/64 dev spu_ds_dummy proto kernel metric 256 pref medium
fe80::/64 dev eth6 proto kernel metric 256 pref medium
fe80::/64 dev eth7 proto kernel metric 256 pref medium
fe80::/64 dev br0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 linkdown pref medium
fe80::/64 dev eth2 proto kernel metric 256 linkdown pref medium
fe80::/64 dev eth3 proto kernel metric 256 linkdown pref medium
fe80::/64 dev eth4 proto kernel metric 256 linkdown pref medium
fe80::/64 dev tun21 proto kernel metric 256 pref medium
fe80::/10 dev ppp0 metric 1 pref medium
fe80::/10 dev ppp0 proto kernel metric 256 pref medium
default via fe80::f60f:1bff:fe24:3f00 dev ppp0 proto ra metric 1024 hoplimit 64 pref medium
There is no routed IPv6 address allocated to the wan interface - just link local which is what I would expect.
Code:
# ip -6 a show dev ppp0
29: ppp0: <POINTOPOINT,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN group default qlen 3
inet6 fe80::cd6:20b3:4d43:ba77/10 scope link
valid_lft forever preferred_lft forever
# ip -6 a show dev br0
27: br0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet6 2001:xxxx:xxxx:xxxx::1/56 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ca7f:54ff:fed3:3010/64 scope link
valid_lft forever preferred_lft forever
If I manually delete the route via the ppp0 wan interface then client IPv6 traffic starts being routed correctly for a few minutes but then stops again.
I tracked this down to the arrival of the next IPv6 router advertisement (RA) packet from the ISP when the router re-adds in the route to the delegated range via the ppp0 wan interface.
Code:
## RA packet ICMP content (from Wireshark)
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0xe365 [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0x80, Managed address configuration, Prf (Default Router Preference): Medium
1... .... = Managed address configuration: Set
.0.. .... = Other configuration: Not set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = ND Proxy: Not set
.... ..00 = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (MTU : 1492)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1492
ICMPv6 Option (Prefix information : 2001:xxxx:xxxx:xxxx::/56)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 56
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000 (30 days)
Preferred Lifetime: 604800 (7 days)
Reserved
Prefix: 2001:xxxx:xxxx:xxxx::
I can work around this and get full IPv6 routing to the clients by deleting and re-adding the route to the delegated range via br0 but with a lower metric in /jffs/scripts/wan-events but this seems a bit of a band-aid and I'd really like to know what's going wrong and fix things correctly.
Code:
## Post reboot with entries in wan-events and gives full IPv6 routing to clients
# ip -6 r
2001:xxxx.xxxx.xxxx::/56 dev br0 metric 100 pref medium
2001:xxxx:xxxx:xxxx::/56 dev ppp0 proto kernel metric 256 expires 2587738sec pref medium
2001:xxxx:xxxx:xxxx::/56 dev br0 proto kernel metric 256 pref medium
fd00:ac68:1::/64 dev tun21 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev spu_us_dummy proto kernel metric 256 pref medium
fe80::/64 dev spu_ds_dummy proto kernel metric 256 pref medium
fe80::/64 dev eth6 proto kernel metric 256 pref medium
fe80::/64 dev eth7 proto kernel metric 256 pref medium
fe80::/64 dev br0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 linkdown pref medium
fe80::/64 dev eth2 proto kernel metric 256 linkdown pref medium
fe80::/64 dev eth3 proto kernel metric 256 linkdown pref medium
fe80::/64 dev eth4 proto kernel metric 256 linkdown pref medium
fe80::/64 dev tun21 proto kernel metric 256 pref medium
fe80::/10 dev ppp0 metric 1 pref medium
fe80::/10 dev ppp0 proto kernel metric 256 pref medium
default via fe80::f60f:1bff:fe24:3f00 dev ppp0 proto ra metric 1024 hoplimit 64 pref medium
Current IPv6 settings on the router below, and I've also reset the router to defaults as part of trying to get this to work.
So my questions are:-
- why is the router adding a route to my delegated /56 via the wan ppp0 interface when it gets a IPv6 RA packet?
- have I misconfigured something (very likely) or is this some corner case that the router doesn't handle correctly?
- is the content of the RA packet correct, or has the ISP mis-configured something (very unlikely!)?
Many thanks in advance for any comments/suggestions/criticisms!
Last edited: