Saturday, June 22, 2024

IPv6 ULA routing stops working after 20 hours or so

Hello,

I'm using ULAs for my local IPv6 networks. The hosts have internet
access via the router doing NPTv6.

After around 20 to 24 hours of uptime the OpenBSD hosts (three in total)
are no longer able to reach the IPv6 internet. A restart of the affected
hosts usually helps. In rare cases a double restart is required. Linux
and Windows don't show this problem.

Any ideas? What information should I provide in order to debug this further?

# uname -a
OpenBSD mail1 7.5 GENERIC#79 amd64

# cat /etc/hostname.vio0
# BEGIN ANSIBLE MANAGED BLOCK IPv6
inet6 -soii
inet6 autoconf
# END ANSIBLE MANAGED BLOCK IPv6
# BEGIN ANSIBLE MANAGED BLOCK IPv4
inet 172.17.17.2 255.255.255.252
!route add default 172.17.17.1
# END ANSIBLE MANAGED BLOCK IPv4


When things are working:

# uptime
 5:11PM  up 9 mins, 1 user, load averages: 0.00, 0.01, 0.00


# ifconfig vio0
vio0:
flags=648843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6,INET6_NOSOII>
mtu 1500
        lladdr bc:24:11:10:52:72
        index 1 priority 0 llprio 3
        groups: egress
        media: Ethernet autoselect
        status: active
        inet6 fe80::be24:11ff:fe10:5272%vio0 prefixlen 64 scopeid 0x1
        inet 172.17.17.2 netmask 0xfffffffc broadcast 172.17.17.3
        inet6 fd00:172:17:170:be24:11ff:fe10:5272 prefixlen 64 autoconf
pltime 604644 vltime 2591844
        inet6 fd00:172:17:170:1fa3:a3db:db4a:707d prefixlen 64 autoconf
temporary pltime 74422 vltime 172248


# ping6 -vn -c 3 google.com
PING google.com (fd00:172:17:170:1fa3:a3db:db4a:707d -->
2a00:1450:4005:801::200e): 56 data bytes
64 bytes from 2a00:1450:4005:801::200e: icmp_seq=0 hlim=114 time=27.533 ms
64 bytes from 2a00:1450:4005:801::200e: icmp_seq=1 hlim=114 time=30.263 ms
64 bytes from 2a00:1450:4005:801::200e: icmp_seq=2 hlim=114 time=30.143 ms

--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 27.533/29.313/30.263/1.260 ms


# traceroute6 -vn google.com
traceroute6 to google.com (2a00:1450:4005:801::200e), 64 hops max, 60
byte packets
 1  fd00:172:17:170:2a0:57ff:fe3a:ac77 68 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  0.227 ms  0.159 ms  0.136 ms
 2  2a02:810d:1:bf::3 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 
13.606 ms 2a02:810d:1:bf::2 68 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  15.823 ms 2a02:810d:1:bf::3 68
bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 14.467 ms
 3  * * *
 4  * * *
 5  * * *
 6  2001:4860:1:1::2a4 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 
16.263 ms  12.806 ms  14.327 ms
 7  * 2001:4860:0:1::839f 68 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  15.828 ms *
 8  * * *
 9  2001:4860::c:4003:4958 152 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  27.715 ms  29.765 ms  30.264 ms
10  2001:4860::c:4002:f990 152 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  31.119 ms 2001:4860::c:4002:f991
152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  29.906 ms
2001:4860::c:4002:f990 152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 
36.316 ms
11  2001:4860::c:4001:ebf 152 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  29.679 ms 2001:4860::c:4002:7869
152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  33.901 ms  31.045 ms
12  2001:4860::9:4001:ecb 68 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  29.68 ms 2001:4860::9:4001:ec0 68
bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  29.575 ms
2001:4860::9:4001:ecb 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 
36.681 ms
13  2001:4860:0:1::6b65 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 
29.283 ms * *
14  2001:4860:0:1::6b65 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 
30.595 ms 2a00:1450:4005:801::200e 68 bytes to
fd00:172:17:170:1fa3:a3db:db4a:707d  40.122 ms 2001:4860:0:1::6b65 68
bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  30.369 ms


