Jak mogę „zanurzyć palce u stóp” w dynamicznym adresowaniu sieci IPv6?

14

Czy w IPv6 jest jakikolwiek sposób na włączenie dynamicznego adresowania i konfiguracji dla podzbioru hostów w sieci identyfikowanej przez określone adresy mac?

Powoli pracuję nad konfiguracją IPv6. Wszystkie moje routery mają statyczne adresy i trasy, a kilka krytycznych serwerów jest adresowanych statycznie. Teraz chcę rozpocząć testowanie niektórych klientów, ale nie chcę po prostu włączać go jednocześnie dla całej sieci. Chciałbym móc to włączyć tylko dla kilku hostów.

W świecie IPv4 konfigurowałbym serwer DHCP z 0 wolnymi adresami w zakresie i po prostu ustawiał rezerwacje. W świecie IPv6 nie wydaje się to być możliwe, ponieważ nie mogę ustawić domyślnej bramy przez DHCPv6, która najwyraźniej można się nauczyć tylko poprzez reklamy routera.

Jak do tego podejść? Czy po prostu selektywne włączenie IPv6 w sieci jest po prostu niemożliwe?

Moje routery są oparte na systemie Linux, a serwer DHCPv6 będzie działał w systemie Linux, jeśli ma to znaczenie, i chcę włączyć klientów wszelkiego rodzaju (Windows / Linux / OSX).

Zoredache
źródło
Dlaczego nie możesz dokonać rezerwacji DHCPv6? Nawet mój domowy router może to zrobić.
Michael Hampton
@MichaelHampton, Tak, DHCPv6 powinien być w stanie dostarczyć adres do klienta, ale jak sprawić, by klient miał domyślną trasę?
Zoredache,
Na serwerze DHCP możesz wprowadzić reguły iptables, które blokują DHCPv6 z niektórych adresów MAC i zezwalają na te, dla których chcesz włączyć IPv6.
Atle
@Zoredache: domyślna trasa jest zawsze komunikowana przez komunikaty Reklamy routera (RA). DHCPv6 nie wymienia informacji o routingu.
Sander Steffann,

Odpowiedzi:

7

Nie rozumiem, dlaczego nie można tego zrobić zasadniczo w taki sam sposób w przypadku IPv6, jak w przypadku IPv4 (chociaż zalecam wdrażanie przez podsieci zamiast pojedynczych hostów; zaoszczędzi to dużo czasu i problemów później).

Oto jak działa tutaj IPv6 (znacznie uproszczone; szczegółowe informacje na temat krwawych szczegółów w RFC 4861 ):

Domyślny router okresowo wysyła reklamę routera lub odbiera żądanie routera od nowego hosta. RA zawiera oczywiście adres routera i różne flagi. Interesujące nas tutaj są flaga M (zarządzana) i flaga O (inna). Te flagi określają, że host powinien otrzymać resztę informacji o konfiguracji z serwera DHCPv6:

  • Po ustawieniu flagi M wszystkie informacje konfiguracyjne (oprócz adresów routera) są dostarczane przez DHCPv6.
  • Gdy ustawiona jest flaga O, host konfiguruje własny adres IPv6 za pomocą SLAAC; wszystkie inne informacje konfiguracyjne (oprócz adresów routera) są dostarczane przez DHCPv6.

W tym momencie jest to tylko kwestia użycia, np. fixed-address6W dhcpd.confkonfiguracji do ustawiania rezerwacji; konfiguracja DHCPv6 będzie zasadniczo podobna do konfiguracji DHCP dla IPv4.

Pominąłem również przypadek, w którym podsieć może mieć dwa lub więcej routerów obsługujących „domyślną” trasę; w takim przypadku sprawdź preferencje routera IPv6 dotyczące konfigurowania tego aspektu.

Michael Hampton
źródło
Ok, to brzmi dobrze. Wyzwanie polega na tym, że obecnie eksperymentuję z wykorzystaniem DnsMasq do reklam tras. Wydaje się, że brakuje w nim wymaganych funkcji. Chyba będę musiał przejść na używanie radvd.
Zoredache,
1
@Zoredache dnsmasq jest pod tym względem dość minimalny i nie sądzę, aby miał wszystkie niezbędne funkcje. Sam używam radvd. Jeśli potrzebujesz czegoś minimalistycznego, np. Dla systemu wbudowanego, rozważ 6relayd . Jest to połączona reklama routera / serwer i przekaźnik DHCPv6, która została pierwotnie napisana dla OpenWrt.
Michael Hampton
1

Możesz skonfigurować serwer DHCPv6 (taki jak WIDE lub ISC) do konfiguracji stanowej lub radvd do automatycznej konfiguracji bezstanowej. IPv6 określa zakres FC00 :: / 7 dla unikalnych adresów lokalnych (podobnie jak prywatne zakresy adresów w IPv4).

Mark Bidewell
źródło
I nie powinieneś używać fc00 :: ani fd00 :: jak widzę niektórzy ludzie. Masz wybrać losowego / 48 z tego zakresu.
Michael Hampton