Ich bin ein wenig verwirrt über die folgenden 2 RFCs in Bezug auf IPv6:
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).
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.
quelle