IPv6: Clients verlieren Verbindung ins Internet

Started by bamf, June 03, 2025, 05:06:14 PM

Previous topic - Next topic
June 03, 2025, 05:06:14 PM Last Edit: June 03, 2025, 05:12:00 PM by bamf
Hallo,

ich versuche mein Glück mal hier, da mit englissprachigen Forum keine Antwort kommt.

Ich betreibe meine OPNSense als Router hinter einem Zyxel-Modem an einem Business-Anschluss der Telekom. Statische IPv4-Adresse, statisches /56 Präfix.

Ich immer kürzer werdenden Abständen verlieren alle meine Clients im Netzwerk die IPv6-Verbindung ins Internet. Kein Ping, kein Traceroute mehr möglich, Clients auch von außen nicht mehr erreichbar.

Die OPNSense behält ihre IPv6-Konnektivität ins Internet. Intern funktioniert weiterhin alles. RA läuft, Clients bekommen globale Adressen und können untereinander über ihre ULAs kommunizieren.

Prevent Release ist aktiviert.

Wenn ich die OPNSense neu starte, funktioniert alles wieder. Für ein paar Stunden, bis es urplötzlich wieder ausfällt.

Welche Infos werden benötigt, um das Problem zu beheben?

ich betreibe zwar IP6 über NAT aber das Problem betrifft mich auch.


WAN deaktivieren und Aktivieren löst das Problem für eine bestimmte Zeit, ich habe da aber keine Regelmässigkeit gemerkt.


Hatte hierzu mal Issue aufgemacht, bin aber auf Community verwiesen worden.

Bei mir hilft nur der komplette Reboot.

So ist das leider kaum produktiv zu betreiben.

Folgendes ist mir noch aufgefallen: Wenn ich "Restart all Services" wähle, werden alle Interfaces rekonfiguriert. Danach sind aber alle Clients offline.

Wenn ich dann einen Reboot mache, ist kurz (also beim Beginn des Shutdowns) wieder Internet da für die Clients. Wer kann das erklären?

Es ist bekannt, dass bei einem Stopp und Neustart des RADVD ein RA mit einer Lifetime von 0 gesendet wird, wenn in den Advanced Einstellungen nicht ausdrücklich AdvDeprecatePrefix=off gesetzt ist. Das dient normalerweise dazu, beim Wechsel des Prefixes den alten Präfix zu invalidieren.

Wenn aber der Prefix der selbe bleibt, wird er dann nicht mehr genutzt.

Der Nachteil beim Setzen auf "off" ist, dass bei einem echten Präfixwechsel die Clients erst nach einer Weile (Ablauf der normal eingestellten Lifetime) den neuen Präfix nutzen. Man sollte diese Zeit also nicht zu lang einstellen. Noch schlechter ist es bei Nutzung von DHCPv6, weil dann die Clients erst selbst nachfragen müssen, um den neuen Präfix zu erfahren.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

June 05, 2025, 09:59:22 AM #5 Last Edit: June 05, 2025, 10:18:39 AM by bamf
Ich habe einen Business Anschluss bei der Telekom mit fester IP-Adresse. Mein Präfix ändert sich nie.

DHCPv6 verwende ich nicht, nur SLAAC und RA im Modus Unmanaged.

Ich versuche es mal mit AdvDeprecatePrefix=off.

AdvRemoveRoute dann auch gleich auf off?

Ich würde sagen: ja.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

June 05, 2025, 10:06:07 PM #7 Last Edit: June 05, 2025, 10:10:43 PM by bamf
Hat leider nicht geholfen, ich bin schon wieder offline.

Von einem Client aus:

root@pve:~# ping6 opnsense.org
PING opnsense.org(2001:1af8:2050:a001:1::1 (2001:1af8:2050:a001:1::1)) 56 data bytes
^C
--- opnsense.org ping statistics ---
11 packets transmitted, 0 received, 100% packet loss, time 10262ms

root@pve:~# traceroute6 opnsense.org
traceroute to opnsense.org (2001:1af8:2050:a001:1::1) from 2003:a:327:1a00:5a47:caff:fe7b:44a0, port 33434, from port 8058, 30 hops max, 60 bytes packets
 1  2003:a:327:1a00::1 (2003:a:327:1a00::1)  0.315 ms  0.180 ms  0.453 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
[...]

Von der OPNSense aus:

root@OPNsense:~ # ping6 opnsense.org
PING(56=40+8+8 bytes) 2003:a:37f:a71a:227c:14ff:fef5:9cfb --> 2001:1af8:2050:a001:1::1
16 bytes from 2001:1af8:2050:a001:1::1, icmp_seq=0 hlim=251 time=117.804 ms
16 bytes from 2001:1af8:2050:a001:1::1, icmp_seq=1 hlim=251 time=117.307 ms
16 bytes from 2001:1af8:2050:a001:1::1, icmp_seq=2 hlim=251 time=117.448 ms
^C
--- opnsense.org ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 117.307/117.519/117.804/0.209 ms
root@OPNsense:~ # traceroute6 opnsense.org
traceroute6 to opnsense.org (2001:1af8:2050:a001:1::1) from 2003:a:37f:a71a:227c:14ff:fef5:9cfb, 64 hops max, 28 byte packets
 1  2003:0:1001:6418::1  6.558 ms  5.227 ms  5.889 ms
 2  2003:0:1001:6410::2  7.994 ms  7.300 ms  7.989 ms
 3  *
    dtag-ic-387338.ip.twelve99-cust.net  116.366 ms  112.639 ms
 4  ash-b2-link.ip.twelve99.net  114.989 ms  115.002 ms  114.936 ms
