Zum Inhalt springen

OPNsense/IPv6/tmp

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Dateisystem » ssh » Systemd » Samba/Client » OPNsense/IPv6/tmp

Einführung

Bis heute bleibt IPv6 ein schwer fassbares Thema

  • IPv6 wird seit langem als Standardoption in OPNsense ausgeliefert und wurde im Laufe der Jahre schrittweise verbessert, aber die Komplexität der Konfiguration, Probleme mit dem ISP und manchmal auch Softwarefehler können dazu führen, dass die Verbindung nicht zustande kommt oder überhaupt nicht hergestellt werden kann
  • Dieser Leitfaden soll eine Grundlage dafür bieten, wie IPv6 konfiguriert werden kann und wie man bekannte Fehler erkennt und die Konnektivität behebt

Wenn von externen und internen Schnittstellen die Rede ist, werden in diesem Leitfaden die Begriffe "WAN" und "LAN" verwendet, wobei nicht ausgeschlossen wird, dass auf jeder Seite mehrere Schnittstellen gleichzeitig verwendet werden

Der Einfachheit halber wird in diesem Leitfaden nicht auf NAT bei IPv6 eingegangen

Technischer Hintergrund

Überblick

Wenn man sich mit IPv6 beschäftigt, kommen viele Unterschiede zu IPv4 zum Vorschein, die man bei der Fehlersuche unbedingt beachten sollte

  • In diesem Kapitel wollen wir einige der wichtigsten Bausteine in IPv6-Netzwerken erklären

WAN-Konfigurationsablauf (am häufigsten)

Im obigen Sequenzdiagramm ist der Client die OPNsense-Firewall und der Server der ISP, aber die Clients innerhalb des Netzwerks verhalten sich ähnlich wie OPNsense an der WAN-Schnittstelle.

Die meisten Konzepte, die in diesem Abschnitt erklärt werden, sind Teil des Neighbor Discovery Protocol

Finden Sie Ihre Nachbarn [NS,NA]

Damit ein Rechner seine Nachbarn kennt, verwendet er das Neighbor Discovery Protocol (NDP), das dem ARP in IPv4-Netzen ähnelt, aber mit Neighbor Solicitation (ICMPv6 Typ 135) und Neighbor Advertisement ICMPv6 type 136) Nachrichten

Um zu überprüfen, ob ein Nachbar bekannt ist, können Sie die NDP-Tabelle in Schnittstellen ‣ Diagnose ‣ NDP-Tabelle verwenden

Router Solicitation [RS]

Da viele Heim- und Zweigstelleneinrichtungen automatisch konfiguriert werden, ist es sinnvoll, zunächst die Routeranfragen (RS) zu erklären

Im Vergleich zu IPv4 unterscheidet sich die dynamische Konfiguration in Bezug auf Adressierung und Routen deutlich

  • Ein dynamisch konfigurierter Host beginnt mit dem Senden einer Router-Solicitation-Nachricht unter Verwendung von ICMPv6 Typ 133, Danach erwartet es, dass die Gegenseite mit einer Router-Anzeige antwortet (ICMPv6 Typ 134)

Die Adresse, die ein Host verwendet, hängt zum Teil von der Antwort ab, die er erhält

  • Wenn eine DHCPv6-Client-Konfiguration verwendet wird, wird ähnlich wie bei IPv4 ein DHCP-Client verwendet, um eine Adresse zu erhalten
  • Wenn eine zustandslose Autokonfiguration verwendet wird, berechnet der Client eine zu verwendende Adresse auf der Grundlage seiner Mac-Adresse und des Netzwerks, das er von der Ankündigung erhalten hat

Hinweis

Der Einfachheit halber gehen wir nicht näher auf die zustandslose Autokonfiguration einschließlich optionaler Funktionen zur Vermeidung von Adressenduplikaten (DAD) ein

Auf OPNsense wird ein Dienst namens rtsold verwendet, um diese Aufforderungen zu versenden und kann einige Aktionen auf die erhaltenen Antworten (von den Anzeigen) ausführen

  • Auch wenn Sie nicht explizit um Werbung gebeten haben, werden Sie sie wahrscheinlich trotzdem erhalten, haben aber wenig Kontrolle über sie
  • Der Kernel behandelt diese Advertisements, wenn accept_rtadv ohnehin auf der Schnittstelle aktiviert ist

Ruoter Advertisement

Das Gegenteil der Solicitation ist die Advertisement, die wir auch auf unserer Seite verwenden, um unsere Kunden zu informieren

  • Eine Router-Ankündigung enthält wichtige Informationen für den Client, um im Netz zu bestehen
  • Normalerweise wird eine link-local (FE80::/8) Adresse als Quelladresse in der Nachricht verwendet, die dann vom Client als (Standard-)Gateway benutzt wird

