Co prawda do pełnego wykorzystania ipv6 droga jeszcze daleka (portale internetowe oraz usługodawcy internetowi nie wykazują pośpiechu) już teraz można korzystać z tego protokołu w pełni automatycznie. Jednym z plusów IPv6 to niemaskowany zakres adresów IP dla każdego hosta w danej sieci. Metodą na zastosowanie nowego standardu jest stworzenie i utrzymanie tunelu ipv6. Po skonfigurowaniu, całość działa bezobsługowo, nie występują więc problemy z zarządzaniem. Różnica w stosunku do standardu poprzedniego polega na wyświetlaniu innego adresu strony www.(np. www.google.pl ukaże się jako ipv6.google.com). Instalacja ipv6 sprowadza się do wykonania niżej podanych czynności. Jest to spsób najprostszy i najszybszy, co prawda w sieci dostępne są opisy konfiguracji róźniące się od przedstawionego rozwiązania.
Opisany sposób został przetestowany z OpenWrt Kamikaze na La fonera, oraz modemie AG241V2-EU.
Należy zainstalować następujące pakiety:
opkg install kmod-ipv6 kmod-ip6tables ip6tables kmod-ip6-tunnel kmod-tun aiccu radvd
Dodatkowo można zainstalować kilka innych przydatnych narzędzi:
opkg install iputils-ping6 iputils-traceroute6
Tunel ipv6 można założyć w darmowym serwisie sixxs http://www.sixxs.net:
UWAGA: zakładamy tylko jeden tunel. Serwis sixxs punktuje każde założenie tunelu. My chcemy otrzymać oprócz tunelu również i podsieć dla naszych komputerów więc każdy punkt się liczy na początku. Założenie tunelu to łącznie 15 pkt.
Przykładowy adres ipv6 otrzymany do utworzenia tunelu:
The SixXS Staff have honored your request for a tunnel with the following specifications: ------- Tunnel Id : T13903 PoP Name : plwaw01 (pl.icm [AS8664]) Your Location : Warszawa, pl SixXS IPv6 : 2001:6a0:200:3d::1/64 Your IPv6 : 2001:6a0:200:3d::2/64 SixXS IPv4 : 193.219.28.26 Tunnel Type : Dynamic (ayiya)
Konfigurujemy klienta aiccu dla tunelu „ayiya” w OpenWrt
root@OpenWrt:~# cat /etc/aiccu.conf username ????????????? pasword ????????????? server tic.sixxs.net ipv6_interface sixxs tunnel_id T13903 verbose false daemonize true automatic true requiretls false pidfile /var/run/aiccu.pid defaultroute true
Testujemy tunel ipv6. Uruchamiamy aiccu:
/etc/init.d/aiccu start
zostanie utworzony tunel ipv6. Aby się upewnić, wydajemy 'ifconfig':
root@OpenWrt:~# ifconfig
...
sixxs Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: 2001:6a0:200:3d::2/64 Scope:Global
inet6 addr: fe80::4a0:200:3d:2/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
RX packets:1932 errors:0 dropped:0 overruns:0 frame:0
TX packets:1120 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:527624 (515.2 KiB) TX bytes:144799 (141.4 KiB)
Jak widać został założony interfejs „sixxs”. Już teraz można sprawdzić jak działa ipv6:
root@OpenWrt:~# ping6 www.sixxs.net PING www.sixxs.net (2001:838:1:1:210:dcff:fe20:7c7c): 56 data bytes 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: seq=0 ttl=47 time=130.770 ms 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: seq=1 ttl=47 time=132.424 ms 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: seq=2 ttl=47 time=129.322 ms 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: seq=3 ttl=47 time=136.360 ms 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: seq=4 ttl=47 time=136.191 ms ^C --- www.sixxs.net ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 129.322/133.013/136.360 ms
Efekt poprawnego funkjonowania ipv6, następnie 'traeroute':
root@OpenWrt:~# traceroute6 www.sixxs.net traceroute to www.m.sixxs.net (2001:838:1:1:210:dcff:fe20:7c7c) from 2001:6a0:200:4f::2, 30 hops max, 16 byte packets 1 2001:6a0:200:4f::1 (2001:6a0:200:4f::1) 42.347 ms 43.329 ms 43.123 ms 2 2001:6a0:0:a000::d (2001:6a0:0:a000::d) 41.685 ms 42.295 ms 48.285 ms 3 2001:b10:c000:3::5 (2001:b10:c000:3::5) 46.225 ms 44.808 ms 49.039 ms 4 2001:b10:c000:1::14 (2001:b10:c000:1::14) 52.147 ms 50.975 ms 50.969 ms 5 2001:798:23:10aa::5 (2001:798:23:10aa::5) 53.959 ms 55.12 ms 51.504 ms 6 2001:798:cc:1401:2301::1 (2001:798:cc:1401:2301::1) 71.355 ms 75.027 ms 72.488 ms 7 2001:450:2002:70::1 (2001:450:2002:70::1) 218.42 ms 215.454 ms 246.393 ms 8 2001:7f8:1::a501:2871:1 (2001:7f8:1::a501:2871:1) 135.811 ms 128.91 ms 131.043 ms 9 2001:838:0:10::2 (2001:838:0:10::2) 132.463 ms 132.17 ms 136.249 ms 10 2001:838:1:1:210:dcff:fe20:7c7c (2001:838:1:1:210:dcff:fe20:7c7c) 132.231 ms 133.613 ms 131.091 ms
Jednym z wymogów otrzymania 5pkt w serwisie sixxs, jest utrzymanie tunelu przez okres 1 tygodnia. Mając dodatkowe punkty można wypełnić wniosek o otrzymanie zakresu adresów dla wszystkich hostów w obrębie jednej sieci. Potrzebujemy do tego 14 pkt.
Po zalogowaniu się do serwisu SIXXS i wybieramy zakładkę „Request subnet”. Wypełniamy wniosek o nową podsieć, wysyłamy i poraz kolejny otrzymamy dwie wiadomości. Pierwsza z nich to potwierdzenie otrzymanie wniosku, druga zawierać będzie szczegółowe dane otrzymanej podsieci. Przykład otrzymanych parametrów sieci:
The SixXS Staff have honored your request for a subnet on the following tunnel: ------- PoP Name : plwaw01 (pl.icm [AS8664]) Subnet IPv6 : 2001:6a0:16b::/48 Routed to : 2001:6a0:200:3d::2/64 Your IPv4 : ayiya
Konfiguracja demona radvd, pozwala na przydział adresów dla hostów naszej sieci:
root@OpenWrt:~# cat /etc/radvd.conf # For more examples, see the radvd documentation.
interface eth0
{
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvLinkMTU 1280;
prefix 2001:6a0:16b:1111::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
Otrzymaliśmy zakres naszej sieci z czego utworzyliśmy sobie podsieć dodając 1111 (po wyjaśnienia odnoście adresacji sieci w ipv6 odsyłam do internetu).
W końcowej fazie ustawiamy adres ipv6 routera:
root@OpenWrt:~# cat /etc/config/network config interface lan option ifname eth0 option proto static option ipaddr 10.0.0.1 option netmask 255.255.255.0 option ip6addr 2001:6a0:16b:1111::1/64
Nadaliśmy zatem adres ip ipv6 dla naszego interfejsu lan. 2001:6a0:16b:1111::1/64
Jeżeli wszystkie kroki zostały należycie wykonane powinniśmy cieszyć się działającym protokołem ipv6. Po podłączeniu komputera z dowolnym systemem operacyjnym, automatycznie obok adresu ipv4 zostanie przydzielony adres ipv6. !UWAGA! Wprzypadku 'windows xp' konieczne jest wydanie komendy: „netsh interface ipv6 install”. Aby sprawdzić poprawne funkcjonowanie ipv6 należy wejśc na stronę ipv6.google.com, bądź spróbować ten adres spingować.
Teraz wystarczy włączyć na stałe uruchamianie demonów aiccu i radvd
/etc/init.d/aiccu enable /etc/init.d/radvd enable
W przypadku połączeń korzystających z „ppp”, aby 'aiccu' działał poprawnie po restarcie ppp0, należy dodatkowo stworzyć skrypt startowy…:
/etc/init.d/aiccu disable /etc/init.d/radvd enable
touch /etc/ppp/ip-up.d/90-aiccu chmod +x /etc/ppp/ip-up.d/90-aiccu
#!/bin/sh rdate ntp.task.gda.pl sleep 2 /etc/init.d/aiccu start
…oraz skrypt wyłączający demona aiccu w przypadku braku komunikacji z interfejsu ppp0
touch /etc/ppp/ip-down.d/90-aiccu chmod +x /etc/ppp/ip-down.d/90-aiccu
#!/bin/sh /etc/init.d/aiccu stop
WAŻNE! Dla tunelu ipv6 bardzo istotne jest właściwe ustawienie daty, stąd przed uruchomieniem demona aiccu wymagana jest synchronizacja czasu.
Aby wygenerować sztuczny ruch na stworzonym interfejsie, tak aby coś się działo w statystyce na sixxs, wymagane jest stworzenie skryptu:
touch /etc/zadanie chmod +x /etc/zadanie
#!/bin/sh
while true; do
sleep 3600
rdate ntp.task.gda.pl
ping6 -c 4 www.kame.net
done
oraz skrypty:
1.
touch /etc/ppp/ip-up.d/91-zadanie chmod +x /etc/ppp/ip-up.d/91-zadanie
#!/bin/sh /etc/zadanie &
2.
touch /etc/ppp/ip-down.d/91-zadanie chmod +x /etc/ppp/ip-down.d/91-zadanie
#!/bin/sh killall -9 zadanie killall -9 sleep
Oczywiście do tego celu można użyć crona.
Jeszce parę słów o firewallu. Jest to tylko parę regułek które wystarczą do wstępnego uruchomienia:
vi /etc/firewall.user
dodajemy następujące wiersze:
### ipv6 ##INPUT ip6tables -F INPUT ip6tables -P INPUT DROP ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT ip6tables -A INPUT -p ICMPv6 -j ACCEPT ##FORWARD ip6tables -F FORWARD ip6tables -P FORWARD ip6tables -A FORWARD -j ACCEPT
Więcej na http://rpc.one.pl/
