Warning: Memcache::addserver() expects parameter 2 to be long, string given in /usr/home/rpc/domains/rpc.one.pl/public_html/libraries/joomla/cache/storage/memcache.php on line 84 Instalacja ipv6 na OpenWrt tunel ayiya - 7.09
 
 
Instalacja ipv6 na OpenWrt tunel ayiya - 7.09 Drukuj Email
Wpisany przez rpc   
sobota, 10 października 2009 23:09


Instalacja ipv6 na OpenWrt tunel typu ayiya - 7.09


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.
Instalacja

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

Tworzenie tunelu

Tunel ipv6 można założyć w darmowym serwisie sixxs www.sixxs.net:

*wchodzimy na stronę www.sixxs.net
*klikamy na opcję „Signup for new users”
*wybieramy opcję „direct signup”
*wypełniamy poszczególne pola i klikamy „Submit Signup”
*dostajemy maila w którym widnieje link potwierdzający założenie konta
*po utworzeniu konta logujemy się do serwisu sixxs korzystając z „Login for existing users”
*po zalogowani wybieramy opcję „request tunnel” i wybieramy typ tunelu. Opis dotyczy tunelu „ayiya” należy go więc wybrać. W trakcie zakładania tunelu warto jest wybrać najbliższego dostawcę tunelu, proponowany usługodawca to „PoP Name  plwaw01” . Jest to ICM umiejscowiony w Polsce
*po założeniu konta otrzymamy dwie wiadomości. Pierwsza to, potwierdzenie o przyjęciu wniosku o tunel do kolejki. Druga wiadomośc zawierać będzie adres ip bramy i końca naszego tunelu, nazwę użytkownika oraz numer (id) Tunelu

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)

Konfiguracja

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



Podziel się tą informacja z innymi:
Poprawiony: sobota, 19 grudnia 2009 23:33