Bestimmte Flags und Optionen werden dem Client angeboten, die wichtigsten sind die folgenden (rfc4861):

Code Name Beschreibung
M Verwaltete Adresskonfiguration Wenn gesetzt, zeigt es an, dass Adressen über DHCPv6 verfügbar sind
O Kennzeichen für andere Konfiguration Zeigt an, dass andere Informationen, wie z. B. dns-bezogene Optionen, über DHCPv6 verfügbar sind

Zu den relevanten anderen Informationen gehören:

Zweck Art der Option Beschreibung
Informationen zum Präfix 3 Zu verwendendes Präfix, wenn das Flag A gesetzt ist, kann es für zustandslose Autokonfiguration (slaac) verwendet werden
Rekursiver DNS-Server 25 DNS-Server-Informationen (RDNS)
Informationen zur Route 24 Zu installierende Routes mit ihrer Priorität

Unsere Kunden (normalerweise im LAN) benötigen einen Router-Advertising-Daemon auf unserer Seite

  • Dieser Dienst kann entweder über radvd oder dnsmasq auf unserer Seite angeboten werden

DHCPv6

Ähnlich wie bei IPv4 gibt es auch für IPv6 ein Netzwerkkonfigurationsprotokoll, aber der Umfang des Dienstes ist anders

  • Im obigen Sequenzdiagramm sehen wir, dass ein dhcpv6-Client nach dem Router-Solicitation-Prozess ausgeführt wird
  • Da dhcpv6 nicht für den Routing-Teil verantwortlich ist und die Adresskonfiguration von der empfangenen Routing-Ankündigung abhängen kann, benötigt er diese Informationen zuerst

Bei der Fehlersuche in der DHCPv6-Kommunikation, ist es wichtig zu wissen, dass Clients auf UDP port 546 und Server empfangen ihre Nachrichten auf UDP port 547

Je nach ihrer Rolle erhalten die Clients eine Adresse über DHCPv6 (oder werden automatisch über SLAAC konfiguriert) und Informationen über die umliegenden Server, wie z. B. das zu verwendende DNS

Der andere wichtige Aspekt von DHCPv6 ist die Fähigkeit, Netzwerke zu senden, die für angeschlossene Router zu verwenden sind

  • Dieser Prozess wird Prefix Delegation [PD] genannt
  • In den meisten Fällen erhält OPNsense vom Provider eine PD, die es für die angeschlossenen Netzwerke verwenden kann
  • Normalerweise sind diese Präfixe größer als das minimale /64 (z.B. /48)

Unser DHCP-Client ist auch für die Konfiguration einer Adresse für die LAN-Schnittstelle auf der Grundlage des empfangenen delegierten Präfixes verantwortlich

  • Dieser Teil der Konfiguration wird auf der lan-Schnittstelle als "tracking" angegeben

Hinweis

Wenn Ihr Provider oder Cloud-Hosting keine PD anbietet, ist ein zuverlässiges Routing nicht möglich

  • In einigen Fällen kann die Netzwerkadressübersetzung eine Option sein (Beispiel in ndproxy)
  • Es gibt eine experimentelle rfc zum Proxy von Nachbarschaftserkennungspaketen, aber es gibt noch keine Implementierung

Hinweis

Es gibt einige Überschneidungen zwischen den Angeboten von DHCPv6 und den Router-Ankündigungen, aber in den meisten automatisch konfigurierten Umgebungen werden beide verwendet

Es gibt mehrere Optionen, die als DHCPv6-Server auf unserer Seite fungieren können

  • Eine Übersicht über die Optionen finden Sie in unserer DHCP Dokumentation

Hinweis

Obwohl hier nicht näher erläutert, erwartet die Firewall, wenn sie sich mit der Außenwelt verbinden muss, eine globale Unicast-Adresse, die auf der WAN-Schnittstelle konfiguriert ist

  • Aus diesem Grund wird die Option dhcp IA_NA (nicht temporäre Adressen) verwendet

Adresskategorien

Beim Lesen der IPv6-Dokumentation werden einige Begriffe, die sich auf Netzwerksegmente beziehen, recht häufig verwendet

  • Der Klarheit halber wollen wir sie im Folgenden erläutern:
Begriff Netzwerk Name
GUA 2000::/3 Globale Unicast-Adressen
ULA FC00::/7 Einzigartige lokale Unicast-Adressen
LL FE80::/10 Link-lokale Unicast-Adressen

Modi der Schnittstellenkonfiguration

Je nach ausgewähltem IPv6-Modus unterscheidet sich das IPv6-Verhalten im Ergebnis

  • Der passende Modus muss für Ihren ISP ausgewählt werden
  • Im Zweifelsfall fragen Sie Ihren ISP um Hilfe oder erkundigen Sie sich im Forum, wie andere Benutzer Ihres ISP dies erfolgreich konfiguriert haben

