Laboratorium IPv6 cz. 2

Choć nikt specjalnie sie nie spieszy z wdrażaniem IPv6, to jednak operacja ta jest nieuchronna. Zapraszamy na II część laboratorium IPv6

W poprzedniej części laboratorium IPv6 skonfigurowaliśmy i zabezpieczyliśmy router działający w IPv4. W tej zajmiemy się już wersją 6 tego protokołu.

Budujemy tunel IPv6

Niestety dostawcom internetu niespecjalnie spieszy się z wprowadzaniem IPv6, do naszych testów zestawimy więc tunel do dostawcy oferującego bramę w tej wersji protokołu. W naszym przypadku skorzystaliśmy z Hurricane Electric's oferującego bezpłatnie możliwość tunelowania, co wiąże się tylko ze stosunkowo bezbolesną procedurą rejestracji.

Testy zostały przeprowadzone w USA, stąd wybór takiego operatora, warto jednak pamiętać o świadczonych (bezpłatnie) tego typu usługach przez ICM oraz firmę Inotel (od niedawna).

Po wprowadzeniu danych (w tym naszego publicznego IPv4), operator sprawdzi dostępność routera za pomocą ICMP ping (właśnie dlatego zezwoliliśmy na akceptacje takich pakietów w regule "out-local") a następnie wypisze informacje potrzebne nam do skonfigurowania naszego końca tunelu. Dialog Tunnel Details, którym kończy się kreator usługi Hurricane Electric's prezentuje nam spersonalizaowany przykład konfiguracji. Jeśli wybierzemy z rozwijanej listy Vyatta i wybierzemy Show Config zobaczymy coś takiego:

configure

edit interfaces tunnel tun0

set encapsulation sit

set local-ip X.X.X.X

set remote-ip 209.51.161.14

set address 2001:470: XXXX:XXXX::2/64

set description "HE.NET IPv6 Tunnel"

exit

set protocols static interface-route6 ::/0 next-hop-interface tun0

commit

Ten blok instrukcji różni się nieco w zapisie od naszych dotychczasowych przykładów. W stosowanej przez nas notacji (oba zapisy są równoważne) będzie on wyglądał następująco:

set interfaces tunnel tun0 encapsulation 'sit'

set interfaces tunnel tun0 local-ip 'X.X.X.X'

set interfaces tunnel tun0 remote-ip '209.51.161.14'

set interfaces tunnel tun0 address '2001:470: XXXX:XXXX::2/64'

set interfaces tunnel tun0 description 'HE.NET IPv6 Tunnel'

set protocols static interface-route6 ::/0 next-hop-interface 'tun0'

Uwaga: na końcu celowo pominęliśmy commit (o czym za chwilę)

Zaprezentowany kod tworzy nowy interfejs tunelu IPv6 (tun0), konfiguruje jego oba końce, ustawia lokalny adres IPv6 naszego końca oraz domyślny routing wskazujący jego drugi koniec.

Powyższy blok instrukcji nie filtruje żadnego ruchu przesyłanego przez ten tunel.

Wpisanie commit spowoduje otwarcie zewnętrznego interfejsu akceptującego wszystkie możliwe pakiety IPv6.

Przez długie lata przyzwyczailiśmy się do korzystania z NAT (Network Address Translation), za którymi chowały się lokalne sieci (w RFC 1918 zarezerwowano na ich potrzeby m.in. klasy adresowe 10.0.0.0/8, 172.16.0.0/12 czy 192.168.0.0/16). Dotarcie do komputerów w tychże sieciach z zewnątrz było możliwe dopiero po translacji zewnętrznego adresu na wewnętrzny. Pierwszą rzeczą, którą warto zapamiętać o IPv6 jest brak NAT - nie jest on po prostu potrzebny. Konsekwencją tego jest też (co ma swoje dobre i złe strony) to, że każde urządzenie jest osiągalne po swoim adresie IPv6 z każdego miejsca w sieci, o ile nie zadbamy o właściwe filtrowanie ruchu wprowadzając odpowiednie reguły, czym właśnie się zajmiemy.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200