# route -n show -inet6
Routing tables

Internet6:
Destination Gateway                                 Flags   Refs     
Use Mtu  Prio Iface
default fe80::2a0:57ff:fe3a:ac77%vio0           UGS        0        8
-     8 vio0
::/96 ::1                                     UGRS       0        0
32768     8 lo0
::1 ::1                                     UHhl      10       20
32768     1 lo0
::ffff:0.0.0.0/96 ::1                                     UGRS      
0        0 32768     8 lo0
2002::/24 ::1                                     UGRS       0        0
32768     8 lo0
2002:7f00::/24 ::1                                     UGRS      
0        0 32768     8 lo0
2002:e000::/20 ::1                                     UGRS      
0        0 32768     8 lo0
2002:ff00::/24 ::1                                     UGRS      
0        0 32768     8 lo0
fd00:172:17:170::/64 fd00:172:17:170:be24:11ff:fe10:5272     UCPn      
0        1 -     4 vio0
fd00:172:17:170::/64 fd00:172:17:170:1fa3:a3db:db4a:707d     UCPn      
0        0 -     4 vio0
fd00:172:17:170:1fa3:a3db:db4a:707d
bc:24:11:10:52:72                       UHLl       0      193 -     1 vio0
fd00:172:17:170:be24:11ff:fe10:5272
bc:24:11:10:52:72                       UHLl       0        0 -     1 vio0
fe80::/10 ::1                                     UGRS       0        1
32768     8 lo0
fec0::/10 ::1                                     UGRS       0        0
32768     8 lo0
fe80::%vio0/64 fe80::be24:11ff:fe10:5272%vio0          UCn       
1        0 -     4 vio0
fe80::2a0:57ff:fe3a:ac77%vio0 00:a0:57:3a:ac:77                      
UHLch      1       91 -     3 vio0
fe80::be24:11ff:fe10:5272%vio0 bc:24:11:10:52:72                      
UHLl       0        8 -     1 vio0
fe80::1%lo0 fe80::1%lo0                             UHl        0       
0 32768     1 lo0
ff01::/16 ::1                                     UGRS       0        1
32768     8 lo0
ff01::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um        
0        2 -     4 vio0
ff01::%lo0/32 fe80::1%lo0                             Um        
0        1 32768     4 lo0
ff02::/16 ::1                                     UGRS       0        1
32768     8 lo0
ff02::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um        
0        5 -     4 vio0
ff02::%lo0/32 fe80::1%lo0                             Um        
0        1 32768     4 lo0



######
And when things don't work:

# uptime
 5:12PM  up 1 day,  1:53, 1 user, load averages: 0.00, 0.00, 0.00


# ifconfig vio0
vio0:
flags=648843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6,INET6_NOSOII>
mtu 1500
        lladdr bc:24:11:10:52:72
        index 1 priority 0 llprio 3
        groups: egress
        media: Ethernet autoselect
        status: active
        inet6 fe80::be24:11ff:fe10:5272%vio0 prefixlen 64 scopeid 0x1
        inet 172.17.17.2 netmask 0xfffffffc broadcast 172.17.17.3
        inet6 fd00:172:17:170:be24:11ff:fe10:5272 prefixlen 64 autoconf
pltime 604500 vltime 2591700
        inet6 fd00:172:17:170:60b3:77d:dae4:601a prefixlen 64
deprecated autoconf temporary pltime 0 vltime 80513
        inet6 fd00:172:17:170:5e06:a3a:7788:d154 prefixlen 64 autoconf
temporary pltime 45077 vltime 160314


# ping6 -vn -c 10 google.com
PING google.com (fd00:172:17:170:5e06:a3a:7788:d154 -->
2a00:1450:4005:801::200e): 56 data bytes
32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: Neighbor Advertisement
32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: Neighbor Solicitation

--- google.com ping statistics ---
10 packets transmitted, 0 packets received, 100.0% packet loss


# traceroute6 -vn google.com
traceroute6 to google.com (2a00:1450:4005:801::200e), 64 hops max, 60
byte packets
 1  fd00:172:17:170:2a0:57ff:fe3a:ac77 68 bytes to
