Sollte ein Router SLAAC für die IPv6-Adresszuweisung verwenden?


11

Ich bin ein wenig verwirrt über die folgenden 2 RFCs in Bezug auf IPv6:

  • RFC 4862 (IPv6 Stateless Address Autoconfiguration)
  • RFC 7084 (IPv6 CE Router-Anforderungen)

RFC 4862 besagt:

Der in diesem Dokument angegebene Autokonfigurationsprozess gilt nur für Hosts und nicht für Router. Da die automatische Hostkonfiguration Informationen verwendet, die von Routern angekündigt werden, müssen Router auf andere Weise konfiguriert werden.

RFC 7084 listet eine seiner WAN-seitigen Konfigurationsanforderungen für die Adresszuweisung wie folgt auf:

WAA-1: Der IPv6 CE-Router MUSS die SLAAC (Stateless Address Autoconfiguration) [RFC4862] unterstützen.

Gibt es hier einen Widerspruch?

Sollte ein Router in der Lage sein, eine IPv6-Adresse für seine WAN-Schnittstelle automatisch zu konfigurieren?


Warum sagt RFC 4862

Da die automatische Hostkonfiguration Informationen verwendet, die von Routern angekündigt werden, müssen Router auf andere Weise konfiguriert werden.

Wenn ich zum Beispiel einen Router verwende, um mein LAN mit einem ISP zu verbinden, gibt es im Netzwerk des ISP keinen Router, der mit meinem Router kommuniziert?

Ich hätte gedacht, dass es durchaus vernünftig ist, zwei (oder mehr) Router miteinander zu verketten. In welchem ​​Fall verwenden Sie SLAAC auf der WAN-Schnittstelle des zweiten Routers.


Vielleicht liegt das Problem an der künstlichen Unterscheidung zwischen Hosts und Routern? Aus RFC 4862:

Knoten - ein Gerät, das IP implementiert.

Router - Ein Knoten, der IP-Pakete weiterleitet, die nicht explizit an sich selbst adressiert sind.

Host - Jeder Knoten, der kein Router ist.

Aber kann ein Host (dh ein Computer, auf dem Server oder Anwendungen gehostet werden) nicht auch eine Routing-Tabelle haben und als Router fungieren? Und wir verketten effektiv wieder 2 Router miteinander.


Bearbeiten : einige zusätzliche Informationen, die ich später entdeckte ...

Der Linux-Kernel verarbeitet SLAAC und folgt RFC 4862 genau. Bis hin zur Unterscheidung zwischen Hosts und Routern. Siehe die Kerneldokumentation zu ip-sysctl :

  • HOST-Verhalten wird angenommen. Dies bedeutet, dass Router-Anfragen gesendet werden und Router-Ankündigungen für die automatische Adresskonfiguration verwendet werden.
  • Nur wenn die Weiterleitung aktiviert ist ( /proc/sys/net/ipv6/conf/all/forwarding), wird das Gerät als ROUTER betrachtet . Dies bedeutet, dass keine Router-Anfragen gesendet werden und Router-Ankündigungen ignoriert werden.

Es stellt sich heraus, dass diese Unterscheidung weit zurückreicht, vor IPv6. Siehe den Parameter /proc/sys/net/ipv4/ip_forward:

Diese Variable ist etwas Besonderes. Durch ihre Änderung werden alle Konfigurationsparameter auf ihren Standardstatus zurückgesetzt ( RFC1122 für Hosts, RFC1812 für Router).

Antworten:


7

In RFC 7084 heißt es außerdem:

W-1: Wenn der Router an die WAN-Schnittstellenverbindung angeschlossen ist, MUSS er als IPv6-Host für die zustandslose [RFC4862] oder zustandsbehaftete [RFC3315] Schnittstellenadresszuweisung fungieren.

Kurz gesagt, ja - ein Router sollte in der Lage sein, eine IPv6-Adresse für seine WAN-Schnittstelle automatisch zu konfigurieren.

In der Realität implementieren die meisten ISPs jedoch DHCPv6 und DHCPv6-PD ( RFC3633 ) für die nachgelagerte Adresszuweisung zusammen mit der Präfixdelegierung .

Dadurch wird sichergestellt, dass Ihr Router nicht nur eine Adresse auf seiner WAN-Schnittstelle erhält, sondern auch ein Präfix, das er auch auf seiner internen LAN-Schnittstelle verwenden kann.


