Komentarze do wpisów
Podsieć /48, czyli jak Krzysztof stał się bogaty...
06.04.2008 - Niedziela - 21:15
...w adresy IPv6 ;-)
W piątek złożyłem "podanie" o przydzielenie podsieci do mojego tunelu. Poczekałem dwie godziny i załoga SixXS przydzieliła mi pulę adresów z podsieci /48.
Krzysztof dostał podsieć 2001:6a0:14d::/48, a to oznacza, że mam możliwość zapisania adresów hostów na 80 bitach. Właściwie to mam 2^16 adresów sieci, a w każdej 2^64 adresów hostów, co daje razem 2^80 unikalnych adresów IPv6. Daje to dokładnie 1208925819614629174706176, ale dla prostoty zaokrąglimy to do 1,208*10^21 adresów IPv6, czyli 1,2 tryliarda adresów IP. Dla porównania, cała pula adresowa IPv4 to 2^32 adresów, czyli 4,2 miliarda adresów. Trochę mało, prawda? ;-)
Oczywiście nie posiadam tylu urządzeń, żeby móc wykorzystać nawet 1% tych adresów, ale może kiedyś... ;-) Ogólnie w protokole IPv6 chodzi o to, żeby każde urządzenie miało swój własny unikalny adres IPv6 i żeby nie stosować maskarady i innych podobnych rozwiązań. Jedna z metod autokonfiguracji interfejsu polega na tym, że adres sprzętowy (48-bitowy MAC w przypadku Ethernetu) rozszerza się do 64 bitów (ostatnie 64 bity adresu IP to Device ID) i tak spreparowany adres wstawia się do adresu sieci. Taka sieć oczywiście musi być /64. Jest to tak zwany mechanizm Stateless autoconfiguration, który wykorzystuje specjalne wiadomości ICMPv6: Router Advertisement, Router Solicitation, Neighbor Advertisement i Neighbor Solicitation. Pod Linuksem obsługą tego mechanizmu zajmuje się demon radvd (Router Advertisement Deamon) i spełnia podobne funkcje co DHCP w sieciach IPv4 (istnieje również DHCPv6). W ten sposób, każde dołączone do sieci urządzenie automatycznie dostaje swój własny, unikalny adres IPv6 i jest konfigurowane do routowania ruchu IPv6 na odpowiednie interfejsy.
Sieć SixXS pozwala również na przejęcie odwrotnej strefy DNS dla używanej podsieci. Oczywiście też już sobie skonfigurowałem i w sieci IPv6 mój komputer jest widoczny jako wifi.ed74.sawicki.eu.org, a nie jako 2001:6a0:14d:1:215:afff:fe2d:d813 ;-) Wykorzystałem do tego serwer DNS na SGH (FreeDNS).
Cała konfiguracja IPv6 do działania na routerze linuksowym i na linuksowych stacjach jest banalna. Pod Windowsem XP (jeden z moich komputerów niestety chodzi pod tym przeklętym systemem) też nie jest problemem. Ale ilość opcji pod Windowsem jest nadzwyczaj skąpa. Cóż wymagać od Microsoftu.
Udało mi się nawet skonfigurować OpenVPN do stworzenia wirtualnego ethernetu (nie tunelu), w którym każde (wirtualne) urządzenie również dostaje automatycznie adres IPv6.
