Frage IPv6 Subnetting a / 64 - was wird brechen und wie umgehen?


In IPv6 sollten Sie keine Subnetze für kleinere als a / 64 (RFC 5375) verwenden. Unter anderem funktioniert SLAAC nicht mit kleineren Subnetzen, und anscheinend werden auch einige andere Features kaputt gehen.

Was sind die Problemumgehungen für Situationen, in denen ISPs Ihnen nur eine einzige / 64 geben, aber Sie intern mehrere Subnetze benötigen? Der allgemeine Rat scheint zu sein, nur einen anderen ISP zu finden, der eine / 56 oder / 48 austeilt. In einigen Teilen der Welt mag das funktionieren, aber in unserer Gegend (USA) ist dies wegen fehlender Konkurrenz nicht möglich. Die meisten meiner Kunden haben Glück, wenn sie einen einzigen ISP haben, der ihren Bereich bedient. Viele Leute hier sind immer noch im Gespräch.

Meine Kunden qualifizieren sich nicht für eigene / 48 von ARIN.


23
2017-08-18 04:00


Ursprung


Ich würde Versuchen Sie nicht, IPv6 bereitzustellen in diesem Szenario. Setzen Sie den ISP weiterhin unter Druck, um eine angemessene Konnektivität bereitzustellen. Machen Sie ihre Fehler bei Bedarf gut sichtbar und öffentlich. Zitat Kapitel und Vers aus RFC 6177. Natürlich sollten Sie zuerst sicherstellen, dass es ist ihr Fehler, und dass Ihre Ausrüstung ein größeres Subnetz anfordert. - Michael Hampton♦
Das ist auch ein schlechter Rat. Angesichts all seiner Vorteile sollten die meisten Leute IPv6 bei der ersten verfügbaren Gelegenheit bereitstellen. Leider haben viele ISPs einen kompletten Hundefrühstück ihres IPv6-Dienstes gemacht, was es unklug macht, sie zu benutzen. - Michael Hampton♦
Wir könnten den ganzen Tag streiten, ob es die ISPs sind, die ein Hundefrühstück daraus machen (was sie sicherlich taten!), Oder ob die IPv6-Designer unrealistisch waren in ihrer Annahme, dass ISPs würde nicht TU das. Natürlich sage ich meinen Kunden nicht, dass sie sich für immer von IPv6 fern halten sollen, bis sich der Staub gelegt hat. Ich bin mir sicher, dass es in fünf Jahren oder noch früher einen SLAAC 2.0 geben wird, der kleinere Subnetze unterstützt, zusammen mit NAT (viele Router implementieren ihn ohnehin schon) und alles andere, um IPv6 angesichts von Widrigkeiten arbeiten zu lassen. Ich war eher auf der Suche nach richtigen Lösungen. - Kevin Keane
Zählen Sie nicht auf IPv4 Chaos wie NAT, um mit IPv6 richtig zu arbeiten. NAT war ein Hack, kein Feature ... - Sander Steffann
@ KevinKeane NAT war immer ein Hack und wird es immer sein. Jedes Problem, das Menschen mit NAT zu lösen versucht haben, hat eine echte Lösung, die kein NAT beinhaltet - aber wahrscheinlich IPv6. Die große Mehrheit der Brüche, von denen Sie sprechen, kann NAT oder unvollständigen IPv6-Bereitstellungen zugeschrieben werden. - kasperd


Antworten:


Wenn der ISP Ihnen nicht mehr als a / 64 gibt, dann ist dieser ISP saugt. Wenn es eine Erleichterung ist, kann ich Ihnen sagen, dass ich mit ISPs zu tun habe, die noch mehr saugen. Hier ist es ganz normal, öffentliche IPv4-Adressen von Kunden wegzunehmen und hinter eine CGN zu stellen. Und wenn Sie sie nach IPv6-Adressen fragen, werden sie Ihnen sagen, dass sie kein IPv6 anbieten, da es noch keinen Mangel an IPv4-Adressen gibt und solange es Server ohne IPv6-Unterstützung gibt, werden sie kein IPv6 anbieten, weil es unmöglich ist ein Dual-Stack-Client für die Verbindung mit einem Nur-IPv4-Server.

Wenn irgendein ISP mir geben würde, was du hast, würde ich es nehmen, weil es weniger als das saugt, was ich bis jetzt bekommen konnte.

In der Zukunft gibt es zwei Ansätze, die ich Ihnen empfehlen, parallel zu verfolgen.

Druck auf den ISP ausüben

Setzen Sie so viel Druck auf den ISP wie Sie können. Dazu gehört, dass Sie andere ISPs kontaktieren und möglicherweise wechseln, wenn ein anderer ISP Ihnen einen besseren Deal anbieten kann.

Stellen Sie sicher, dass Sie testen, was passiert, wenn Ihr Router eine delegierte / 48, / 52, / 56 oder / 60 über DHCPv6 im WAN anfordert. Ich würde alle vier Präfixlängen testen, nur für den Fall, dass der DHCPv6-Server aus irgendeinem Grund nur eine spezifische Präfixlänge austeilt und Anfragen nach anderen Präfixlängen ignoriert.