[...]

Mir bleibt wieder nur der OPNSense Reboot.

Noch irgendwelche Ideen?


Ein Neustart des RA Daemons bringt gar nichts. Meine Clients können RA's empfangen, bleiben aber offline.

root@jellyfin:~# rdisc6 eth0
Soliciting ff02::2 (ff02::2) on eth0...

Hop limit                 :           64 (      0x40)
Stateful address conf.    :           No
Stateful other conf.      :           No
Mobile home agent         :           No
Router preference         :         high
Neighbor discovery proxy  :           No
Router lifetime           :         1800 (0x00000708) seconds
Reachable time            :  unspecified (0x00000000)
Retransmit time           :  unspecified (0x00000000)
 Prefix                   : 2003:a:327:1a00::/64
  On-link                 :          Yes
  Autonomous address conf.:          Yes
  Valid time              :         7200 (0x00001c20) seconds
  Pref. time              :         3600 (0x00000e10) seconds
 Prefix                   : fda6::/64
  On-link                 :          Yes
  Autonomous address conf.:          Yes
  Valid time              :         7200 (0x00001c20) seconds
  Pref. time              :         3600 (0x00000e10) seconds
 Recursive DNS server     : fda6::e04a:a1ff:fe1f:315
  DNS server lifetime     :          180 (0x000000b4) seconds
 DNS search list          : home.arpa
  DNS search list lifetime:          180 (0x000000b4) seconds
 MTU                      :         8952 bytes (valid)
 Source link-layer address: 20:7C:14:F5:9C:FE
 from fe80::227c:14ff:fef5:9cfe
root@jellyfin:~# ping6 golem.de
PING golem.de(golem.de (2a00:13c8:f5::f:4b3d:148)) 56 data bytes
^C
--- golem.de ping statistics ---
46 packets transmitted, 0 received, 100% packet loss, time 46086ms


Die OpnSense hat offensichtlich eine IA_NA, die nicht aus dem /56er Präfix stammt. Man sieht das daran, dass die ersten 56 Bits nicht gleich sind.

Wahrscheinlich kommt es darauf an, wie das WAN- und das LAN-Interface konfiguriert sind. Eventuell bleibt ja der Präfix (IA_PD) gleich, aber die IA_NA eventuell nicht. Je nachdem, was dann als Gateway per RADVD annonciert wird, kann das falsch sein. Bei festen IPv6 kann man ja theoretisch alles statisch konfigurieren, dann ändert sich auch nichts mehr.

Also sowohl auf dem WAN-Interface als auch auf den (V)LANs statisches IPv6. Falls das schon so ist, dann auf DHCPv6.


OMG: Wann wolltest Du eigentlich mitteilen, dass Du einen Proxmox betreibst? Solche Kleinigkeiten sind wichtig, siehe hier, Punkt 16!

Die Lösung steht eventuell hier:

QuoteWhen you use bridging with vtnet, there is a known Linux bug with IPv6 multicasting, that breaks IPv6 after a few minutes. It can be avoided by disabling multicast snooping in /etc/network/interfaces of the Proxmox host like:

auto vmbr0
iface vmbr0 inet manual
    bridge-ports eth0
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094
    bridge-mcsnoop 0
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Aha, Du nutzt also auch noch ULAs? Man kann es auch kompliziert machen. Ich betreibe das so.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Ich habe den Proxmox nur als Beispiel-Client verwendet. Warum spielt das eine Rolle? Es ist nur ein Mini-PC in meinem LAN.

Das Problem betrifft meinen Laptop, meinen Windows-PC, meine Mini-PCs mit Linux sowie alle Container auf dem Proxmox.

OPNSense läuft Baremetal auf eigener Hardware.

Ja, ich nutze ULAs im LAN. Und das funktioniert auch vollkommen zuverlässig. Alle Geräte können über die ULAs miteinander kommunizieren. Auch jetzt gerade, wo das IPv6-Internet für alle Clients wieder tot ist.

June 05, 2025, 10:44:12 PM #13 Last Edit: June 05, 2025, 10:47:16 PM by meyergru
O.K., die ULAs würde ich aus der Gleichung mal entfernen. Ich hatte oben schon angefangen, etwas zu schreiben (durchgestrichen) - das würde ich checken.

Und falls Du auf dem WAN-Anschluss DHCPv6 nutzt, solltest Du entweder auf statische Konfiguration gehen oder "Request Prefix Only" nutzen. Nur so würdest Du den /56er Präfix für OpnSense selbst und Deine Clients nehmen - anderenfalls ist das unterschiedlich. Wenn sich dann die IA_NA ändert, kann es sein, dass Dein per RA verteiltes Gateway nicht mehr stimmt (oder die ULA-Adresse des Gateway genommen wird).

Du müsstest das über die Zeit mal verfolgen, ob die WAN-IPv6 der OpnSense und/oder das Gateway wechseln.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Vom Laptop (Ubuntu) aus:

root@laptop:~# ping6 opnsense.org
PING opnsense.org (2001:1af8:2050:a001:1::1) 56 data bytes
^C
--- opnsense.org ping statistics ---
12 packets transmitted, 0 received, 100% packet loss, time 11241ms

root@laptop:~# traceroute6 opnsense.org
traceroute to opnsense.org (2001:1af8:2050:a001:1::1), 30 hops max, 80 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * *^C

Welche Rolle spielt hier mein Proxmox? Der macht überhaupt keine Netzwerk-Dinge.