IPv6 - Internet Protocol version 6 lub
Internet Protocol Next Generation to najnowsza wersja protokołu IP,
będąca następcą IPv4, do którego stworzenia przyczynił się w głównej mierze
problem małej ilości adresów IPv4. Pv6 jest protokołem wdrażanym w
infrastrukturę Internetu od ponad dwóch lat. Niektórzy dostawcy usług
internetowych (ISP) dostarczają już IPv6 "w kabelku" tak samo jak obecnie IPv4,
jednak aktualnie ogromna część sieci opiera się na tunelach wykorzystujących
poprzednia wersje protokołu (tzw. IPv6-on-IPv4).
Dokument ten opisuje jeden ze sposobów na szybkie i bezproblemowe zaistnienie w
testowej sieci opartej na protokole IPv6 - pokazuje on, jak szybko skonfigurować
FreeBSD do obsługi IPv6 poprzez tunel gif.
Konfiguracja tunelu IPv6 na przykładzie tunelu z
http://tunnelbroker.net
Okej więc zaczynamy od wkompilowania w nasze jądro opcji, które potrzebne są do obsługi IPv6:
# cd /usr/src/sys/i386/conf
# vi nazwa_Twojego_kernela
I dodajemy :
options INET6
device gif
device faith |
Zapisujemy wszystko i przechodzimy do kompilacji jadra.
# config jajko
# cd ../compile/jajko
# make depend && make && make intall
# reboot
Więcej informacji o jądrze systemu znajdziesz w dziale
J?DRO.
Teraz przechodzimy do konfiguracji naszego tunelu i zakładam,
że tunel już mamy poprawnie założony - http://tunnelbroker.net
- nie będę tutaj opisywał jak założyć tunel ponieważ nie ma to sensu. Jest to tak proste jak
założenie poczty np. na wp czy onet :) Po poprawnym założeniu konta przechodzimy do /64 Allocation,
jeżeli chcemy mieć swoje rev'y to wpisujemy adres servera, który będzie trzymał nasze rev'y. Teraz wchodzimy do Tunnel Details i widzimy
szczegółowe dane na temat naszego tunelu np.:
Tunnel Information:
Server IPv4 address: 64.71.128.82
Server IPv6 address: 2001:470:1F00:FFFF::6A/127
Client IPv4 address: 80.53.xxx.xxx
Client IPv6 address: 2001:470:1F00:FFFF::6B/127
Assigned /64: 2001:470:1F00:153::/64
Przechodzimy do konfiguracji :
# cd /usr/local/etc/rc.d
# touch ipv6.sh
# chmod +x ipv6.sh
# vi ipv6.sh
I do pliku ipv6.sh wpisujemy:
#!/bin/sh
echo -n 'IPv6'
ifconfig gif0 create tunnel (Client IPv4 address) (Server IPv4 address:) up
ifconfig gif0 inet6 (Client IPv6 address) prefixlen 127
# w miejsce FFFF wpisujemy liczbę, która znajduje się
# przed ::/64 w Assigned /64 czyli w naszym przypadku 153
route add -inet6 default (Server IPv6 address)
# podobnie jak wyżej w miejsce FFFF wpisujemy przydzieloną
# nam liczbę z (Assigned /64:)
ifconfig lo0 inet6 (Client IPv6 address):: prefixlen 64
# podajemy nasz adres IPv6, który otrzymaliśmy + w miejsce
# FFFF wpisujemy tak jak
wyżej czyli np. 153:: |
Tak skonfigurowany tunel powinien już chodzić.
Ale my stworzymy sobie 4 adresy IPv6, dlatego tez dopisujemy jeszcze:
ifconfig lo0 inet6 (Client IPv6 address)::1 prefixlen 127
# podajemy nasz adres IPv6, który otrzymaliśmy + w miejsce
# FFFF wpisujemy np. 153::1
ifconfig lo0 inet6 (Client IPv6 address)::2 prefixlen 127
# podajemy nasz adres IPv6, który otrzymaliśmy + w miejsce
# FFFF wpisujemy np. 153::2
ifconfig lo0 inet6 (Client IPv6 address)::3 prefixlen 127
# podajemy nasz adres IPv6, który otrzymaliśmy + w miejsce
# FFFF wpisujemy np. 153::3
ifconfig lo0 inet6 (Client IPv6 address)::4 prefixlen 127
# podajemy nasz adres IPv6, który otrzymaliśmy + w miejsce
# FFFF wpisujemy np. 153::4
|
Na końcu naszego configa dodajemy :
# Route6d
/usr/sbin/route6d |
Zapisujemy wszystko i odpalamy.
# sh ipv6.sh
Wpisujemy
# ifconfig
Jeżeli naszym oczom ukaże się gif0 to znaczy, że wszystko jest ok i
że nasz tunel działa poprawnie.
Przechodzimy do konfigurowania nameda:
Najpierw trzeba obliczyć revdns naszego adresu - od tego mamy ipv6calc:
# cd /usr/ports/net/ipv6calc
# make build && make install && make clean
# ipv6calc -r ipv6_nasze/prefix
Przykładowo mamy: 3.5.1.0.0.0.f.1.0.7.4.0.1.0.0.2.ip6.int.
Następnie edytujemy plik /etc/namedb/named.conf
W sekcji 'options' dopisujemy:
listen-on-v6 {any;};
Następnie trzeba dopisać zone revdns:
zone "3.5.1.0.0.0.f.1.0.7.4.0.1.0.0.2.ip6.int" {
type master;
file "ipv6/ipv6";
}; |
Oraz zone domeny:
zone "twoja.domena.pl" {
type master;
file "ipv6/twoja.domena.pl";
allow-update { none; };
}; |
Zapisujemy i przechodzimy do utworzenia wyżej zadeklarowanych plików:D
# cd /etc/namedb
# mkdir ipv6
# cd ipv6
# touch twoja.domena.pl
# touch ipv6
Edytujemy plik 'ipv6' - odpowiedzialny za revdnsy:
Ten plik powinien wyglądać tak:
; 3.5.1.0.0.0.f.1.0.7.4.0.1.0.0.2.ip6.int <-- tu oczywiście podstawiamy to co wyliczył ipv6calc
;
@ IN SOA host.twojego.NS. root.host.twojego.NS. (
2002062102 ; serial
21600 ; refresh
7200 ; retry
1209600 ; expire
86400 ) ; default_ttl
@ IN NS host.twojego.NS. |
Zapisujemy.
Następnie edytujemy plik 'twoja.domena.pl':
Powinien on wyglądać mniej więcej tak:
$TTL 43200
$ORIGIN twoja.domena.pl.
@ IN SOA twoj.ns. hostmaster.twoj.ns. (
2003012801 ; serial 3600 ; refresh
900 ; retry
1209600 ; expire
43200
) ; default_ttl
IN NS twoj.ns.
IN AAAA ipv6_twoje::1 |
Zapisujemy.
ipv6_twoje::1 - jest to pierwszy adres z puli, którą uzyskałeś.
UWAGA: Aby wykonać kolejny krok, potrzebne jest drobne objaśnienie:
/*
Patrzysz sobie na to co ci wygenerował ipc6cal, (przykładowo:
3.5.1.0.0.0.f.1.0.7.4.0.1.0.0.2.ip6.int.) i liczysz ile jest cyfr i liter w tym
przedziale "3.5.1.0.0.0.f.1.0.7.4.0.1.0.0.2". Ponieważ ip6.int się nie liczy,
dlatego nie bierzmy tego pod uwagę przy zliczaniu.
Także ten wpis "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" ma mieć 16 cyfr kolejno zmienianych.
Przykład "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" wskazuje nam numer nasz_adres::1,
ten za to "2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" wskazuje nam numer nasz_adres::2
nasz_adres::10 wygląda tak: "0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
*/
Na końcu pliku /etc/namedb/ipv6/ipv6 wpisujemy:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR twoje.domena.pl. |
Zapisujemy. Ilość cyfr w tym wpisie będzie oczywiście zależała od długości posiadanego prefixu.
Restartujemy naszego binda:
# ndc restart
dnsy i revdnsy, po tak skonfigurowanym bindzie powinny być rozwiązywane prawidłowo. Sprawdzić to można przy użyciu programu 'host6'
Autor: Marcin Burda
ml0dy(at)konin.ath.cx Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment! |