Mach das Beste aus dem, was du hast

Angesichts der Tatsache, dass Sie wahrscheinlich mit einigen Hacks vorwärts kommen müssen, müssen Sie sich fragen, was weniger IPv4 mit Hacks oder IPv6 mit Hacks saugt.

Es gibt ein paar Hacks, die du verwenden kannst, um einen einzelnen / 64 zu vielen Hosts zu strecken.

Ein Link-Präfix zu einem gerouteten Präfix machen

Wenn Sie eine einzelne / 64 auf der WAN-Verbindung haben, aber keine Präfix zu Ihrem LAN geroutet haben, können Sie diese / 64 in ein Routing-Präfix mit ein paar Schritten verwandeln. Konfigurieren Sie die WAN-Schnittstelle Ihres Routers als / 126 und nicht als / 64. Installieren Sie einen Neighbor Advertisement Daemon (z. B. ndppd) auf dem Router, um für jede Adresse in / 64 die eigene MAC-Adresse anzukündigen, mit Ausnahme der 4 Adressen in / 126. Mit diesen zwei Schritten haben Sie eine geroutete / 64, die Sie in Ihrem LAN verwenden können, mit Ausnahme der 4 Adressen, die für die WAN-Verbindung verwendet werden.

Eine modifizierte Version dieses Hacks kann den Link / 64 über mehrere Router hinweg teilen. Das Link-Präfix muss dann etwas kürzer als / 126 sein, um eine IP-Adresse an jeden Router anzupassen, a / 120 wäre kurz genug, um bis zu 254 Router zu ermöglichen.

Jeder Router erhält natürlich nur ein Präfix, das länger als / 64 ist. Ich empfehle Ihnen, die Präfix für jeden Router so lange wie möglich zu machen, während immer noch genügend IP-Adressen für das LAN auf diesem Router haben. A / 112 oder / 120 für jeden Router wäre wahrscheinlich geeignet. Jeder Router antwortet mit seiner eigenen MAC-Adresse für die Nachbarerkennung von allem innerhalb des Präfixes dieses Routers.

In dieser Variante hat jeder Router identische Präfixe, die auf seiner WAN-Seite konfiguriert sind, und er antwortet auf Nachbar-Ermittlungsanfragen nach dem Präfix, das seiner LAN-Seite zugewiesen ist. Offensichtlich überlappt sich keines der LAN-Präfixe und keines von ihnen überlappt das Präfix, das Sie auf der WAN-Seite konfiguriert haben.

Wenn der ISP-Router, der als Ihr Gateway fungiert, sich unter der Adresse 2001 befindet: db8 :: 1/64, dann können Sie 2001: db8 :: / 120 als Ihr WAN verwenden und Sie können 2001: db8 :: 1: 0/112 zuweisen der erste Router, 2001: db8 :: 2: 0/112 an den zweiten Router usw.

Im LAN können Sie eine / 64 auf viele Hosts entweder durch Subnetting oder durch Bridging dehnen. Sie müssen herausfinden, welche der beiden für Sie am besten geeignet ist.

Subnetting

Wenn Sie das / 64 subnet, können Sie auch zu den längsten Präfixen gehen, die noch genügend Adressen für die Hosts haben, die Sie benötigen. Subnetze nicht in / 80-Präfixe, sondern mit / 116, / 120 oder / 124 pro Subnetz. Dinge, die kaputt gehen, wenn Sie / 64 nicht verwenden, sind sehr unwahrscheinlich, und wenn Sie mit / 116 oder länger gehen, werden Sie die Auswirkungen bestimmter DoS-Angriffe von Nachbar-Discovery verringern (falls in einem Ihrer Systeme vorhanden).

In einer solchen Subnetzkonfiguration brechen Sie SLAAC, sodass Sie einen DHCPv6-Server für jedes Segment und statische IPv6-Adressen benötigen, die auf allen Geräten ohne DHCPv6-Unterstützung konfiguriert sind.

Überbrückung

Überbrückung ist die andere Alternative. Es bedeutet im Wesentlichen, dass Sie kein Subnetz, sondern Ihr gesamtes LAN als einzelnes IPv6-Segment mit dem Präfix / 64 betreiben. (Sollte dies erforderlich sein, kann / 64 sowohl LAN als auch WAN umfassen.)

IPv6 ist so konzipiert, dass Bridges erkennen können, an welche der überbrückten Netzwerke die Anycast-Adressen weitergeleitet werden müssen. Auf diese Weise vermeiden Sie das Senden von Paketen über jede physische Verbindung in Ihrem LAN.

Bridges können auch Firewalls und Schutz gegen Spoofing von Nachbarn im LAN verwenden.

Bei ausreichender Intelligenz auf den Bridges gibt es prinzipiell keine Grenzen, wie viele Switches man über einen Single / 64 überbrücken kann.


26
2017-08-18 07:59