Keine

Dieser Modus schaltet die IPv6-Konnektivität für diese bestimmte Schnittstelle aus

  • Verwenden Sie diesen Modus, wenn der Standardmodus (DHCPv6) nicht funktioniert oder zu Verbindungsproblemen mit Ihrem ISP führt
  • Er verbietet IPv6 nicht global und einige Dienste können sogar lokal IPv6 benötigen, um mit sich selbst zu kommunizieren (wie z. B. Squid Webproxy)
Hinweis
Sie können diesen Modus für WAN- und LAN-Verbindungen verwenden

Statisches IPv6

Wenn der ISP einen statischen Adressblock anbietet, können Sie ein /64-Netz Ihrer WAN-Schnittstelle und andere /64-Netze Ihren LANs zuweisen

  • Sie können sogar größere Netze innerhalb Ihres Präfixes über DHCPv6 an nachgeschaltete Router delegieren, was im statischen Modus generell möglich ist
  • Beachten Sie, dass Sie für diesen Modus eine Gateway-Adresse erstellen und einstellen müssen, um eine Verbindung zu Ihrem nächsten Gateway-Hop herzustellen, den Ihnen Ihr ISP ebenfalls zur Verfügung stellen sollte
Hinweis
Sie können diesen Modus für WAN- und LAN-Verbindungen verwenden

DHCPv6

Für dynamische Adressangebote (die höchstwahrscheinlich auch das Präfix verschieben) ist dieser Modus die häufigste Konfiguration und daher auch die Standardeinstellung für ein voreingestelltes WAN

  • In diesem Modus wird ein Präfix erworben, wenn es angeboten wird, entweder mit oder ohne eine zusätzliche IP-Adresse für Ihr WAN
  • Beachten Sie, dass sich die Schnittstelle im Gegensatz zu statischem IPv6 nicht selbst ein /64 aus dem Präfix zuweist
  • Intern wird eine einzelne, weltweit eindeutige Adresse entweder über DHCP oder SLAAC (nicht zu verwechseln mit dem SLAAC-Modus) erworben, aber im Allgemeinen wird eine vom ISP bereitgestellte link-lokale Adresse automatisch für die Verbindung zum Next-Hop-Gateway verwendet
  • Die Einstellung "Nur ein IPv6-Präfix anfordern" kann erforderlich sein, wenn der ISP sich weigert, eine Adresse und/oder ein Präfix auszugeben

Hinweis

Sie können diesen Modus nur für WAN-Verbindungen verwenden

SLAAC

Verwenden Sie "Stateless Address Autoconfiguration" nur für die IPv6-Konnektivität

  • In Fällen, in denen statisches IPv6 oder DHCPv6 nicht verfügbar ist, kann dieser Modus dennoch ISP-Konnektivität bieten
Hinweis
Sie können diesen Modus nur für WAN-Verbindungen verwenden

6to4-Tunnel

Dies ist ein IPv6-über-IPv4-Tunneling-Modus gemäß RFC3056 über eine feste IPv4-Router-Adresse

  • Er erfordert keine clientseitige Konfiguration, wird aber aufgrund von 6rd nicht mehr häufig verwendet
Hinweis
Sie können diesen Modus nur für WAN-Verbindungen verwenden

6rd Tunnel

6rd steht für "IPv6 Rapid Deployment" und ist eine verallgemeinerte Form der 6to4-Konnektivität, bei der ein variables Präfix durch Konfiguration erhalten werden kann

  • Einige ISPs verwenden diesen Modus noch, obwohl er im Allgemeinen nicht sehr beliebt ist
  • Die Konfiguration für 6rd kann durch die IPv4-DHCP-Verbindung geliefert werden, wird aber derzeit nicht geparst und dem Benutzer präsentiert
Hinweis

Sie können diesen Modus nur für WAN-Verbindungen verwenden

Schnittstelle verfolgen

In diesem Modus wird eine WAN-DHCPv6-Schnittstelle verwendet, um Ihren LAN-Schnittstellen ein einzelnes (/64) Netzwerk zuzuweisen

  • Die Option "Manuelle Konfiguration" schaltet von der automatischen Konfiguration von Router-Ankündigungen und DHCPv6 (einschließlich Präfix-Delegation, wenn das Präfix groß genug ist) auf die Art und Weise um, wie statische IPv6-konfigurierte Geräte es vom Menü aus nutzen können

Die Hauptfunktion einer "Track"-Schnittstelle besteht darin, die Adressierung auf der Grundlage der konfigurierten "wan"-Schnittstelle vorzubereiten

  • Dies wird entweder statisch (berechnet) für 6to4 ermöglicht, 6rd oder über dhcp6c abgefragt
