IPv6 funktioniert nur nach dem Ping an die Routing-Box

7

Situation:

In unserem Netzwerk gibt es nur einen IPv4-Router, an den jeder Computer angeschlossen ist (WLAN oder Kabel). Ein Server mit IPv4 und IPv6 ist ebenfalls mit diesem Router verbunden. Der Server wurde mit Tunnelbrokern für 6to4-Tunneling und Radvd konfiguriert. Clients im Netzwerk haben das richtige Präfix und können sich über IPv6 gegenseitig anpingen. Sie können jedoch erst dann mit dem Internet pingen, wenn sie den Server (den mit dem Tunnel) zum ersten Mal pingen. Ich habe irgendwo festgestellt, dass es sich um ein ICMP-Problem handelt, konnte aber keine Lösung finden.

Ist das Problem, dass der Router nur IPv4 ist?

  • Server und Clients führen Linux aus
  • Der Router führt dd-wrt ohne IPv6-Unterstützung aus :(

Ping-Versuch:

standa @ standa-Laptop: ~ $ ping6 ipv6.google.com
PING ipv6.google.com (2a00: 1450: 8007 :: 69) 56 Datenbytes
^ C.
--- ipv6.google.com Ping-Statistiken ---
29 gesendete Pakete, 0 empfangene, 100% Paketverlust, Zeit 28223 ms

standa @ standa-Laptop: ~ $ ping6 2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478
PING 2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478 (2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478) 56 Datenbytes
64 Bytes von 2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478: icmp_seq = 1 ttl = 64 time = 3,55 ms
64 Bytes von 2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478: icmp_seq = 2 ttl = 64 time = 0,311 ms
64 Bytes von 2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478: icmp_seq = 3 ttl = 64 time = 0,269 ms
64 Bytes von 2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478: icmp_seq = 4 ttl = 64 time = 0,292 ms
^ C.
--- 2001: 470: XXXX: XXXX: 21c: c0ff: fe2b: 6478 Ping-Statistiken ---
4 Pakete gesendet, 4 empfangen, 0% Paketverlust, Zeit 3000ms
rtt min / avg / max / mdev = 0,269 / 1,107 / 3,559 / 1,415 ms
standa @ standa-Laptop: ~ $ ping6 ipv6.google.com
PING ipv6.google.com (2a00: 1450: 8007 :: 69) 56 Datenbytes
64 Bytes von 2a00: 1450: 8007 :: 69: icmp_seq = 1 ttl = 57 Zeit = 20,7 ms
64 Bytes von 2a00: 1450: 8007 :: 69: icmp_seq = 2 ttl = 57 time = 20,2 ms
64 Bytes von 2a00: 1450: 8007 :: 69: icmp_seq = 3 ttl = 57 time = 23,4 ms
^ C.
--- ipv6.google.com Ping-Statistiken ---
3 gesendete Pakete, 3 empfangene, 0% Paketverlust, Zeit 2001 ms
rtt min / avg / max / mdev = 20,267 / 21,479 / 23,413 / 1,392 ms

UPDATE: Radvd-Konfiguration

Schnittstelle eth0 {
    AdvSendAdvert on;
    MinRtrAdvInterval 3; 
    MaxRtrAdvInterval 10;
    AdvLinkMTU 1280;
    Präfix 2001: 470: 1f0a: 1511: 1 :: / 64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
    };
};

UPDATE 2: Ohne Verbindung

ip -6 wiehern
fe80 :: 21c: c0ff: fe2b: 6478 dev wlan1 lladdr 00: 1c: c0: 2b: 64: 78 router REACHABLE

Mit Verbindung (nach Ping)

fe80 :: 21c: c0ff: fe2b: 6478 dev wlan1 lladdr 00: 1c: c0: 2b: 64: 78 router STALE
2001: 470: 1f0a: 1511 :: 1 dev wlan1 lladdr 00: 1c: c0: 2b: 64: 78 Router REACHABLE

Nachbarwerbung geschieht beim Pingen:

fe80 :: 21c: c0ff: fe2b: 6478 2001: 470: 1f0a: 1511: 21c: bfff: fe60: b389 ICMPv6 Nachbarwerbung
2001: 470: 1f0a: 1511: 21c: bfff: fe60: b389 fe80 :: 21c: c0ff: fe2b: 6478 ICMPv6-Nachbarwerbung
Ficik
quelle

Antworten:

2

Werden die Präfixe der Clients manuell zugewiesen? Normalerweise sollten sie den Router automatisch über das Neighbor Discovery Protocol finden (während dessen der Router Werbung sendet und ihnen automatisch Präfixe zuweist), aber es scheint, dass dieser Schritt möglicherweise fehlt.

Darüber hinaus sollte die Router-Ankündigung ihre Link-Layer-Adresse als Option in den ICMP-Header der Router-Ankündigung aufnehmen. Wenn dieses Feld fehlt, weiß der Client nicht, wie er Daten an den Router senden soll. Es klingt so, als ob dies der Fall sein könnte. Der Client weiß nicht, wie er den Router erreichen soll, bis er die Neighbor Discovery-Nachricht sendet und eine Neighbor Advertisement vom Router empfängt (mit dem Router-Flag im ICMP-Nachrichtensatz).

Fügen Sie Ihrer radvd.conf Folgendes hinzu, um die Adresse der Quelllinkschicht in Ihre Routerankündigungen aufzunehmen

AdvSourceLLAddress on;
Jeff
quelle
Präfixe werden mit radvd deamon auf dem Server mit der obigen Konfiguration festgelegt
Ficik
@Ficik noch ungelöst? Ich würde vorschlagen, eine Paketverfolgung einzurichten. Ich bin da, es passiert etwas über den NDP, wenn Sie den Router anpingen, der in den Router-Ankündigungen fehlt.
Jeff
Immer noch ungelöst :( Ich kann es nur an Wochenenden testen, wenn ich zu Hause bin. Nachbarwerbung und Nachbarwerbung treten beim Ping auf. Ich habe Wireshark ausgeführt und ICMPv6-Pakete protokolliert. Beim Ping gab es nur Radvds Broadcast- und Nachbarwerbung.
Ficik
@Ficik Ich denke, ich habe es herausgefunden und meine Antwort aktualisiert. Lassen Sie mich wissen, ob dies für Sie funktioniert!
Jeff
@Flick Was hast du über deine Antwort aktualisiert? Ich habe Probleme, die genaue Lösung zu finden. Ist es das MTU-Attribut? Warum sonst minimale MTU verwenden? Vielen Dank.
regulatre
0

Stellen Sie sicher, dass Ihre Clients die IPv6-Adresse des Servers als Gateway / Router verwenden. Wie Jeff betonte, kann dies automatisch zugewiesen werden (überprüfen Sie Ihre Radvd-Konfiguration) oder manuell. In diesem Fall überprüfen Sie die Client-Konfiguration.

Peter
quelle
0

Ich denke, Ihre radvd.conf ist in Ordnung, obwohl es nicht schaden würde, ip -6 addr; ip -6 routevor und nach dem Ping auf dem Client zu vergleichen . Ist auf der Tunnelbox oder auf dem Router eine Art Verbindungsverfolgung aktiviert? Ist ein Ping6 aus der Tunnelbox ausreichend? Eine zustandsbehaftete Firewall könnte erklären, warum die Pakete erst nach einem erfolgreichen Ping zurückkommen.

Tobu
quelle
Es gibt keine Änderung zwischen IP-6 Adresse / Route ..
Ficik