Vielen Dank! Das war genau die Art von Antwort, die ich suchte! Ich mag besonders deine Idee, das / 64 in ein geroutetes Präfix zu verwandeln. Können Sie bitte etwas dazu sagen? Zuerst verstehe ich nicht, warum Sie eine / 126 vorschlagen, anstatt eine / 127? Welche IP-Adressen werden wo verwendet? Zweitens, bei einem meiner Clients habe ich eigentlich drei separate interne Router. In IPv4 haben sie drei verschiedene öffentliche IPs in der / 29, die vom ISP bereitgestellt werden. Würde Ihr Schema immer noch mit diesen Routern funktionieren? - Kevin Keane
Ich bin mir auch nicht sicher, wie man einen Neighbor Advertising Daemon auf einem der Router installiert. Ein Router ist Fortigate, einer ist Belkin und ich denke, der dritte ist Linksys. - Kevin Keane
@KevinKeane Der Grund, warum ich a / 126 vorschlage ist, dass Sie oft mindestens drei Adressen innerhalb des Präfixes benötigen. Auf der ISP-Seite kann der Router das Präfix als 2001 konfiguriert haben: db8 :: 1/64, was 2001 bedeutet: db8 :: ist speziell und 2001: db8 :: 1 wird vom ISP-Router verwendet. Ihr eigener Router würde normalerweise mit 2001: db8 :: 2 konfiguriert werden, was bedeutet, dass Sie dann drei Adressen verwendet haben und a / 127 nicht ausreichen wird. A / 127 hätte funktionieren können, wenn Sie keinen Hack mit unterschiedlicher Präfixlänge an den beiden Enden der Verbindung verwendet hätten. - kasperd
Danke für die Erklärung! Wenn ich also drei Router habe, die drei verschiedene interne Netzwerke bedienen, sollte ich eine / 125 verwenden, und jeder Router würde über Nachbarwerbung seine eigene MAC nur für die IPs im entsprechenden Subnetz bewerben. - Kevin Keane
Es gibt einen informativen RFC, RFC 7421, Analyse der 64-Bit-Grenze in IPv6-Adressierung, die eine vollständige Diskussion über die /64 Subnetz, und was ich falsch mache, wenn ich es nicht benutze. - Ron Maupin


Ja, Druck auf Ihren ISP, nicht zu saugen ist die bevorzugte Option. RIR-Zuordnungsrichtlinien setzen voraus, dass der ISP jedem Kunden ein / 48; Es gibt absolut keinen Grund für den ISP, dies nicht zu tun.

IPv6 ist kein Fan von kleineren Subnetzen, aber das einzige, was ist soll zu brechen, das ist mir bewusst, ist SLAAC. Sie werden Probleme mit Fehlern und Annahmen in einigen IPv6-Stacks haben, die blindlings "/ 64 == Subnetz" annehmen, aber das ist ein Bug, kein Feature, und Sie können den Anbieter dazu bringen, ihn zu beheben. Ob es behoben wird, bevor Ihr ISP Ihnen eine / 48 gibt, auf der anderen Seite ...


9
2017-08-18 05:02



Ich denke, dass einige Teile des Nachbar-Entdeckungsprotokolls auch brechen sollen. Der RFC 5375 hat eine ganze Reihe anderer Dinge, aber ich kenne die praktischen Auswirkungen nicht wirklich. Nur eine / 64 zu bekommen, kann manchmal einfach eine Frage des Geldes sein. Ihr ISP kann Heimbenutzern nur eine / 64 geben und / 48 nur Geschäftskonten geben. Nur weil Sie Ihr Heimbüro oder Ihr WLAN vom Rest des Hauses trennen oder ein separates Subnetz für virtuelle Maschinen verwenden möchten? Entschuldigung wegen der Tirade - Ich versuche hier mit einem Problem umzugehen, versuche nicht Dinge zu ändern, die ich nicht kontrollieren kann. - Kevin Keane
Wenn Ihr ISP ein totaler Knockout darüber sein wollte, würden sie jedem Privatkunden einen 128 geben. Ich schätze, Sie können RFC 5375 beim ISP winken und ihnen sagen, dass sie Ihnen IPv6 anstatt IPv5.5 geben sollen ... - womble♦
In der Tat, mindestens ein ISP, den ich kenne, macht das (Verizon Wireless). Dies ist einer der Gründe, warum ich argumentiere, dass NAT immer noch in IPv6 benötigt wird. Aber das ist natürlich getrennt von meiner Frage. - Kevin Keane
Die / 48-Empfehlung von RFC 3177 ist nicht mehr gültig, die meisten RIRs empfehlen jetzt ein / 56 für End-Sites wie in RFC 6177 beschrieben: tools.ietf.org/html/rfc6177 - skrause
@skrause Nicht, dass es trotzdem einen Unterschied macht. Es gibt genug / 48, dass sie nicht ausgehen werden. Selbst bei einem 80% HD-Verhältnis würde es 2 ^ 36 zugewiesene / 48s dauern, bevor IANA alle 2000 :: / 3 verbraucht hätte. Und wenn Ihre Endsite kein großes Rechenzentrum ist, verfügt a / 56 über genügend Subnetze für Ihre Endsite. - kasperd