GS-2326: Probleme mit IPv6-Multicasts (ICMP, DHCP)

Forum zu "managed" LANCOM Switches

Moderator: Lancom-Systems Moderatoren

Antworten
Rougu
Beiträge: 115
Registriert: 18 Sep 2007, 18:57
Wohnort: EU

GS-2326: Probleme mit IPv6-Multicasts (ICMP, DHCP)

Beitrag von Rougu »

Hallo,

nach überproportional viel Zeit bei der Analyse habe ich ein paar Probleme mit den GS-2326, die ich nicht in den Griff kriege, und zwar weder mit der Firmware 1.32 noch mit 1.48-RC1


Problem 1: IPv6-Autoconfiguration über RA nur im Default-VLAN, DHCPv6 gestört

1.1 Symptome

Router Advertisements/Solicitations (ICMPv6) werden standardmäßig nur über das Default-VLAN übertragen (Default-Einträge für 33-33-00-00-00-01 und 33-33-00-00-00-02 für Ports "CPU,1-26 in der MAC-Tabelle). Daher ist ein Betrieb von DHCPv6 und ICMPv6 Autoconfiguration über RS/RA in VLANs nicht oder zumindest nicht zuverlässig möglich.

Die Multicast-Discovery-Funktion würde diese Protokolle zwar erkennen, aber arbeitet auf L3. Wenn die L2-Multicast-MAC-Adressen an den Ports nicht gelernt werden, kann MLD auch nicht greifen.

Die für die Neighbor- und Router-Discovery nötigen Frames werden in anderen VLANs aktiv gesperrt. Die Interfacestatistik zählt mit in „Rx filtered“ (Gegenkontrolle mit Wireshark!):


1.2 Workaround

Laut Anleitung ist die Filter Database eine gemischte Tabelle mit L2- DMACs und SMACs.

Für andere VLANs müssen die Multicast-Adressen für diese Protokolle manuell in die statische MAC-Tabelle der Filter-Datenbank eingetragen werden und den Ports zugeordnet werden.

[code]Switch(fdb)# show ?
configuration Show MAC address table configuration
mac-table Show MAC address table
static-mac Show static MAC address

Switch(fdb)# show static-mac
No VID MAC Address Ports
---- ---- ----------------- ---------------
1 101 33-33-00-00-00-01 1-26
2 101 33-33-00-00-00-02 1-26
3 101 33-33-00-01-00-02 1-26
Total static MAC address : 2

Switch(fdb)# sh mac-table
No Type MAC Address VID Ports
---- ------- ----------------- ---- ---------------
1 Dynamic 00-23-7d-cc-12-92 1 23
3 Static 00-a0-57-1a-34-07 1 None,CPU
5 Dynamic 00-a0-57-1a-34-61 1 23
7 Static 01-00-0c-cc-cc-cc 1 None,CPU
9 Dynamic 20-e5-2a-55-49-cc 1 23
11 Static 33-33-00-00-00-01 1 1-26,CPU
13 Static 33-33-00-00-00-02 1 1-26,CPU
15 Static 33-33-00-00-02-02 1 23
17 Static 33-33-ff-00-00-00 1 23
19 Static 33-33-ff-0c-00-0d 1 1-26,CPU
[..]
91 Static 33-33-00-00-00-01 101 1-26
93 Static 33-33-00-00-00-02 101 1-26
95 Static 33-33-00-00-00-0c 101 10
97 Static 33-33-00-00-00-fb 101 19
99 Static 33-33-00-01-00-02 101 1-26
101 Static 33-33-00-01-00-03 101 10
[/code]

11,13: default
91,93,99: added

Damit DHCPv6 funktioniert, muss zusätzlich die Multicast-MAC-Adresse 33-33-ff-01-00-02 gelernt werden.

Sobald diese manuell eingetragen erfolgt ist, funktioniert auch DHCPv6, wie das Protokoll des DHCPv6-Servers zeigt:

Nov 22 12:08:51 as00s002 dhcpd: Solicit message from fe80::86c:9176:cd67:f432 port 546, transaction ID 0xD8421400
Nov 22 12:08:51 as00s002 dhcpd: Sending Advertise to fe80::86c:9176:cd67:f432 port 546
Nov 22 12:08:52 as00s002 dhcpd: Request message from fe80::86c:9176:cd67:f432 port 546, transaction ID 0xD8421400
Nov 22 12:08:52 as00s002 dhcpd: Sending Reply to fe80::86c:9176:cd67:f432 port 546




Problem 2: IPv6-Kommunikation zwischen Nodes fällt immer wieder aus.

2.1 Symptome

ICMPv6-Neighbor/Router Discovery, das Equivalent zu ARP in IPv4, ist ebenfalls gestört. Peer, die für einige Zeit kommunizieren können, können das nach einiger Zeit nicht mehr, oder es gibt Unterbrechungen.


2.2 Analyse

Die Auflösung von Host-MAC-Adressen erfolgt ebenfalls über L2-Multicasts an die MAC-Adresse 33:33:ff:xx:yy:zz, wobei xx:yy:zz die letzten 3 Byte der Ziel-IPv6-Adresse sind.

Für unique-local IPv6-Adressen (fd00::/8, eigentlich sogar fc00::/7) in VLANs (<> default VLAN) funktioniert die dynamische Eintragung von MC-MAC-Adressen nicht, im default VLAN manchmal, aber erratisch.

Beispiel: Wenn ein Node den noch unbekannten Peer fda3:7f01:64d8:cafe::ffff:a01:107 pingen will, dann wird die MAC-Adresse mit einem Multicast an 33:33:ff:01:01:07 angefragt.

Der Switch legt keinen dynamischen Eintrag in der MAC-Adressen-Filterdatenbank für diese Multicasts an. Der Zielhost wird nicht erreicht (destination unreachable: address unreachable).

Wird die MAC-Adresse 33:33:ff:01:01:07 im passenden VLAN statisch eingetragen, funktioniert die Neighbor Solicitation sofort: der Peer antwortet in einem Neighbor Advertisement mit seiner MAC-Adresse. Danach kann der Ping ausgeführt werden, und auch andere Protokolle laufen.

Mögliche Fehlerursache, warum nur IPv6-Multicasts im default VLAN erkannt werden? IPv6-Multicasts in VLANs stehen an den Ingress-Ports nicht mit Ethernet-Typ 0x86dd als Frame an, sondern sind in 802.1q-Frames mit Typ 0x8100 gekapselt. Man müsste eine Ebene tiefer hineinschauen, um Multicasts in VLANs zu erkennen.

Auf jeden Fall müssen L2-Multicasts zuverlässig erkannt und in der MAC-Tabelle geführt werden, weil IPv6 sonst nicht funktioniert.

Ein Workaround ist nicht zuverlässig, weil für die Multicasts alle erdenklichen IPv6-Adressen in Frage kommen: link-local, unique-local, global. Das ist manuell nicht zu beherrschen.


Problem 3: Abschalten des Aging-Timers in der MAC-Adress-Tabelle funktioniert nicht.

Wenn die statische MAC-Tabelle aktiviert wird und der Aging-Timer deaktiviert ist, verschwinden die Einträge trotzdem nach einiger Zeit der Nichtbenutzung aus der Tabelle!



Obwohl die GS-2326 nicht sehr gut dokumentiert sind, halte ich sie für insgesamt sehr performant und schön im QoS-Umfeld (mit 8 HW-Queues), aber für IPv6 sind sie, entgegen den Versprechungen im Datenblatt, im Moment noch nicht einsatzfähig.

Hat jemand dieselben Erfahrungen gemacht? Oder das Problem gelöst? Ich lasse mir gerne einen Konfigurationsfehler nachweisen! Dann nehme ich mein Urteil auch zurück.

Gruß,
rougu
Antworten