Podsieci IPv6 a / 64 - co się zepsuje i jak obejść ten problem?

27

W IPv6 nie należy podsieci do niczego mniejszego niż a / 64 (RFC 5375). SLAAC nie działa między innymi z mniejszymi podsieciami i najwyraźniej niektóre inne funkcje również się zepsują.

Jakie są obejścia sytuacji, w których dostawcy usług internetowych dają tylko jeden / 64, ale potrzebujesz wielu podsieci wewnętrznie? Wydaje się, że powszechną radą jest po prostu znalezienie innego dostawcy usług internetowych, który wyda / 56 lub / 48. W niektórych częściach świata może to działać, ale w naszym regionie (USA) nie jest to możliwe ze względu na brak konkurencji. Większość moich klientów ma szczęście, jeśli jeden dostawca usług internetowych obsługuje ich obszar. Wiele osób wciąż korzysta z połączenia dial-up.

Moi klienci nie będą się kwalifikować do własnych / 48 z ARIN.

Kevin Keane
źródło
9
I byłoby nie próbować wdrożyć IPv6 w tym scenariuszu. Kontynuuj naciskanie na dostawcę usług internetowych, aby zapewnić odpowiednią łączność. Jeśli to konieczne, spraw, aby ich błędy były dobrze widoczne i publiczne. Cytat rozdział i wers z RFC 6177. Oczywiście, należy najpierw upewnić się, że jest ich błąd, i że sprzęt żąda większego podsieć.
Michael Hampton
5
To także zła rada. Biorąc pod uwagę wszystkie jego zalety, większość osób powinna wdrożyć IPv6 przy pierwszej dostępnej okazji. Niestety wielu dostawców usług internetowych przygotowało pełne śniadanie dla psów z usługi IPv6, co czyni korzystanie z niego nierozsądnym.
Michael Hampton
2
Przez cały dzień moglibyśmy spierać się, czy to dostawcy ISP robią z tego psie śniadanie (co z pewnością zrobili!), Czy też projektanci IPv6 byli nierealistyczni, zakładając, że dostawcy ISP tego nie zrobią. Oczywiście nie mówię moim klientom, aby trzymali się z dala od IPv6 na zawsze, tylko dopóki pył nie opadnie. Jestem pewien, że za pięć lat, a nawet wcześniej, pojawi się SLAAC 2.0, który obsługuje mniejsze podsieci, wraz z NAT (i tak wiele routerów już to implementuje) i wszystko inne potrzebne do tego, aby IPv6 działał w obliczu przeciwności. Jednak bardziej szukałem teraz rozwiązań.
Kevin Keane
4
Nie licz na bałagan IPv4, taki jak NAT, działający poprawnie z IPv6. NAT to hack, a nie funkcja ...
Sander Steffann
3
@KevinKeane NAT zawsze był włamaniem i zawsze będzie. Każdy problem, który ludzie próbowali rozwiązać za pomocą NAT, ma prawdziwe rozwiązanie, które nie wiąże się z NAT - ale prawdopodobnie dotyczy IPv6. Zdecydowana większość zerwań, o których mówisz, można przypisać NAT lub niekompletnym wdrożeniom IPv6.
kasperd

Odpowiedzi:

28

Jeśli dostawca nie da ci więcej niż / 64, to ten dostawca jest do bani. Jeśli jest to jakaś ulga, mogę powiedzieć, że mam do czynienia z dostawcami usług internetowych, którzy są do niczego więcej. W tym miejscu całkowicie normalne jest odsyłanie publicznych adresów IPv4 od klientów i umieszczanie ich za CGN. A jeśli poprosisz ich o adresy IPv6, powiedzą ci, że nie oferują IPv6, ponieważ adresów IPv4 jeszcze nie brakuje, i dopóki istnieją serwery bez obsługi IPv6, nie będą oferować IPv6, ponieważ jest to niemożliwe klient z dwoma stosami do łączenia się z serwerem tylko IPv4.

Jeśli jakikolwiek dostawca usług internetowych dałby mi to, co masz, wziąłbym to, ponieważ jest do bani mniej niż to, co udało mi się dotychczas osiągnąć.

Idąc dalej, są dwa podejścia, które zalecam równolegle realizować.

Naciskaj na ISP

Wywieraj jak największą presję na ISP. Obejmuje to kontaktowanie się z innymi dostawcami usług internetowych i ewentualnie zmianę, jeśli inny dostawca usług internetowych może zaoferować lepszą ofertę.

Upewnij się, że wykonałeś test, co się stanie, jeśli router zażąda delegowania / 48, / 52, / 56 lub / 60 przez DHCPv6 w sieci WAN. Testowałbym wszystkie cztery długości prefiksów na wypadek, gdyby serwer DHCPv6 z jakiegoś powodu podał tylko określoną długość prefiksu i ignoruje żądania innych prefiksów.

