Konfiguracja DNS na dynamicznym IP + IPv6

G

Guest

Gość
Spis Treści:

1) O co chodzi ?.
2) Konfiguracja DNS'a.
3) Tunel IPv6.
4) Ustawianie vhostów na IPv6.

####################################################################

1) O co chodzi ?

W internecie jest dużo opisów konfiguracji DNS'a, ale jeszcze nie widziałem opisu konfigurowania na zmiennym IP, więc może ten komuś się przyda.
Co Ci będzie potrzebne:

- Domena typu A
- Domena typu NS
- Więcej domen NS (jeśli chcesz mieć vhosty)
- Bind
- Tunel IPv6
- Trochę cierpliwości.


Najpierw wypadałoby zacząć od domeny typu A. Ta domena będzie potrzebna tylko do jednego celu - będzie przekierowywała pozostałe domeny na Twoje aktualne IPv4. Bezpłatnie możesz taką domenę zarejestrować na jakimś Dynamic DNS, np. http://no-ip.org/.
Załóż tam konto, zarejestruj jakąś domenę (powiedzmy, że damned.hopto.org). MUSI byc to domena typu A. Teraz ściągnij z tej strony program, który będzie co 60 sekund uaktualniał Twoje IP na DNS'ie (noip2). Po ściągnięciu zainstaluj i uruchom.
Sprawdź czy domena działa:

root@damned:~# host -t A damned.hopto.org
damned.hopto.org A 62.87.219.75

IP pokazało poprawne, więc wszystko jest ok.
Teraz czas na załatwienie sobie domen NS. Możesz je zarejestrować na http://afraid.org/. Przy rejestracji tych domen KONIECZNIE zaznacz "NS", a zamiast swojego IP podaj domenę z no-ip (damned.hopto.org). Jako przykład w dalszej części będę podawał domenę NS rod-team.darkforces.biz.

#################################################################

2) Konfiguracja DNS'a.

Zacznij oczywiście od ściągnięcia i zainstalowania binda (www.google.com). Teraz konfiguracja...
Otwórz plik /etc/bind/named.conf w jakimś edytorze i dopisz:

--------------- CUT HERE ---------------------

zone "rod-team.darkforces.biz" {
type master;
file "/etc/bind/rod-team.darkforces.biz";
allow-update { none; };
allow-transfer { none; };
notify yes;
};

--------------- CUT HERE ---------------------

Zamiast rod-team.darkforces.biz podajesz oczywiście swoją domenę z afraid.org. Stwórz plik /etc/bind/rod-team.darkforces.biz i wpisz do niego:

-------------------- CUT HERE -----------------------

$TTL 100 // czas co jaki domena będzie odświeżana

$ORIGIN rod-team.darkforces.biz. // domena NS z afraid.org

@ IN SOA rod-team.darkforces.biz. admin.rod-team.darkforces.biz. ( // domena NS i mail, zamiast ";@" podaje się "."
2004012300 ; serial // serial, czyli data i numer ostatniej modyfikacji
8H ; refresh
2H ; retry
1W ; expire
1D ; default_ttl

@ IN NS ns1 // pierwszy dns
@ IN NS ns2 // drugi dns
ns1 IN A 127.0.0.1 // adres pierwszego dns'a
ns2 IN A 127.0.0.1 // adres drugiego dns'a

@ IN A 62.87.215.228 // twoje aktualne IPv4

-------------------- CUT HERE -----------------------

I uruchom nameda:

root@damned:~# /usr/sbin/named

No i to już prawie wystarczy do wydelegowania sobie domeny na server. Jedyny problem jaki zostaje, to IP w tym pliku musi być uaktualniane po każdej zmianie, ale do tego już można sobie napisać program lub skrypt i np. dać do crona. Możliwości jest dużo, zależy od wyobraźni. ;]


####################################################################

3) Tunel IPv6.

Najpierw wypadałoby założyć sobie gdzieś tunel IPv6. Na przykład na http://www.freenet6.net/. Po założeniu, ściągamy program tspc i radvd. Upewnij się, że masz kernelu włączoną obsługę ipv6. Jeśli nie, wpisz: insmod ipv6
Najpierw zainstaluj radvd. Konfiguracja programu tspc jest opisana na stronie freenet6. Po skonfigurowaniu uruchom:

./tspc -vvvf tspc.conf

Jeśli wszystko będzie ok, program zakończy działanie funkcją exit(0), czyli bez błędu.
Wpisz 'ifconfig' i sprawdź czy tunel jest podniesiony. Jeśli tak, możesz dodać adresy ip:

ip a a adres_ipv6::1 dev sit1
ip a a adres_ipv6::2 dev sit1
ip a a adres_ipv6::3 dev sit1
....

Adres IPv6 zobaczysz po wydaniu polecenia 'ifconfig', a sit ustawiasz taki, jaki był w tspc.conf. np.:

root@damned:~# ip a a 3ffe:bc0:7ae:1::1 dev sit1


Najlepiej jeszcze ustawić w cronie uruchamianie tspc co 5 min, aby ciągle było aktualne ip.


#################################################################

4) Ustawianie vhostów na IPv6.