6

RFC 4862 beschreibt Router innerhalb eines einzigen Verwaltungssteuerelements. RFC 7084 erläutert, wie sich Kundenrouter verhalten sollen. Dies gibt einem ISP einige Freiheiten bei der Unterstützung von IPv6 für seine Kunden.

Zum PE - Router, der CE - Router ist ein Host. Aus der Sicht eines LAN (Layer-2-Domäne, einschließlich der Verbindung von PE zu CE) ist ein Router wirklich nur ein weiterer Host im Netzwerk. In den meisten Fällen werden die WAN-Verbindungsadressen statisch, über DHCP oder über PPP definiert, ohne dass SLAAC verwendet wird.

Ich denke, Sie haben den Teil in RFC 7084 verpasst, der dem vorausgeht, was Sie zitiert haben:

WAN-seitige Anforderungen:

W-1: Wenn der Router an die WAN-Schnittstellenverbindung angeschlossen ist, MUSS er als IPv6-Host für zustandslose [ RFC4862 ] oder statusbehaftete [ RFC3315 ] Zwecke fungieren ] Schnittstellenadresszuweisung .


1
Viele ISPs führen die WAN-Verbindung auch nicht nummeriert aus (nur verbindungslokal). Alles, was auf der WAN-Verbindung passiert, ist, dass der ISP-Router Pakete an das CPE und das CPE Pakete an das Standard-Gateway sendet. Beide verwenden normalerweise ohnehin linklokale Adressen.
Sander Steffann

5

Warum sagt RFC 4862: "Da die Host-Autokonfiguration Informationen verwendet, die von Routern angekündigt werden, müssen Router auf andere Weise konfiguriert werden."

Die Leute, die dieses Dokument (und seinen Vorgänger RFC 2462) geschrieben haben, waren mit ziemlicher Sicherheit der Ansicht, dass es zwei Arten von Geräten gibt. Zahlreiche "Hosts" und eine zu verwaltende Belastung und "Router", die von kompetenten Netzwerkadministratoren verwaltet wurden.

In den frühen 2000er Jahren gab es immer mehr DSL / Kabel-Verbindungen und auch mehr Menschen, die mehr als einen Computer zu Hause hatten, der eine Internetverbindung nutzen konnte. Da viele ISPs nur eine IP-Adresse an einen Kunden vergeben würden (zumindest ohne zusätzliche Gebühren), hat die Verwendung von "Heimroutern" mit NAT, um mehrere Computer hinter einer solchen Verbindung zu verstecken, massiv zugenommen. Das NAT erlaubte dem "Heimrouter", seine wahre Natur vor dem ISP zu verbergen, für den ISP war der "Heimrouter" wie ein Host.

Eine solche Nutzung wurde zunächst nur von ISPs "toleriert", aber schließlich entschieden sie, dass es doch keine so schlechte Sache war, und begannen, die "Heimrouter" tatsächlich an ihre Kunden zu geben / zu verkaufen. Infolgedessen hatten wir eine große Anzahl dieser Geräte in Privathaushalten und kleinen Unternehmen.

Erst vor relativ kurzer Zeit hat die IETF begonnen, das Verhalten von "Heimroutern" und den ISPs, die sie bedienen, im Kontext von IPv6 richtig zu untersuchen. Die Antwort ist, dass sich die "WAN-Seite" -Schnittstelle ähnlich wie ein Host verhalten sollte, während sich die "LAN-Seite" -Schnittstellen wie ein normaler Router verhalten sollten. Da es kein NAT gibt, sind einige zusätzliche Details erforderlich, um die Bereitstellung von Adressen für die LAN-Seite zu handhaben.


In Bezug auf den Linux-Kernel werden RAs zwar standardmäßig ignoriert, wenn das Routing aktiviert ist. Dieses Verhalten kann jedoch bei Bedarf überschrieben werden.


Sie haben nicht erwähnt, wie Sie überschreiben sollen. Ich habe Folgendes in meiner / etc / network / interfaces-Datei post-up sysctl -w net.ipv6.conf.eth0.accept_ra = 2, von der ich glaube, dass es die Einstellung ist, um RA zu aktivieren.
tgunr

Ja, 0 ist deaktiviert, 1 ist der normale Modus (aktiviert für Hosts, aber nicht für Router) und 2 ist zwangsweise aktiviert.
Peter Green
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.