Tipp
Da dhcpv6 am häufigsten verwendet wird, ist es hilfreich zu verstehen, wie die Netze anhand der über dhcpv6 auf der Wan-Schnittstelle empfangenen Informationen verteilt werden
  • Zwei Eigenschaften spielen hier eine wichtige Rolle: Assign prefix ID (sla-id), der Site-Level Aggregation Identifier, wird auf der LAN-Schnittstelle angegeben und identifiziert die Netzwerknummer (jedes Netzwerk verwendet eine eindeutige Nummer)
  • Die andere Option ist Präfix Delegationsgröße (sla-len), die auf der Schnittstelle vom Typ wan angegeben wird und die Präfixgröße konfiguriert, die für alle angeschlossenen Netze zu verwenden ist (standardmäßig /64)

Sobald die Schnittstelle eine Adresse hat, können wir damit beginnen, Router-Ankündigungen mit radvd oder dnsmasq und Adressen mit einem der verfügbaren dhcpv6-Server bereitzustellen

Hinweis
Sie können diesen Modus nur für LAN-Verbindungen verwenden

Grundlegende Einrichtung und Fehlerbehebung

Die Bereitstellung von IPv6 erfolgt in zwei Schritten:# Stellen Sie IPv6 für Ihr WAN und die Firewall selbst bereit

  1. Stellen Sie IPv6 für Ihr LAN und die dahinter liegenden Clients bereit

Für Schritt 1 wählen Sie zunächst den passenden IPv6-Modus, konfigurieren die WAN-Schnittstelle neu und versuchen, eine IPv6-Adresse oder einen Host von der Firewall selbst anzupingen, z.B.:

Testen Sie, ob ein Ping über IPv6 ins Internet erfolgreich ist (auch möglich über Interfaces‣Diagnostics‣Ping)

# ping -6 heise.de

Testen Sie, ob eine IPv6-Standardroute existiert (auch möglich über System‣Routes‣Status und suchen Sie nach Standard)

# netstat -nr6 | grep default
Hinweis
Wenn einer oder beide Schritte nicht funktionieren, liegt ein Konfigurationsproblem auf der WAN-Seite vor, oder Ihr ISP unterstützt IPv6 zu diesem Zeitpunkt nicht
  • Versuchen Sie an dieser Stelle nicht, Schritt 2 zu debuggen und sich zu fragen, warum die Clients keine Verbindung herstellen können

Für Schritt 2 können in einem LAN statische und Tracking-Modi verwendet werden, um den angeschlossenen Clients IPV6-Konnektivität zu bieten

Der Tracking-Modus ist standardmäßig aktiviert, und der DHCPv6-Server im WAN richtet automatisch sowohl Router Advertisements als auch DHCPv6-Server ein, einschließlich der Verwendung von Präfixen, die an Clients delegiert werden, wenn das vorhandene Präfix noch genügend Platz zum Delegieren hat

Wenn Sie den statischen Modus oder die Einstellung "Manuelle Konfiguration" im Tracking verwenden, können Sie sowohl Router Advertisements als auch den DHCPv6-Server über das Menü konfigurieren, wobei die Standardeinstellung jedoch deaktiviert ist

  • Die meisten Endgeräte funktionieren gut, wenn nur Router Advertisements eingestellt sind, aber wenn Sie mit nachgeschalteten Routern zu tun haben, kann es von Vorteil sein, auch DHCPv6-Server einzurichten, um einen Teil des Präfixes zu delegieren
Hinweis
Beachten Sie, dass bestimmte Netzwerkstack-Implementierungen wie Android-Telefone nur Router Advertisement-Konfiguration über SLAAC unterstützen und DCHPv6-Leases dort nicht funktionieren

Stellen Sie sicher, dass Sie die folgenden Schritte mit mehreren verschiedenen Clients testen, um zu sehen, ob eine Verbindung hergestellt werden kann oder nicht:

Diese beiden Seiten können Ihnen auch bei der Diagnose der übrigen Probleme helfen

  • Stellen Sie sicher, dass Sie während der Tests sowohl DHCPv6-Server als auch Router-Anzeigen einrichten, wenn Sie IPv6-Konnektivität debuggen
  • Wenn Sie weder das eine noch das andere benötigen, ist es auch in Ordnung, sie zu deaktivieren
  • Eine vollständig statische Einrichtung ist ebenfalls möglich
Tipp
Wenn bei der Einrichtung Probleme auftreten, sollten Sie die oben beschriebene Abfolge von Ereignissen beachten und die Paketaufzeichnung verwenden, um zu prüfen, ob Daten über die erwarteten Protokolle ausgetauscht werden (z. B. ICMPv6, um RS- und RA-Datenverkehr zu finden)

Beispiele für Konfigurationen

  • IPv6 Tunnel Broker
  • IPv6 für generische DSL-Einwahl
Quelle