Wykorzystaj to, co najlepsze

Biorąc pod uwagę, że prawdopodobnie będziesz musiał żyć z niektórymi hackami idącymi naprzód, musisz zadać sobie pytanie, co jest do bani mniej IPv4 z hackami lub IPv6 z hackami.

Istnieje kilka hacków, których możesz użyć, aby rozciągnąć jeden / 64 na wiele hostów.

Przekształcanie prefiksu łącza w routowany prefiks

Jeśli posiadasz pojedynczy / 64 na łączu WAN, ale nie masz przedrostka kierowanego do twojej sieci LAN, możesz zmienić ten / 64 w routowany przedrostek, wykonując kilka kroków. Skonfiguruj interfejs WAN na routerze jako / 126 zamiast a / 64. Zainstaluj sąsiadującego demona reklamowego (takiego jak ndppd) na routerze, aby zareklamować własny adres MAC dla każdego adresu w / 64, z wyjątkiem 4 adresów w / 126. W tych dwóch krokach będziesz mieć trasę / 64, z której możesz korzystać w swojej sieci LAN, z wyjątkiem 4 adresów używanych dla łącza WAN.

Zmodyfikowana wersja tego hacka może udostępniać link / 64 na wielu routerach. Prefiks łącza będzie wtedy musiał być nieco krótszy niż / 126, aby pomieścić adres IP każdego routera, a / 120 będzie wystarczająco krótki, aby pozwolić na maksymalnie 254 routery.

Każdy router oczywiście otrzyma tylko prefiks, który będzie dłuższy niż / 64. Zalecam utworzenie prefiksu dla każdego routera tak długo, jak to możliwe, przy jednoczesnym zachowaniu wystarczającej liczby adresów IP dla sieci LAN na tym routerze. Odpowiednie byłyby A / 112 lub / 120 dla każdego routera. Każdy router odpowiada własnym adresem MAC na wykrycie przez sąsiada czegokolwiek w prefiksie tego routera.

W tym wariancie każdy router będzie miał identyczne prefiksy skonfigurowane po swojej stronie WAN i będzie odpowiadał na żądania odnajdywania sąsiadów dla prefiksu przypisanego do ich strony LAN. Oczywiście żaden z prefiksów LAN nie może się nakładać i żaden z nich nie może nakładać się na prefiks skonfigurowany po stronie WAN.

Jeśli więc router ISP działający jako twoja brama ma adres 2001: db8 :: 1/64, możesz użyć 2001: db8 :: / 120 jako swojej sieci WAN i możesz przypisać 2001: db8 :: 1: 0/112 do pierwszy router, 2001: db8 :: 2: 0/112 do drugiego routera itp.

W sieci LAN możesz rozciągnąć A / 64 na wiele hostów albo przez podsieci lub mostkowanie. Będziesz musiał ustalić, który z dwóch działa najlepiej dla Ciebie.

Subnetting

Jeśli podsieci / 64, równie dobrze można przejść do najdłuższych prefiksów, które wciąż mają wystarczającą liczbę adresów dla potrzebnych hostów. Nie podsieć do prefiksów / 80, a raczej z / 116, / 120 lub / 124 na podsieć. Rzeczy, które się psują, jeśli nie używasz / 64, raczej nie będą obchodzić, a przechodząc z / 116 lub dłużej, zmniejszysz wpływ niektórych ataków DoS wykrywania sąsiadów (jeśli są obecne w którymkolwiek z twoich systemów).

W takiej konfiguracji podsieci złamiesz SLAAC, więc potrzebujesz serwera DHCPv6, aby odpowiadać na każdym segmencie i statycznych adresów IPv6 skonfigurowanych na wszystkich urządzeniach bez obsługi DHCPv6.

Bridging

Bridging to druga alternatywa. Zasadniczo oznacza to, że nie podsieci, ale uruchomić całą sieć LAN jako pojedynczy segment IPv6 z prefiksem / 64. (W razie potrzeby, ten / 64 może obejmować zarówno LAN, jak i WAN.)

Protokół IPv6 został zaprojektowany w taki sposób, aby mosty mogły rozpoznać, do której z mostkowanych sieci należy przekierować każdy adres anycast. W ten sposób unikasz konieczności rozgłaszania pakietów przez każde fizyczne łącze w twojej sieci LAN.

Mosty mogą również stosować zapory ogniowe i ochronę przed fałszowaniem wykrywania sąsiadów w sieci LAN.

Mając wystarczającą inteligencję na mostach, w zasadzie nie ma limitu liczby przełączników, które można zmostkować pojedynczy / 64 w poprzek.