Jeśli masz już wszystko ustawione, działającą domene z no-ip, dodane adresy IPv6, możesz przejść do konfiguracji DNS'a na IPv6.
Będzie Ci potrzebny do tego program ipv6calc. Ściągnij go i zainstaluj. Teraz musisz obliczyć Reverse DNS dla swojego IPv6, więc:

root@damned:~# ipv6calc -r adres_ipv6/prefix

np.:

root@damned:~# ipv6calc -r 3ffe:bc0:7ae:1::1/48

Jeśli masz tunel z freenet6 to Twoim prefixem będzie /48.
Ipv6calc zwróci Ci wartość obliczonego RevDNS'a:

root@damned:# ipv6calc -r 3ffe:bc0:7ae:1::1/48
No input type specified, try autodetection...found type: ipv6addr
e.a.7.0.0.c.b.0.e.f.f.3.ip6.int.


Teraz czas na /etc/bind/named.conf. Na początku tego pliku, dodaj linie:

options {
directory "/var/cache/bind";
listen-on-v6 { any; };
auth-nxdomain no;
};


I dodaj strefę odwrotną dla IPv6:

zone "e.a.7.0.0.c.b.0.e.f.f.3.ip6.int" {
type master;
file "/etc/bind/ipv6";
};


Utwórz plik /etc/bind/ipv6, a jako jego zawartość wpisz:

---------------------- CUT HERE -------------------------

; e.a.7.0.0.c.b.0.e.f.f.3.ip6.int // RevDNS dla naszego IPv6
;

$TTL 100 // czas odswiezania

@ IN SOA damned.hopto.org. raven.damned.hopto.org. ( // tutaj proponuję ustawić domenę z no-ip.org
2004012300 ; serial
21600 ; refresh
7200 ; retry
1209600 ; expire
100 ) ; default_ttl
;
@ IN NS rod-team.a.la. // domena, którą chcemy przekierować na ipv6

1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 IN PTR rod-team.a.la. // ustawiamy domenę rod-team.a.la na pierwszy adres naszego ipv6 (3ffe:bc0:7ae:1::1)

---------------------- CUT HERE -------------------------


Ostatni wpis zależy od naszego tunelu. Liczymy ile jest cyfr i liter w obliczonym RevDNS'ie, wyłączając "ip6.int", czyli tylko: e.a.7.0.0.c.b.0.e.f.f.3. W moim przypadku jest 12. Adresy są 32 bitowe więc:
32 - 12 = 20.

Z tego wiemy, że nasz adres dla pierwszej domeny musi się składać z 20 cyfr. W przypadku większej ilości domen, zmieniamy tylko pierwszą cyfrę, np.:

1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 = 3ffe:bc0:7ae:1::1
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 = 3ffe:bc0:7ae:1::2
3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 = 3ffe:bc0:7ae:1::3
.... itd.


Teraz wracamy znowu do /etc/bind/named.conf i dopisujemy do niego:

zone "rod-team.a.la" {
type master;
file "/etc/bind/rod-team.a.la";
allow-transfer { none; };
allow-update { none; };
notify yes;
};


Natomiast w pliku /etc/bind/rod-team.a.la wpisujemy:

----------------------- CUT HERE -----------------------------

$TTL 100
$ORIGIN rod-team.a.la.

@ IN SOA rod-team.a.la. raven.rod-team.a.la. (
2004012300 ; serial
8H ; refresh
2H ; retry
1W ; expire
1D ; default_ttl
)
@ IN NS ns1
@ IN NS ns2
ns1 IN A 127.0.0.1
ns2 IN A 127.0.0.1
@ IN AAAA 3ffe:bc0:7ae:1::1 // AAAA ponieważ jest to adres IPv6

----------------------- CUT HERE -----------------------------


Chyba nie trzeba nic tłumaczyć ? :)
Oczywiście każdą domenę musimy mieć zarejestrową w taki sam sposób jak rod-team.darkforces.biz i typu NS.
Trzeba też pamiętać o zmienianiu seriali w plikach. Pierwsze osiem cyfr oznacza date ostatniej modyfikacji pliku, a ostatnie dwie cyfry to liczba, mowiąca, który raz w tym dniu plik został zmodyfikowany.

Jeśli chcesz mieć więcej vhostów na IPv6, dla każdego musisz dodać nową strefę w named.conf i dodać adres tej domeny w /etc/bind/ipv6.

Na koniec restartujemy nameda:

root@damned:~# killall -HUP named


Proponuję jeszcze sprawdzić czy domeny działają:

root@damned:~# host -t AAAA rod-team.a.la
rod-team.darkforces.biz AAAA 3FFE:BC0:7AE:1:0:0:0:1

root@damned:~# dig rod-team.darkforces.biz


I tak dalej... ;)
Jeśli chcesz używać tych vhostów na ircu, musisz mieć jakiegoś klienta irca skompilowanego z obsługą IPv6.

Z BitchX możesz wchodzić poleceniem:

BitchX server_ipv6 -H twoj_vhost

Z irssi:

irssi -h twoj_vhost -c server_ipv6
Przy czym w irssi musisz wcześniej ustawić: /set resolve_prefer_ipv6 on
i zapisać zmiany w configu irssi.

##################################################################

I to by było chyba na tyle. Dokładniej o konfiguracji DNS, RevDNS, IPv6 można poczytać na internecie.

--------
RAVEN ([email protected])
 
Do góry Bottom