fd00:172:17:170:5e06:a3a:7788:d154  0.25 ms  0.163 ms  0.145 ms

32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0 to
fe80::be24:11ff:fe10:5272: icmp type 136 (OUT-OF-RANGE) code 0
0000: fe800000 00000000 02a057ff fe3aac77
0010: 020100a0 573aac77 2a001450 40050801

32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0 to
fe80::be24:11ff:fe10:5272: icmp type 135 (OUT-OF-RANGE) code 0
0000: fe800000 00000000 be2411ff fe105272
0010: 010100a0 573aac77 2a001450 40050801
64  * * *


# route -n show -inet6
Routing tables

Internet6:
Destination Gateway                                 Flags   Refs     
Use Mtu  Prio Iface
default fe80::2a0:57ff:fe3a:ac77%vio0           UGS        0      123
-     8 vio0
::/96 ::1                                     UGRS       0        0
32768     8 lo0
::1 ::1                                     UHhl      10       20
32768     1 lo0
::ffff:0.0.0.0/96 ::1                                     UGRS      
0        0 32768     8 lo0
2002::/24 ::1                                     UGRS       0        0
32768     8 lo0
2002:7f00::/24 ::1                                     UGRS      
0        0 32768     8 lo0
2002:e000::/20 ::1                                     UGRS      
0        0 32768     8 lo0
2002:ff00::/24 ::1                                     UGRS      
0        0 32768     8 lo0
fd00:172:17:170::/64 fd00:172:17:170:be24:11ff:fe10:5272     UCPn      
1        2 -     4 vio0
fd00:172:17:170::/64 fd00:172:17:170:60b3:77d:dae4:601a      UCPn      
0        0 -     4 vio0
fd00:172:17:170::/64 fd00:172:17:170:5e06:a3a:7788:d154      UCPn      
0        0 -     4 vio0
fd00:172:17:170:4727:605a:938:42 link#1                                 
UHLc       0        4 -     3 vio0
fd00:172:17:170:5e06:a3a:7788:d154
bc:24:11:10:52:72                       UHLl       0        9 -     1 vio0
fd00:172:17:170:60b3:77d:dae4:601a
bc:24:11:10:52:72                       UHLl       0      113 -     1 vio0
fd00:172:17:170:be24:11ff:fe10:5272
bc:24:11:10:52:72                       UHLl       0        0 -     1 vio0
fe80::/10 ::1                                     UGRS       0        1
32768     8 lo0
fec0::/10 ::1                                     UGRS       0        0
32768     8 lo0
fe80::%vio0/64 fe80::be24:11ff:fe10:5272%vio0          UCn       
1        0 -     4 vio0
fe80::2a0:57ff:fe3a:ac77%vio0 00:a0:57:3a:ac:77                      
UHLch      1     5196 -     3 vio0
fe80::be24:11ff:fe10:5272%vio0 bc:24:11:10:52:72                      
UHLl       0      262 -     1 vio0
fe80::1%lo0 fe80::1%lo0                             UHl        0       
0 32768     1 lo0
ff01::/16 ::1                                     UGRS       0        1
32768     8 lo0
ff01::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um        
0        3 -     4 vio0
ff01::%lo0/32 fe80::1%lo0                             Um        
0        1 32768     4 lo0
ff02::/16 ::1                                     UGRS       0        1
32768     8 lo0
ff02::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um        
0        7 -     4 vio0
ff02::%lo0/32 fe80::1%lo0                             Um        
0        1 32768     4 lo0


# ping6 -n -c 3 fe80::2a0:57ff:fe3a:ac77%vio0
PING fe80::2a0:57ff:fe3a:ac77%vio0 (fe80::2a0:57ff:fe3a:ac77%vio0): 56
data bytes
64 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: icmp_seq=0 hlim=64
time=0.395 ms
64 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: icmp_seq=1 hlim=64
time=0.273 ms
64 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: icmp_seq=2 hlim=64
time=0.286 ms

--- fe80::2a0:57ff:fe3a:ac77%vio0 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.273/0.318/0.395/0.055 ms

No comments:

Post a Comment