Tunel ipv6 na Slackware + ReverseDNS (Stałe IP)
Co będzie potrzebne:
– kernel z wkompilowanym ipv6
– zainstalowany serwer nazw (bind)
– tunel ipv6 z tunnelbroker.net
– dwie domeny, jedna która będzie służyła jako DNS z rekordem 'A’ naszego serwera i druga z
której zrobimy vhosta z rekordem 'AAAA’ (w moim przypadku AAAA będzie 2001:470:924c::1 i domena „ipv6.klodzko.linux.pl”, a domeną DNS będzie „dns.ipv6.klodzko.linux.pl”)
– Stałe IP
– Program ipv6calc
– Trochę chęci i czasu :)
Część 1.
Zaczynamy od zrobienia tunelu.
Po pierwsze należy dopuścić pakiety ICMP, w tym celu należy dodać do skryptu od iptables następujący wpis:
iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
Następnie logujemy się na swoje konto (które wcześniej należy założyć) w serwisie tunnelbroker.net i klikamy
„Create Regular Tunnel”
Wypełniamy formularz, „IPv4 endpoint: twoje_ip” zaznaczamy endpoint tunelu (najlepiej jak najbliższy) i klikamy na „submit”
Po tej operacji powinno pokazać się: „O.K.: Your tunnel has been allocate„ teraz przechodzimy do zakładki „Tunnel Details” i przy wpisie „Routed /48:” klikamy na „Allocate”. Teraz mamy gotowy tunel ipv6 z pulą adresów /48 i /64 do RevDNS bedziemy używać puli /48.
Następnym zadaniem będzie zrobienie skryptu podnoszącego nasz tunel ipv6 (poniżej przykładowy skrypt)
ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.26 #ip serwera na którym założyliśmy tunel
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:470:924c::1/48 #tutaj podajemy adres ipv6 ze swojej puli
route -A inet6 add ::/0 dev sit1
Po odpaleniu skryptu mamy podniesiony tunel ipv6, sprawdzamy czy działa poleceniem:
ping6 ipv6.google.com
Jeżeli zobaczymy coś takiego:
64 bytes from fx-in-x68.google.com: icmp_seq=1 ttl=57 time=74.0 ms
znaczy że tunel działa poprawnie.
Część 2. (ReverseDNS)
Pierwsze co należy zrobić to ustawić revDNS na naszą domene, w tym celu logujemy sie na swoje konto w tunnelbroker i klikamy przy wpisie „RDNS Delegation NS1:” na odnośnik „none” i w okienku „Name Server 1:” wpisujemy swoją domenę DNS (w moim przypadku będzie to „dns.ipv6.klodzko.linux.pl”) i klikamy na „submit”
Teraz do poprawnie działającego reva potrzebny nam odblokowany port 53 i 953 w tym celu do skryptu iptables dodajemy wpisy:
iptables -A tcp_inbound -p TCP -s 0/0 –destination-port 53 -j ACCEPT
iptables -A tcp_inbound -p TCP -s 0/0 –destination-port 953 -j ACCEPT
Następnym krokiem jest edycja pliku /etc/named.conf
w sekcji „options” dopisujemy:
listen-on-v6 {any;};
żeby cała sekcja wyglądała następująco:
options {
directory „/var/named”;
notify yes;
listen-on port 53 {any;};
version „SCO UnixWare 7.1 chacker server”;
listen-on-v6 {any;};
};
zapisujemy plik i przystępujemy do obliczenia strefy zwrotnej dla naszego ipv6, do tego celu będzie nam potrzebny program ipv6calc do pobrania stąd. po pobraniu i zainstalowaniu wydajemy polecenie:
ipv6calc -r 2001:470:924c::/48
(tutaj oczywiście podajecie swoją pule adresową), obliczony revDNS dla mojej puli wygląda następująco
c.4.2.9.0.7.4.0.1.0.0.2.ip6.int
Gdy mamy już to gotowe ponownie otwieramy do edycji plik /etc/named.conf i dopisujemy na końcu taki wpis:
zone „c.4.2.9.0.7.4.0.1.0.0.2.ip6.arpa” {
type master;
file „ipv6.zone”;
};
należy zauważyć ze zostało zmienione .ip6.int na .ip6.arpa
Zapisujemy plik i przechodzimy do katalogu /var/named/ i tworzymy plik strefy ipv6
cd /var/named/
touch ipv6.zone
następnie edytujemy ten plik i wpisujemy do niego:
; c.4.2.9.0.7.4.0.1.0.0.2.ip6.arpa.
;$TTL 100
@ IN SOA dns.ipv6.klodzko.linux.pl admin.ipv6.klodzko.linux.pl. (
2008071703 ; serial21600 ; refresh
7200 ; retry
1209600 ; expire
100 ) ; default_ttl
;@ IN NS dns.ipv6.klodzko.linux.pl.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ipv6.klodzko.linux.pl.
(ilość cyfr w tym wpisie '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0′ zależy od ilości cyfr i liter w obliczonym RevDNS dla naszej puli, czyli od wyniku 'c.4.2.9.0.7.4.0.1.0.0.2.ip6.int’ wywalamy .ip6.int i zostaje nam 12 znaków a z uwagi na to iż adresy są 32 bitowe robimy działanie 32 – 12 = 20)
Zapisujemy i zamykamy.
Teraz pozostaje nam tylko uruchomić binda poleceniem /etc/rc.d/rc.bind start i sprawdzić czy działa revDNS
polecenie host 2001:470:924c::1 powinno zwrócić takie coś:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.4.2.9.0.7.4.0.1.0.0.2.ip6.arpa domain name pointer ipv6.klodzko.linux.pl.
Jeżeli tak się nie stanie, trzeba przeanalizować wszystki pliki bo gdzieś popełniłeś błąd.
Przykład 2
Jeżeli nie dysponujemy domeną typu AAAA a chcemy zrobić vhosta należy wybraną domenę skierować na rekord NS naszego serwera (w moim przypadku domenę ipv6.klodzko.linux.pl skieruję na dns.ipv6.klodzko.linux.pl). Następnym krokiem będzie dodanie wpisu do pliku /etc/named.conf wg poniższego wzoru.
zone „ipv6.klodzko.linux.pl” IN {
type master;
file „ipv6.klodzko.linux.pl”;
allow-update { none; };
allow-transfer { none; };
notify yes;
};
następnie w katalogu /var/named/ tworzymy plik strefy (w moim przypadku „ipv6.klodzko.linux.pl”)
cd /var/named
touch ipv6.klodzko.linux.pl
I do tego pliku wpisujemy dane wg wzoru poniżej.
$TTL 60
$ORIGIN ipv6.klodzko.linux.pl.
@ IN SOA dns.ipv6.klodzko.linux.pl. admin.klodzko.linux.pl. (
2009060601 ; serial
8H ; refresh
2H ; retry
1W ; expire
1D ) ; default_ttl@ IN NS dns.ipv6.klodzko.linux.pl.
@ IN AAAA 2001:470:924c::1
teraz tylko zostaje przeładowanie nameda /etc/rc.d/rc.bind restart i gotowe.
Autor: Krzysztof Wnuk