kasperd
źródło
Dziękuję Ci! Właśnie takiej odpowiedzi szukałem! Szczególnie podoba mi się twój pomysł przekształcenia / 64 w routowany prefiks. Czy mógłbyś to trochę rozwinąć? Po pierwsze, nie rozumiem, dlaczego sugerujesz / 126 zamiast a / 127? Jakie adresy IP są używane gdzie? Po drugie, u jednego z moich klientów faktycznie mam trzy oddzielne routery wewnętrzne. W IPv4 mają trzy różne publiczne adresy IP w / 29 podanym przez ISP. Czy Twój schemat nadal będzie działał z tymi routerami?
Kevin Keane
Ponadto nie jestem pewien, jak zainstalować sąsiada demona reklamowego na żadnym z routerów. Jeden router to Fortigate, jeden to Belkin, a myślę, że trzeci to Linksys.
Kevin Keane
@KevinKeane Powodem, dla którego sugeruję / 126 jest to, że często potrzebujesz co najmniej trzech adresów w prefiksie. Po stronie ISP router może mieć prefiks skonfigurowany jako 2001: db8 :: 1/64, co oznacza, że ​​2001: db8 :: jest specjalny, a 2001: db8 :: 1 jest używany przez router ISP. Twój własny router zwykle byłby skonfigurowany z 2001: db8 :: 2, co oznacza, że ​​użyłeś trzech adresów i a / 127 nie będzie wystarczający. A / 127 mógłby działać, gdybyś nie używał hacka z inną długością prefiksu skonfigurowaną na dwóch końcach łącza.
kasperd
dziękuję za wyjaśnienie tego! Więc kiedy mam trzy routery obsługujące trzy różne sieci wewnętrzne, powinienem użyć a / 125, a każdy router reklamowałby, za pośrednictwem reklamy sąsiada, swój własny MAC tylko dla tych adresów IP w odpowiedniej podsieci?
Kevin Keane
1
Istnieje Informacyjna RFC, RFC 7421, Analiza 64-bitowej granicy w adresowaniu IPv6 , która zawiera pełne omówienie /64podsieci i co popełniłem błąd, gdy jej nie używam.
Ron Maupin
10

Tak, naciskanie na dostawcę usług internetowych, aby nie ssał, jest preferowaną opcją. Zasady alokacji RIR zakładają, że ISP daje każdemu klientowi a / 48; jest absolutnie zerowy powód, dla którego ISP tego nie robi.

IPv6 nie jest fanem mniejszych podsieci, jednak jedyne, co powinno się zepsuć, o czym jestem świadomy, to SLAAC. Będziesz mieć problemy z błędami i założeniami w niektórych stosach IPv6, które po prostu na ślepo zakładają „/ 64 == podsieć”, ale to jest błąd, a nie funkcja, i możesz pobić sprzedawcę, aby to naprawić. Z drugiej strony, czy zostanie to naprawione, zanim Twój dostawca dostarczy Ci / 48 ...

womble
źródło
Myślę, że niektóre części protokołu wykrywania sąsiadów również powinny się zepsuć. RFC 5375 ma całą listę innych rzeczy, ale tak naprawdę nie znam praktycznych konsekwencji. Tylko uzyskanie / 64 może czasem być po prostu kwestią pieniędzy. Twój dostawca usług internetowych może dać użytkownikom domowym tylko / 64, a / 48 tylko kontom firmowym. Tylko dlatego, że chcesz oddzielić swoje biuro domowe lub WiFi od reszty domu, lub dlatego, że chcesz mieć oddzielną podsieć dla maszyn wirtualnych? Przepraszam za rant - staram się tutaj rozwiązać problem, nie próbując zmieniać rzeczy, których nie mogę kontrolować.
Kevin Keane
2
Jeśli twój dostawca usług internetowych chciałby mieć w tym coś do powiedzenia, rozdałby numer / 128 każdemu abonentowi stacjonarnemu. Myślę, że możesz machnąć RFC 5375 u dostawcy usług internetowych i powiedzieć im, aby podali ci IPv6 zamiast IPv5.5 ...
womble
W rzeczywistości robi to co najmniej jeden znany dostawca usług internetowych (Verizon Wireless). To jeden z powodów, dla których twierdzę, że NAT jest nadal potrzebny w IPv6. Ale to oczywiście nie jest moje pytanie.
Kevin Keane
1
Rekomendacja / 48 z RFC 3177 nie jest już ważna, większość RIRów poleca teraz / 56 dla witryn końcowych, jak opisano w RFC 6177
skrause
@skrause Nie, to i tak robi różnicę. Jest wystarczająco dużo / 48s, że nie zabraknie. Nawet przy współczynniku HD 80% zajęłoby 2 ^ 36 przydzielonych / 48 sekund, zanim IANA zużyłaby wszystkie 2000 :: / 3. I chyba że twoja strona końcowa jest głównym centrum danych, wtedy / 56 ma wystarczającą liczbę podsieci dla twojej strony końcowej.
kasperd