DNS - czyli Domain Name System - cóż to. Otóż
podstawą protokołu TCP/IP jest adres IP - czyli czteroliczbowy numer
przypisany do każdego komputera, np. 192.168.1.1. Jak jednak da się zauważyć
w przeglądarkach internetowych i w innych programach wykorzystujemy z reguły
przecież nie adresy IP a nazwy. Każda taka nazwa wskazuje na jakiś adres IP,
i to dlatego program wie z jakim komputerem ma się docelowo połączyć.
Postaram się tutaj w miare łopatologiczny sposób opisać jak skonfigurować
swoją domene. Przyjmijmy, że nasza domena to naszadomena.pl z mumerem IP
1.1.1.1 a serwer SecondaryDNS to dns.kumpladomena.pl z numerem IP 2.2.2.2
Konfiguracja /etc/namedb/named.conf
Jest to główny plik konfiguracyjny Binda 8.x - w tym pliku ustawiamy katalog w
którym są pliki stref, nazwy domen jakie nasz dns utrzymuje. Plik ten wygląda
mniej więcej tak:
// tutaj ustawiamy katalog, w którym pracuje named - domyślnie jest tak jak
powyżej
options {
directory "/etc/namedb";// ustawiamy definicję strefy dla DNS cachującego
// hint jest typem używanym przez DNS cachujący
// file to miejsce gdzie mieści się plik tej strefy
zone "." {
type hint;
file "named.root";
};
// definicja strefy odwrotnej dla loopback'a
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
};
// definicja strefy dla loopback'a
zone "localhost" {
type master;
file "localhost.rev";
};
// PrimaryDNS
// poniżej definiujemy definicję swojej domeny np. naszadomena.pl
// - zone "naszadomena.pl" - to oznacza że ten wpis w configu
// będzie
się odnosił do domeny naszadomena.pl;
// - file "naszadomena.pl" - to oznacza że wszystkie wpisy co do tej
// domeny będą w pliku naszadomena.pl w katalogu /etc/namedb;
// - allow-update { none; } - to oznacza że nikt zdalnie nie ma prawa
// do
modyfikacji tego pliku - można go tylko lokalnie modyfikować;
// - allow-transfer { 2.2.2.2; } - tutaj zamiast 2.2.2.2 wpisujemy adresy
// IP
zapasowego serwera DNS;
// - notify yes - ta opcja włącza powiadamianie zapasowego serwera DNS
// o tym
że zmieniliśmy jakieś wpisy w naszej domenie;
zone "naszadomena.pl" {
type master;
file "naszadomena.pl";
allow-update { none; };
allow-transfer { 2.2.2.2; };
notify yes;
};
// ReverseDNS
// poniżej definiujemy strefę odwrotną dla naszej domeny (jeżeli mamy taki
przywilej)
// - zone - tutaj podajemy trzy ostatnie człony naszego adresu IP w kolejności
od tyłu
// np. jeżeli mamy IP 10.20.30.40 to wpisujemy 30.20.10.in-addr.arpa
zone "1.1.1.in-addr.arpa" {
type master;
file "1.1.1";
};
// SecondaryDNS
// jeżeli chcemy być serwerem zapasowym domeny kumpladomena.pl dopisujemy
// - zone "kumpladomena.pl" - to oznacza że ten wpis w configu będzie
się
// odnosił do domeny kumpladomena.pl;
// - file "SecDNS/kumpladomena.pl" - to oznacza że wszystkie wpisy co
do tej
// domeny będą w pliku kumpladomena.pl w katalogu /etc/namedb/SecDNS;
// - masters - zamiast 2.2.2.2 wpisz adres IP głównego serwera DNS dla tej
// domeny po przeładowaniu nameda w katalgu SecDNS powinien pojawić się
// ściągnięty
plik strefy tejże domeny
zone "kumpladomena.pl" {
type slave;
file "SecDNS/kumpladomena.pl";
masters { 2.2.2.2; };
};
|
Plik strefy /etc/namedb/naszadomena.pl
$TTL 3600
@ IN SOA dns.naszadomena.pl. root.naszadomena.pl. (
2002070201 ; serial
86400 ; refresh
3600 ; retry
3600000 ; expire
1209600 ; minimum );
;; adres IP naszego serwera trzymającego te domenę
IN A 1.1.1.1
;; adres naszego Primary DNS
IN NS dns.naszadomena.pl.
;; adres naszego Secondary DNS
IN NS dns.kumpladomena.pl
;; adres naszego Primary Serwera pocztowego
IN MX 10 poczta.naszadomena.pl
;; przypisujemy IP konkretnym hostom dns.naszadomena.pl i www.naszadomena.pl
;;
oraz poczta.naszadomena.pl
;; UWAGA: wpis www bez kropki na końcu jest jednoznaczny z wpisem
;; www.naszadomena.pl ponieważ jeżeli nie ma kropki po nazwie aliasu
;; nazwa domeny głównej jest
automatycznie doklejana
dns IN A 1.1.1.1
www IN
A 1.1.1.1
poczta IN A @
komp2 IN A 1.1.1.2
komp3 IN A 1.1.1.3
// tworzymy nazwę strony www.user.naszadomena.pl dla użytkownika user
user IN A 1.1.1.1
www.user IN A 1.1.1.1
;; definicja ftp.naszadomena.pl
;; rekord CNAME może być tylko używany w stosunku do nazw, które wskazują
na rekord A
ftp IN CNAME dns
;; jeżeli podajesz pełną nazwę domeny pamiętaj o kropce na końcu,
;; nie dodanie jej spowoduje taki wpis dns.naszadomena.pl.naszadomena.pl
smtp IN CNAME poczta.naszadomena.pl,
;; delegacja domeny super.naszadomena.pl na inny serwer DNS
super IN NS dns.znajomy.pl
|
Objaśnienie rekordu SOA
SOA - Ten RR opisuje strefę władzy (SOA oznacza "początek władzy").
Sygnalizuje, że rekordy występujące po tym typie RR zawierają informacje
autorytatywne dla domeny. Każdy plik główny wpisany w dyrektywie primary musi
zawierać rekord SOA dla danej strefy. Dopuszczalne są następujące pola:
-
origin - To pole zawiera kanoniczną nazwę hosta podstawowego serwera
nazw dla tej domeny, zwykle pisaną w postaci nazwy bezwzględnej.(np.
ns1.debian.one.pl.) można zastąpić małpą @.
-
serial - To pole zawiera numer wersji pliku strefy wyrażony w postaci
jednej liczby dziesiętnej. Gdy dane w pliku strefy zostaną zmienione, numer
ten powinien zostać zwiększony. Przyjęło się, że numer ten to data
ostatniego uaktualnienia z dodanym numerem wersji na wypadek kilku uaktualnień
w ciągu dnia. Na przykład 2000012600 oznacza uaktualnienie numer 00 z dnia 26
stycznia 2000 roku. Numer jest używany przez zapasowe serwery nazw do
rozpoznawania zmian w informacjach o strefie. Aby być na bieżąco, serwery
zapasowe co jakiś czas odczytuj ą rekord SOA serwerów podstawowych i porównują
numer z własnym rekordem SOA. Jeżeli numer się zmienił, serwery zapasowe ściągają
całą bazę danych z serwera podstawowego.
-
refresh - To pole określa w sekundach, co jaki czas serwery zapasowe
powinny sprawdzać rekord SOA serwera podstawowego. Znów jest to liczba dziesiętna
złożona maksymalnie z ośmiu cyfr. Ogólnie rzecz biorąc topologia sieci nie
zmienia się zbyt często, a więc ta liczba powinna być ustawiona na około
jeden dzień w przypadku większych sieci, a nawet dłużej w przypadku
mniejszych sieci.
-
retry - Ta liczba określa odstępy czasu, w których serwer zapasowy
powinien próbować kontaktować się z serwerem podstawowym, jeżeli nie uda się
mu odświeżyć danych o strefie. Nie może być ona zbyt mała, gdyż w razie
chwilowej awarii serwera lub sieci serwer zapasowy będzie marnował zasoby
sieciowe. Zaleca się odstępy godzinne lub półgodzinne.
-
expire - To pole określa czas w sekundach, po którym serwer zapasowy
powinien ostatecznie usunąć wszystkie dane o strefie, jeżeli nie był w
stanie skontaktować się z serwerem głównym. Zwykle powinieneś zdefiniować
to pole na przynajmniej tydzień (604 800 sekund), ale wydłużenie do miesiąca
lub większe, także ma sens.
-
minimum - To pole zawiera domyślną wartość TTL dla rekordów zasobów,
które nie definiują jej jawnie. Wartość TTL określa maksymalny czas, przez
jaki inne serwery nazw mogą trzymać RR w swojej pamięci podręcznej. Czas ten
dotyczy tylko zwykłych poszukiwań i nie ma nic wspólnego z czasem, po którym
serwery zapasowe powinny próbować uaktualnić swoje informacje o strefie. Jeżeli
topologia twojej sieci nie zmienia się często, wystarczy, że ustawisz ttl na
tydzień, a nawet dłuższy okres czasu. Jeżeli pojedynczy rekord RR zmienia się
często, zawsze możesz przypisać mu indywidualnie mały ttl. Jeżeli twoja sieć
zmienia się często, możesz zechcieć ustawić minimum na jeden dzień (86 400
sekund).
Plik strefy odwrotnej /etc/namedb/1.1.1
Plik ten niczym się nie różni od poprzedniego pliku za
jednym wyjątkiem: otóż zamiast rekordu A używa się tutaj rekordu PTR oraz
nie korzystamy z rekordu MX. Jego składnia jest następująca:
IN NS dns.naszadomena.pl.
1 IN PTR
dns.naszadomena.pl.
2 IN PTR
komp1.naszadomena.pl.
3 IN PTR
komp2.naszadomena.pl. |
Uruchomienie nameda
Do /etc/resolv.conf wpisujemy:
domain naszadomena.pl
nameserver 127.0.0.1
nameserver IP_zapasowego_dns'a |
Do pilku /etc/rc.conf dodajemy następujące wpisy:
named_enable="YES"
named_flags="-u bind -g bind" |
następnie robimy reboot maszyny albo odpalamy nameda ręcznie komendą
#/ usr/sbin/named -u bind -g bind lub
ndc start
teraz wydajemy komendę nslookup i sprawdzamy czy
dobrze skonfigurowaliśmy naszego nameservera
# nslookup
Default Server: localhost
Address: 127.0.0.1
wpisujemy nazwę domeny
> naszadomena.pl
Server: localhost
Address: 127.0.0.1
i powinniśmy otrzymać adres IP naszej domeny
Name: naszadomena.pl
Address: 1.1.1.1
i tak po kolei każdego hosta.
Autor: Artur Kulda
arti(at)bsd4u.org
Powyższy artykuł został udostępniony na zasadach Licencji BSD Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment! |