DNS HOWTO

Nicolai Langfeldt janl@math.uio.no
v1.3.2, 3 June 1997
Wersja polska: Piotr Pogorzelski piotr.pogorzelski@ippt.gov.pl
v1.0.1, kwiecie� 1998


Jak w zosta� ma�oetatowym administratorem DNS. Dokument opisuje BIND-4.9.x.

1. Wst�p

S�owa kluczowe: DNS, bind, named, dialup, ppp, slip, Internet, domain, name, hosts, resolving

1.1 Legal stuff

(C)opyright 1995 Nicolai Langfeldt. Do not modify without amending copyright, distribute freely but retain copyright message.

1.2 Podzi�kowania i pro�by o pomoc.

Chcia�bym podzi�kowa� Arnt Gulbrandsen, kt�ry niezliczon� liczb� razy czyta� ten dokumend dostarczaj�c wielu po�ytecznych sugestii. Dzi�kuj� r�wnie� ludziom, kt�rzy przys�ali swoje sugestie poczt� elektroniczn�. Dzi�kuje. Pomogli�cie mi w pracy nad tym dokumentem.

1.3 Inne dokumenty

Ten dokument nigdy nie b�dzie sko�czony, wszelkie uwagi (og�lne - nie dotycz�ce polskiej wersji tego dokumentu) prosz� przesy�a� autorowi. Czeka na uwagi o sukcesach i k�opotach, dzi�ki nim dokument stanie si� pe�niejszy i lepszy. Tak wi�c pieni�dze, pytania/uwagi kierujcie na adres janl@ifi.uio.no. Je�li wysy�acie poczt� elektroniczn�, upewnijcie si�, �e adres zwrotny jest poprawny. Prosz�, przed wys�aniem listu zapoznajcie si� wcze�niej z rodzia�em FAQ dotycz�cym najcz�sciej pojawiaj�cych si� pyta�.

1.4 Dedykacja

Ten dokument HOWTO jest dedykowany Anne Line Norheim. Pomimo, �e prawdopodobnie nigdy go nie przeczyta.

2. Wprowadzenie.

Co tu znajdziecie, a czego nie.

Dla pocz�tkuj�cych, DNS oznacza Domain NAme System, Zasady i programy umo�liwiaj�ce odwzorowanie (zamian�) nazw symbolicznych nadawnych komuterom na odpowiadaj�ce imadresy IP. Niniejszy dokument przedstawia w jaki spos�b stworzy� takie odwzrowanie wykorzystuj�c do tego Linuxa. Wspomniane odwzorowanie to proste skojarzenie dw�ch rzeczy, symbolicznej nazwy komputera np. ftp.linux.org z adresem IP tego komputera, 199.249.150.4.

DNS to jeden z bardziej niezauwa�alnych obszar�w zarz�dzania sieci�. Niniejszy dokument postara si� wyja�ni� kilka poj��. Opisuje w jaki spos�b zestawi� prosty serwer DNS. Rozpoczynaj�c od podr�zcnego serwera DNS a� do uruchomienia podstawowego serwera domeny. Bardziej skomplikowane konfiguracje mog� by� opisane w rozdziale FAQ. Je�li nie znajdziesz tam rozwi�zania swoich problem�w, musisz zapozna� si� z Prawdziw� Dokumentacj�. P�niej napisz� co to jest Prawdziwa dokumentacja the last chapter.

Zanim zaczeniesz dzia�a� musisz wpierw skonfigurowa� sw�j komputer, tak aby� m�g� ��czy� si� z niego i do niego za pomoc� programu telnet, oraz wykonywa� inne r�nego rodzaju po��czenia sieciowe. W szczeg�lno�ci powiniene� m�c po��czy� sie ze swoim komputerem wydaj�c polecenie telnet 127.0.0.1 (sprawd� to teraz!). Potrzebujesz poprawnie skonfigurowanych plik�w /etc/host.conf (lub /etc/nsswitch.conf), /etc/resolv.conf i /etc/hosts poniewa� nie b�d� w tym dokumencie omawia� ich funkcji. Je�li nie masz potrzebnej konfiguracji sieciowej pom�e ci dokument NET-2-HOWTO. Przeczytaj go.

Je�li korzystasz ze SLIPa lub PPP, musz� poprawnie dzia�a�. Je�li tak nie jest przeczytaj PPP-HOWTO.

Kiedy m�wi� `tw�j komputer', to znaczy, �e mam na my�li komputer na kt�rym pr�bujesz uruchomi� serwer DNS, a nie jakikolwiek inny komputer kt�ry mo�e by� po�rednio zwi�zany z dzia�aniem sieci.

Zak�adam, �e nie znajdujesz si� za �adn� '�cian� ogniow�', kt�ra uniemo�liwia komuniekacj� DNS ze �wiatem zewn�trznym. Je�li tak nie jest, b�dziesz potrzebowa� specjalnej konfiguracji, zapoznaj si� z rozdzia�em FAQ.

Serwowanie nazw pod systemem UNIX jest wykonywane przez program o nazwie named. Jest to cz�� pakietu bind, kt�ry prowadzi i kt�rym opiekuje si� Paul Vixie z The Internet Software Consortium. Named jest dostarczany przez wi�kszo�� dystrybucji Linuxa i zwykle mo�na go znale�� w /usr/sbin/named. Je�li jest on zainstalowany na twoim komputerze, prawdopodobnie mo�esz z niego skorzysta�, je�li nie, mo�esz zainstalowa� jego najnowsz� wersje, kt�r� znajdziesz w ftp.vix.com:/pub/bind.

DNS jest og�lnosieciow� baz� danych. Trzeba uwa�a� co si� do niej wk�ada. Je��i w�o�y si� �miecie, ty i inni otrzymacie z niej �miecie. Muszisz utrzymywa� swoj� cz�� DNSu uporz�dkowan� i poprawn�. Wtedy b�dzie ci dobrze s�u�y�. Naucz si� jak z niej korzysta�, jak ni� zarz�dza�, jak j� odpluskwia�, a staniesz si� kolejnym dobrym administratorem zapobiegaj�c przeci�zenim sieci wywo�anym jej z�ym zarz�dzaniem.

W tym dokumencie wypowiadam s�dy o pewnych rzeczach, kt�re nie s� do ko�ca prawdziwe (cho� s� co najmniej w po�owie prawdziwe). Wszystko po to, aby zachowa� prostot� tego dokumentu. Je�li mi uwierzysz wszystko powinno dzia�a�.

Wskaz�wka: Zr�b kopie wszystkich plik�w, kt�re ka�e zmieni�, tak aby w przypadku niepowodzenia ca�ej konfiguracji bys m�g� wr�ci� do stanu pierwotnego.

3. Podr�czny serwer DNS.

Pierwszy etap konfiguracji DNS, po�yteczny dla os�b ��cz�cych si� z Internetem przez modem.

Podr�czny serwer DNS znajdzie odpowiedzi na pytania o nazwy komputer�w i zapami�ta je, tak aby m�g� natychmiast odpowiedzie�, gdy b�dziesz ich potrzebowa� ponownie.

Po pierwsze potrzebny jest plik /etc/named/.boot. Jest czytany podczas uruchamiania programu named. W naszym przypadku powienien po prostu zawiera�:


;  Plik startowy podr�cznego serwera DSN
;
directory /var/named
;
; rodzaj          domena                        plik lub komputer �r�d�owy
cache           .                               root.cache
primary         0.0.127.in-addr.arpa            pz/127.0.0

BARDZO WA�NE: W niekt�rych formatach tego dokumentu, zawarto�� wspomnianego pliku b�dzie poprzedzona kilkoma spacjami lub znakami tabulacji. Znaki te nie mog� znale�� si� w prawdzimym pliku konfiguracyjnym. Usu� wszelkie wiod�ce spacje w plikach utworzonych na podstawie tego dokumnetu (np przez kopiowanie fragment�w).

Wiersz z poleceniem `directory' wskazuje, gdzie program named powienien szuka� plik�w. Wszystkie podawane p�niej nazwy plik�w b�d� nazwami wzgl�dem tego katalogu. /var/named jest w�a�ciwym miejscem, zgodnym ze Standardem system�w plik�w w systemie Linux (FSS).

Plik o nazwie /var/named/root.cache powienien zawiera�:


 .       518400  NS      D.ROOT-SERVERS.NET.
 .       518400  NS      E.ROOT-SERVERS.NET.
 .       518400  NS      I.ROOT-SERVERS.NET.
 .       518400  NS      F.ROOT-SERVERS.NET.
 .       518400  NS      G.ROOT-SERVERS.NET.
 .       518400  NS      A.ROOT-SERVERS.NET.
 .       518400  NS      H.ROOT-SERVERS.NET.
 .       518400  NS      B.ROOT-SERVERS.NET.
 .       518400  NS      C.ROOT-SERVERS.NET.
;
D.ROOT-SERVERS.NET.     3600000 A       128.8.10.90
E.ROOT-SERVERS.NET.     3600000 A       192.203.230.10
I.ROOT-SERVERS.NET.     3600000 A       192.36.148.17
F.ROOT-SERVERS.NET.     3600000 A       192.5.5.241
G.ROOT-SERVERS.NET.     3600000 A       192.112.36.4
A.ROOT-SERVERS.NET.     3600000 A       198.41.0.4
H.ROOT-SERVERS.NET.     3600000 A       128.63.2.53
B.ROOT-SERVERS.NET.     3600000 A       128.9.0.107
C.ROOT-SERVERS.NET.     3600000 A       192.33.4.12

Pami�taj co m�wi�em o wiod�cych odst�pach!.

Plik okre�la g��wne serwery DNS na �wiecie. Ta informacja zmienia si� z czasem i musi by� poprawiana. Patrz Rozdzia�o utrzymaniu serwera, znajdziesz tam rady sk�d uzyskiwa� aktualne informacje. Jest to opisane na stronie podr�cznika dotycz�cej programu named, lecz IMHO nadaje si� dla ludzi, kt�rzy ju� rozumiej� jak pracuje named.

Kolejny wiersz w named.boot zawiera s�owo k�uczowe primary. P�niej opisz� jego zadanie, teraz po prostu utw�rz w katalogu pz plik o nazwie 127.0.0 zawieraj�cy:


@               IN      SOA     linux.bogus. hostmaster.linux.bogus. (
                                1       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
                        NS      ns.linux.bogus.
1                       PTR     localhost.

Do tego potrzebujesz jeszcze plik /etc/resolv.conf, kt�ry by wygl�da� mniej wi�cej tak:


search poddomena.twoja.domena. twoja.domena
nameserver 127.0.0.1

Wiersz `search' okre�la, kt�re domeny powinny by� przegl�dane w poszukiwaniu komputera z kt�rym chcemy nawi�za� po��czenie. Wiersz `nameserver' zawiera adres IP komputera, serwera DNS, z kt�rego mo�e korzysta� tw�j komputer. W tym przypadku jest to tw�j komputer poniewa� to w�a�nie na nim chcesz uruchomi� program named. (Uwaga: Ten plik jest czytany przez procedury resolwera biblioteki libc, program named nie zagl�da do tego pliku.)

Ma�a ilustracja do czego s�u�y ten plik: je�li program otrzyma za zadanie znalezienie adresu komputera foo, najpierw jest sprawdzane czy istnieje komputer foo.poddomena.twoja.domena, a w przypadku niepowodzenia nast�pnie sprawda si� foo.twoja.domena, a na ko�cu foo. Je�li nale�y znale�� sunsite.unc.edu wpierw sprawdza si� istnienie sunsite.unc.edu.poddomena.twoja.domena (tak, jest to glupie, ale tak musi by�), nast�pnie sunsite.unc.edu.twoja.domena, a na ko�cu sunsite.unc.edu. Mo�esz nie chcie� umieszcza� w tym pliku zbyt wielu domen, ka�de wyszukanie zajmuje troch� czasu.

W kolejnym przyk�adzie zak�adamy, �e nale�ysz do domeny poddomena.twoja.domena, tw�j komputer nowsi nazw� tw�j-komputer.poddomena.twoja.domena. Wiersz z poleceniem search nie powinien zawiera� domeny najwy�szego poziomu (TLD -Top Level Domain) (a w Polsce domeny drugiego poziomu np. edu.pl, /com.pl/). Je�li bardzo cz�sto ��czysz si� z komputerami nale��cymi do innej domeny, mo�esz j� doda� do wiersza z poleceniem search:


search poddomena.twoja.domena. inna-domena.com.pl. 

itd. Oczywi�cie nale�y wpisa� istniej�ce domeny. Zwr�� uwag� na brak kropki ko�cz�cej nazw� domeny.

Nast�pnie, zale�nie od wersji biblioteki libc, kt�rej u�ywasz musisz poprawi� albo plik /etc/nsswitch.conf lub /etc/host.conf. Je�li w twoim systemie ju� jest plik /etc/nsswitch.conf to znaczy, �e nale�y poprawi� ten w�a�nie plik, j�sli go nie ma, b�dziemy poprawiwa� /etc/hosts.conf.

/etc/nsswitch.conf

To spory plik okre��aj�cy sk�d system ma pobiera� r�nego rodzaju informacje, z kt�rych plik�w, lub sieciowychs baz danych. Zwykle zawiera pomocne komentarze. Znajd� wiersz zaczywnaj�cy si� s�owem `hosts:', powinien wygl�da� nast�puj�co:


hosts:      files dns

Je�li nie ma wiersza zaczynaj�cego si� od `hosts', to dodaj przedstawiony powy�ej. Deiniuje on, �e programy wpierw powinny zaj�e� do pliku /etc/hosts i dopiero w nast�pnej kolejno�ci sprawdza� w DNSie, w spos�b zgodny z wytycznymi znajduj�cymi si� w pliku /etc/resolv.conf.

/etc/host.conf

Prawdopodowbie zawiera kilkana�cie wierszym jeden z nich powinien wygl�da� nast�puj�co:


order hosts,bind

Je�li nie ma wiersza rozpoczynaj�cego si� s�owem order powinno si� taki doda�. Okre�la on spos�b dzia�ania procedur rozwi�zuj�cych nazwy komputer�w, kt�re w podanej konfiguracji wpierw sprawdzaj� plik /etc/hosts , a nast�pnie pytaj� serwer DNS (kt�ry jest zdefiniowany w pliku /etc/resolv.conf jako 127.0.0.1). Te pliki s� dok�adniej opisane na stronach podr�cznika, mo�na je przeczyta� pisz�c `man 8 resolv (w wi�kszo�ci dystrybucji Linuxa). IMHO jest to ca�kiem zrozumia�y tekst i powinien si� z nim zapozna� ka�dy administrator DNSu. Zr�b to teraz, je�li od�o�ysz to na p�niej, nigdy tego nie zrobisz.

Cect1>Uruchamianie programu named.

Przyszed� nareszcie czas uruchomic program named. Je�li korzystasz z po��czenia dzwonionego, przed uruchomieniem programu zestaw po�aczenie. Nastepnie uruchom `ndc start' i wci�nij ENTER. Gdyby powloka nie mog�a znale�� progrmu ndc, spr�buj `/usr/sbin/ndc start'. Je�li tam te� nie ma tego programu zaj�yj do rozdzia�u FAQ. Teraz mo�esz przetestowa� swoj� konfiguracj�. Je�li podczas uruchamiania programu named b�dziesz podgl�da� plik dziennika (zwykle tail -f /var/log/messages ) powiniene� zobaczy� komunikaty podobne do tych poni�ej:

Jun 30 21:50:55 roke named[2258]: starting.  named 4.9.4-REL Sun Jun 30 21:29:03 MET DST 1996   janl@roke.slip.ifi.uio.no:/var/tmp/bind/named
Jun 30 21:50:55 roke named[2258]: cache zone "" loaded (serial 0)
Jun 30 21:50:55 roke named[2258]: primary zone "0.0.127.in-addr.arpa" loaded (serial 1)

Je�li zobaczysz jakiekolwiek komunikaty o b��dach, named wska�e plik zawieraj�cy b��d (mam nadziej�, �e named.boot lub named.cache :-). Zabij proces named (ndc stop) i sprawd� wskazany plik.

$ nslookup
Default Server:  localhost
Address:  127.0.0.1

>

Je�li wy�wietlone komunikaty s� zbli�one do tych powy�ej, to znaczy, �e wszystko dzia�a. Mamy tak� nadziej�. W ka�dym innym przypadku musisz wr�ci� i sprawdzi� raz jeszcze pliki konfiguracyjne. Po ka�dej modyfikacji pliku /etc/named.boot musisz zrestartowa� program wydaj�c polecenie ndc restart.

Teraz mo�esz wydawa� zapytania. Spr�buj odnale�� komputer blisko ciebie. pat.uio.no jest blisko mnie, Uniwersytet w Oslo:

> pat.uio.no
Server:  localhost
Address:  127.0.0.1

Name:    pat.uio.no
Address:  129.240.2.50

nslookup poprosi� nameda o wyszukanie komputera pat.uio.no. Named skontaktowa� si� z jednym z serwer�w nazw wymienionych w pliku root.cache i tam rozpocz�� sw� drog�. Zanim zobaczysz rezultat zapytania, mo�e up�yn�� ca�kiem spora chwila, poniewa� named przeszukuje wszystkie domeny wymienione w pliku /etc/resolv.conf/

Je�li spr�bujesz raz jeszcze otrzymasz tak� odpowied�:

> pat.uio.no
Server:  localhost
Address:  127.0.0.1

Non-authoritative answer:
Name:    pat.uio.no
Address:  129.240.2.50

Zwr�� uwag� na fraz� `Non-authoritative answer:'. Oznacza, �e tym razem named skorzysta� ze swojej pami�ci podr�cznej i nie przeszukiwa� sieci w poszukiwaniu odpowiedzi na twoje pytanie. Lecz informacja z pami�ci podr�cznej mo�e by� nieaktualna. Dlatetgo jeste� informowany o tym (pomijalnym) niebezpiecze�stwie w�a�nie fraz� `Non-authoritative answer:' (Odpwowied� z nieautoryzowanego �r�d�a). Je�li nslookup w taki spos�b odpowie na drugie zapytanie o ten sam komputer, jest to znak, �e zapami�tuje odpowiedzi przychodz�ce z sieci, a to znaczy, �e dzia�a poprawnie. Aby zako�czy� prac� z programem nslookup nale�y wyda� polecenie exit.

Je�li korzystasz z protoko��w ppp, slip, zapoznaj si� z rozdzia�em FAQ<@@ref>autpo po��czeniach modemowych, znajdziesz tam dla siebie kilka porad.

Teraz ju� wiesz jak skonfigurowa� podr�czny serwer nazw (DNS). Polecam piwo, mleko lub inny ulubiony nap�j aby uczci� to wydarzenie.

4. Ca�kiem prosta domena.

Jak skonfigurowa� w�asn� domen�.

4.1 Wpierw troche teorii.

Zanim naprawd� rozpoczniemy ten rozdzia�, mam zamiar przedstawi� ci troch� teorii na temat pracy DNSu. A ty to przeczytasz, poniewa� jest to ci potrzebne. Je�li ci si� nie chce, powiniene� cho� zapozna� si� z nim powierzchownie. Mo�esz przesta�, gdy dojdziesz do wyja�nie�, co nale�y umie�ci� w pliku named.boot.

DNS jest systemem hierarchicznym. Domena g��wna (najwy�szego poziomu) jest oznaczana kropk� `.' i nazywana `root'. W domenie . mo�na znale�� kilka "Domen najwy�szego poziomu (TLD)" np. ORG, COM, EDU czy NET. Lecz jest ich znacznie wi�cej. Gdy chcesz znale�� adres kompuera prep.ai.mit.edu tw�j serwer musi odnale�� komputer obs�uguj�cy domen� edu. Zadaje pytanie serwerowi domeny . (serwery domeny . zna z pliku root.cache), otrzymuje list� serwer�w obs�uguj�cych domen� edu. Oto ma�a ilustracja:

$ nslookup
Default Server:  localhost
Address:  127.0.0.1

rozpoczynamy od zapytania serwera domeny g��wnej

> server c.root-servers.net.
Default Server:  c.root-servers.net
Address:  192.33.4.12

Ustawiamy rodzj zapytania: rekordy NS (adresy serwr�w DNS)

> set q=ns

pytamy si� o domen� edu.

> edu.

Kropka po s�owie edu ma znaczenie, informuje serwer, �e pytamy si� o edu, kt�re jest bezpo�rednio w domenie g��wnej, w ten spos�b wy��czamy z przeszukiwania domeny podane w pliku /etc/resolv.conf.

edu     nameserver = A.ROOT-SERVERS.NET
edu     nameserver = H.ROOT-SERVERS.NET
edu     nameserver = B.ROOT-SERVERS.NET
edu     nameserver = C.ROOT-SERVERS.NET
edu     nameserver = D.ROOT-SERVERS.NET
edu     nameserver = E.ROOT-SERVERS.NET
edu     nameserver = I.ROOT-SERVERS.NET
edu     nameserver = F.ROOT-SERVERS.NET
edu     nameserver = G.ROOT-SERVERS.NET
A.ROOT-SERVERS.NET      internet address = 198.41.0.4
H.ROOT-SERVERS.NET      internet address = 128.63.2.53
B.ROOT-SERVERS.NET      internet address = 128.9.0.107
C.ROOT-SERVERS.NET      internet address = 192.33.4.12
D.ROOT-SERVERS.NET      internet address = 128.8.10.90
E.ROOT-SERVERS.NET      internet address = 192.203.230.10
I.ROOT-SERVERS.NET      internet address = 192.36.148.17
F.ROOT-SERVERS.NET      internet address = 192.5.5.241
G.ROOT-SERVERS.NET      internet address = 192.112.36.4

Otrzymali�my informacje, �e domen� edu obs�uguj� serwery *.root-servers.net, tak wi�c mo�emy kontynuowa� nasze pytanie kieruj�c je nadal do serwera c.root-serwers.net. Teraz chcemy wiedzie�, kto obs�uguje domen� nast�pnego poziomu: mit.edu.:

> mit.edu.
Server:  c.root-servers.net
Address:  192.33.4.12

Non-authoritative answer:
mit.edu nameserver = STRAWB.mit.edu
mit.edu nameserver = W20NS.mit.edu
mit.edu nameserver = BITSY.mit.edu

Authoritative answers can be found from:
STRAWB.mit.edu  internet address = 18.71.0.151
W20NS.mit.edu   internet address = 18.70.0.160
BITSY.mit.edu   internet address = 18.72.0.3

steawb, w20ns i bitsy obs�uguj� mit, wybierz jeden z nich i spytaj si� o ai.mit.edu:

> server W20NS.mit.edu.

W nazwach kompyter�w wielko�� liter nie ma znaczenia, lecz ja do przenoszenia tekstu u�ywam myszy, zapytanie ma tak� sam� form� jak poprzedzaj�ca je odpowied�.

Server:  W20NS.mit.edu
Address:  18.70.0.160

> ai.mit.edu.
Server:  W20NS.mit.edu
Address:  18.70.0.160

Non-authoritative answer:
ai.mit.edu      nameserver = WHEATIES.AI.MIT.EDU
ai.mit.edu      nameserver = ALPHA-BITS.AI.MIT.EDU
ai.mit.edu      nameserver = GRAPE-NUTS.AI.MIT.EDU
ai.mit.edu      nameserver = TRIX.AI.MIT.EDU
ai.mit.edu      nameserver = MUESLI.AI.MIT.EDU

Authoritative answers can be found from:
AI.MIT.EDU      nameserver = WHEATIES.AI.MIT.EDU
AI.MIT.EDU      nameserver = ALPHA-BITS.AI.MIT.EDU
AI.MIT.EDU      nameserver = GRAPE-NUTS.AI.MIT.EDU
AI.MIT.EDU      nameserver = TRIX.AI.MIT.EDU
AI.MIT.EDU      nameserver = MUESLI.AI.MIT.EDU
WHEATIES.AI.MIT.EDU     internet address = 128.52.32.13
WHEATIES.AI.MIT.EDU     internet address = 128.52.35.13
ALPHA-BITS.AI.MIT.EDU   internet address = 128.52.32.5
ALPHA-BITS.AI.MIT.EDU   internet address = 128.52.37.5
GRAPE-NUTS.AI.MIT.EDU   internet address = 128.52.32.4
GRAPE-NUTS.AI.MIT.EDU   internet address = 128.52.36.4
TRIX.AI.MIT.EDU internet address = 128.52.32.6
TRIX.AI.MIT.EDU internet address = 128.52.38.6
MUESLI.AI.MIT.EDU       internet address = 128.52.32.7
MUESLI.AI.MIT.EDU       internet address = 128.52.39.7

Okazuje si�, �e weaties.ai.mit.edu jest serwerem nazw dla doemny ai.mit.edu:

> server WHEATIES.AI.MIT.EDU.
Default Server:  WHEATIES.AI.MIT.EDU
Addresses:  128.52.32.13, 128.52.35.13

Teraz zmieniam rodzaj zapytania. Znamy ju� nazw� serwera nazw dla interesuj�cej nas domeny, spytamy sie o jakiekolwiek informacje jakie serwer posiada na temat prep.ai.mit.edu.

> set q=any
> prep.ai.mit.edu.
Server:  WHEATIES.AI.MIT.EDU
Addresses:  128.52.32.13, 128.52.35.13

prep.ai.mit.edu CPU = dec/decstation-5000.25    OS = unix
prep.ai.mit.edu
        inet address = 18.159.0.42, protocol = tcp
         #21 #23 #25 #79
prep.ai.mit.edu preference = 1, mail exchanger = life.ai.mit.edu
prep.ai.mit.edu internet address = 18.159.0.42
ai.mit.edu      nameserver = alpha-bits.ai.mit.edu
ai.mit.edu      nameserver = wheaties.ai.mit.edu
ai.mit.edu      nameserver = grape-nuts.ai.mit.edu
ai.mit.edu      nameserver = mini-wheats.ai.mit.edu
ai.mit.edu      nameserver = trix.ai.mit.edu
ai.mit.edu      nameserver = muesli.ai.mit.edu
ai.mit.edu      nameserver = count-chocula.ai.mit.edu
ai.mit.edu      nameserver = life.ai.mit.edu
ai.mit.edu      nameserver = mintaka.lcs.mit.edu
life.ai.mit.edu internet address = 128.52.32.80
alpha-bits.ai.mit.edu   internet address = 128.52.32.5
wheaties.ai.mit.edu     internet address = 128.52.35.13
wheaties.ai.mit.edu     internet address = 128.52.32.13
grape-nuts.ai.mit.edu   internet address = 128.52.36.4
grape-nuts.ai.mit.edu   internet address = 128.52.32.4
mini-wheats.ai.mit.edu  internet address = 128.52.32.11
mini-wheats.ai.mit.edu  internet address = 128.52.54.11
mintaka.lcs.mit.edu     internet address = 18.26.0.36

Jak wida� rozpoczynaj�c od domeny g��wnej . znale�li�my kolejne serwery DNS. Gdyby�my skorzystali z w�asnego serwera DNS, named zpami�ta�by wszystkie informacje otrzymywane z sieci i nie musia�by przej jaki� czas pyta� si� serwer�w, korzystaj�c z przechowywanych informacji.

Mniej opisywan� lecz r�wnie wa�n� domen� jest in-addr.arpa. Tak jak zwyk�e domeny r�wnie� posiada struktur� hierachiczn�. in-addr.arpa pozwala na znalezienie nazwy komputera, je�li tylko posiadamy jego adres IP. Nale�y tu zwr�ci� uwag�, �e adres IP jest zapisywany w odwrotnej kolejno�ci. Je�li tw�j komputer posiada adres 192.128.52.43 named b�dzie si� zachowywa� tak samo jak w przyk�adzie poszukiwania informacji na temat komputera prep.ai.mit.edu: znajd� serwery domey arpa., znajd� serwery in-addr.arpa., znajd� serwery 192.in-addr.arpa., znajd� serwery 128.192.in-addr.arpa./, znajd� serwery 52.128.192.in-addr.arpa./, znjd� niezb�dne rekordy dla 43.52.128.192.in-addr.arpa.. Jasne, nie ?! (opowiedz 'tak'). Przez pierwsze dwa lata odwracanie kolejno�ci cz�sci adresu IP sprawia ma�e k�opoty.

W�a�nie sk�ama�em. DNS nie pracuje dok�adnie w taki spos�w jaki wam przed chwil� przedstawi�em. Lecz jest to bardzo dobre przbli�enie.

4.2 Nasza w�asna domena.

Teraz zdefiniujemy nasz� w�asn� domen�. Nazwijmy j� linux.bogus. Umie��my w niej jeden komputer. Specjalnie u�ywam ca�kowicie bzdurn� nazw� domeny, aby mie� pewno��, �e nie przeszkodzimy nikomu z Sieci.

Rozpocz�li�my t� cz�� dodaj�c do named.boot wiersz:


primary         0.0.127.in-addr.arpa            pz/127.0.0

Prosz� zwr�ci� uwag� na brak kropki `.' ko�cz�cej nazwy domen. Pierwszy wiersz okre�la, �e plik pz/127.0.0 zawiera informacje definiuj�ce domen� 0.0.127.in-addr.arpa. Plik ten ju� zosta� utworzony, wygl�da nast�puj�co:


@               IN      SOA     linux.bogus. hostmaster.linux.bogus. (
                                1       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
                        NS      ns.linux.bogus.
1                       PTR     localhost.

Prosz� zwr�ci� uwag� na kropk� `.' ko�cz�c� pe�ne nazwy domen, w przeciwie�stwie do omawianego wcze�niej pliku named.boot. Niekt�rzy wol� rozpoczyna� ka�dy plik strefy dyrektyw� $ORIGIN lecz nie jest to konieczne. Pochodzenie (miejsce w hierarchi DNS, do kt�rego przynale�y) pliku strefy jest okre�lone w kolumnie `domain' w pliku named.boot, w tym przypadku jest to 0.0.127.in-addr.arpa.

Powy�szy plik strefy zawiera trzy rekordy (RR): SOA RR, NS RR i PTR RR. SOA jest skr�tem Start Of Authority. Znak `@' jest znakiem specjalnym okre�laj�cym pochodzenie, a poniewa� kolumna `domain' odpowiadaj�ca temu plikowi m�wi 0.0.127.in-addr.arpa, dlatego pierwszy wiersz tak naprawd� ma posta�:

  0.0.127.IN-ADDR.ARPA. IN      SOA ...

NS to rekord serwera nazw. Wskazuje komputer, kt�ry jest serwerem nazw dla tej domeny. I na koniec rekord PTR m�wi, �e 1 (w pe�nej formie 1.0.0.127.in-addr-arpa, tzn. 127.0.0.1) nosi nazw� localhost.

Rekord SOA stanowi nag��wek wszystkich plik�w stref, w ka�dym z plik�w powinien znajdowa� si� dok�adnie jeden rekord SOA, powinien to by� pierwszy rekord w pliku. Opisuje on stref�, z kt�rej pochodzi (komputer o nazwie linux.bogus), kto jest odpowiedzialny za jej zawarto�� (hostmaster@linux.bogus), numer wersji pliku strefy (serial 1) oraz inne informacje, maj�ce znaczenie dla pracy serwer�w drugorz�dnych. Je�li dla p�l refresh, retry, expire i minimum b�dziesz u�ywa� warto�ci jakie wyst�puj� w tym dokumencie wszystko powinno dzia�a� poprawnie.

Rekord NS okre�lna kto serwuje informacje DNS na temat 0.0.127.in-addr.arpa, jest to ns.linux.bogus. Rekord PTR m�wi nam, �e 1.0.0.127.in-addr.arpa (aka 127.0.0.1) jest znany pod nazw� localhost.

Teraz zrestartuj proces named (poleceniem ndc restart) i sprawd� poczynione zmiany programem nslookup:

$ nslookup

Default Server:  localhost
Address:  127.0.0.1

> 127.0.0.1
Server:  localhost
Address:  127.0.0.1

Name:    localhost
Address:  127.0.0.1

jak wida� uda�o si� pobra� informacje o localhost z komputera 127.0.0.1, to dobrze. Teraz nasze podstawowe zadanie, domena linux.bogus, dodaj do pliku named.boot wiersz definiuj�cy now� domen�:


primary               linux.bogus                     pz/linux.bogus

Zwr�� uwag� na powtarz�j�cy sie brak znaku `.' ko�cz�cych nazwy domen w pliku named.boot.

In the linux.bogus zone file we'll put some totally bogus data:


;
; Plik strefy linux.bogus
;
; Obowi�zkowy zestaw minimum potrzebny do prawid�owej definicje domeny
;
@       IN      SOA     linux.bogus. hostmaster.linux.bogus. (
                        199511301       ; serial, todays date + todays serial #
                        28800           ; refresh, seconds
                        7200            ; retry, seconds
                        3600000         ; expire, seconds
                        86400 )         ; minimum, seconds
                NS      ns.linux.bogus.
                NS      ns.friend.bogus.
                MX      10 mail.linux.bogus   ; Primary Mail Exchanger
                MX      20 mail.friend.bogus. ; Secondary Mail Exchanger

localhost       A       127.0.0.1
ns              A       127.0.0.2
mail            A       127.0.0.4

Nale�y zr�ci� uwag� na dwie rzeczy dotycz�ce rekordu SOA. ns.linux.bogus musi byc rekordem RR typu A, czyli nazw� komputera, kt�ra posiada przydzielony numer IP. Niedopuszczalne jest, aby nazwa uzywana w rekordzie SOA byla rekordem tymu CNAME. Sam komputer nie musi nosic nazwy 'ns', mo�e to byc dowolna poprawna nazwa. hostamster.linux.bogus nale�y odczyta� jako hostmaster@linux.bogus, musi to byc adres (lub alias do) osoby (lub os�b) opiekuj�cych si� DNSem dla tej domeny (i czytajacyh regularnie t� poczt�). Wszelka korespondencja dotycz�ca tej domeny b�dzie wysy�ana na ten adres, mo�e to by� dowolny adres e-mail, cho� k�zdy spodziewa si�, �e adres 'hostmaster' b�dzie r�wnie� adresem kontaktowym domeny.

W powy�szym pliku znalaz� si� rekord RR nowego typu, a mianowicie rekord MX, inaczej rekord Mail eXchanger. Dostarcza on systemowi pocztowemu informacji, dok�d wysy�a� poczt� adresowan� kto�@linux.bogus, w tym przypadku do mail.linux.bogud lub mail.friend.bogus. Liczba poprzedzaj�ca nazw� komputera oznacza priorytet rekordu. System pocztowy powinien korzysta� w pierwszej kolejno�ci z rekord�w o najmniejszym priorytecie (w naszym przypadku 10). Je�li nie uda si� dostarczy� poczty na ten adres, nale�y spr�bowa� innego adresu, o wy�szym priorytecie. W naszym przypadku by�by to mail.friend.bogus, kt�ry posiada priorytet 20.

Teraz trzeba zrestartowac program named wydaj�c polecenie ndc restart. Rezultaty naszej pracy mozemy sprawdzi� programem nslookup.

$ nslookup
> set q=any
> linux.bogus
Server:  localhost
Address:  127.0.0.1

linux.bogus
        origin = linux.bogus
        mail addr = hostmaster.linux.bogus
        serial = 199511301
        refresh = 28800 (8 hours)
        retry   = 7200 (2 hours)
        expire  = 604800 (7 days)
        minimum ttl = 86400 (1 day)
linux.bogus     nameserver = ns.linux.bogus
linux.bogus     nameserver = ns.friend.bogus
linux.bogus     preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
linux.bogus     preference = 20, mail exchanger = mail.friend.bogus
linux.bogus     nameserver = ns.linux.bogus
linux.bogus     nameserver = ns.friend.bogus
ns.linux.bogus  internet address = 127.0.0.2
mail.linux.bogus        internet address = 127.0.0.4

Przypatruj�c si� dok�adnie widzimy, �e pope�nili�my b��d. Wiersz

  linux.bogus     preference = 10, mail exchanger = mail.linux.bogus.linux.bogus

jest niepoprawny. powinien wygl�da� nast�puj�co:

  linux.bogus     preference = 10, mail exchanger = mail.linux.bogus

Specjalnie pope�ni�em b��d, aby�cie mogli si� na nim uczy� :-). Przygl�daj�c si� plikowi �r�d�owemu zauwa�amy, �e w wierszu

@               MX      10 mail.linux.bogus     ; Primary Mail Exchanger
brakuje kropki. Lub inaczej m�wia� ma zbyt wiele cz�on�w 'linux.bogus'. Gdy nazwa komputera wyst�puj�ca w pliku �r�d�owym strefy nie ko�czy si� kropk�, program na koniec dokleja 'origin' (pochodzenie, domen� definiowan� przez ten plik �r�d�owy). Dlatego nazwy komputer�w nale�y podawa� w spos�b pe�ny, pilnuj�c ko�cowej kropki


@               MX      10 mail.linux.bogus.    ; Primary Mail Exchanger

lub uproszczony


@               MX      10 mail                 ; Primary Mail Exchanger

Oba sposoby s� poprawne. Osobi�cie preferuje drug� metod�, mniej pisania. W pliku strefy domena powinna by� podana w ca�o�ci, razem z ko�cz�c� j� kropk� (.) lub w ogole nie powinna by� podawana. W takim przypadku domy�lnie przyjmuje si� tzw. origin. Musz� podkre�li�, �e nazwy domen w pliku named.boot nie powinny si� ko�czy� kropk�. Nie macie poj�cia, jak wiele razy nadmierna liczba kropek, lub ich brak spowodowa�a zamieszanie i og�upi�a mn�stwo ludzi.

Skoro ju� powiedzi��em co mia��m do powiedzenia, poni�ej przedstawiam nowy �r�d�owy plik strefy z nowymi, dodatkowymi informacjami:


;
; Plik strefy dla linux.bogus
;
; Obowi�zkowy zestaw minimum potrzebny do prawid�owej definicje domeny
;
@       IN      SOA     linux.bogus. hostmaster.linux.bogus. (
                        199511301       ; serial, todays date + todays serial #
                        28800           ; refresh, seconds
                        7200            ; retry, seconds
                        604800          ; expire, seconds
                        86400 )         ; minimum, seconds

                NS      ns              ; Inet Address of name server
                NS      ns.friend.bogus.
                MX      10 mail         ; Primary Mail Exchanger
                MX      20 mail.friend.bogus. ; Secondary Mail Exchanger

localhost       A       127.0.0.1
ns              A       127.0.0.2
mail            A       127.0.0.4
;
; Extras
;
@               TXT     "Linux.Bogus, your DNS consultants"

ns              MX      10 mail
                MX      20 mail.friend.bogus.
                HINFO   "Pentium" "Linux 1.2"
                TXT     "RMS"
richard         CNAME   ns
www             CNAME   ns

donald          A       127.0.0.3
                MX      10 mail
                MX      20 mail.friend.bogus.
                HINFO   "i486"  "Linux 1.2"
                TXT     "DEK"

mail            MX      10 mail
                MX      20 mail.friend.bogus.
                HINFO   "386sx" "Linux 1.0.9"

ftp             A       127.0.0.5
                MX      10 mail
                MX      20 mail.friend.bogus.
                HINFO   "P6" "Linux 1.3.59"

Mogliby�cie chcie� przesuj�c pierwsze trzy rekordy A, tak aby s�siadowa�y z innymi rekordami tego typu, zamiast siedzie� na pocz�tku listy.

W powy�szym przyk�adzie pojawi�y si� rekordy nowego typu: HINFO (Host INFOrmation) sk�ada si� z dw�ch cz�sci, dobrym zwyczajem jest umiesczenie obu w cudzys�owach. Pierwsza cz�� okre�la hardware, lub procesor komputera, druga oprogramowanie lub pracuj�cy na nim system operacyjny. Komputer ns to Pentium, pracuj�ce pod Linuxem 1.2. Rekord TXT mo�e zawiera� dowolny tekst. Mo�na go wykorzystywa� do r�nych cel�w. CNAME (Cannonical NAME) to spos�b na nadanie wielu nazw jednemu komputerowi. Tak wi�c richard i www s� aliasami komputera ns. To wa�ne aby pami�ta�, �e rekordy A, MX, CNAME i SOA nigdy nie powinny wskazywa� na rekord CNAME. Zawsze powinny wsazywa� na rekord A. Dlatego ta forma jest niepoprawna


foobar  CNAME   richard                 ; NO!

i powinna zosta� zast�piona przez


foobar  CNAME   ns                      ; Yes!

R�wnie wa�ne jest pami�tanie, �e rekord CNAME nie jest poprawn� nazw�, kt�r� mo�na stosowa� w adresach e-mail. Nawi�zuj�c do poprzedniego przyk�adu, adres wmail webmaster@www.linux.bogus nie jest niepoprawny. Mo�esz oczekiwa�, �e ca�kiem spora liczba administrator�w pocztowych Stamt�d b�dzie wymaga�a popdorz�dkowania si� tej regule pomimo, �e w twoim przypadku wszystko mo�e dzia�a� poprawnie. Sposobem na unikni�cie k�opot�w jest stosowanie rekord�w A (i by� mo�e r�wnie� innych, np. rekord�w MX):


www     A       127.0.0.2

Paul Vixie, najwi�kszy z wizard�w programu named, sugeruje aby nie korzysta� z rekord�w CNAME. Dlatego bardzo powa�nie zastan�w si� nad ograniczeniem uzywania rekord�w CNAME.

Za�aduj now� wersj� bazy wydaj�c polecenie ndc reload, wymusi ona na procesie ponowne odczytanie plik�w konfiguracyjnych.

$ nslookup
Default Server:  localhost
Address:  127.0.0.1

> ls -d linux.bogus

Powy�sze polecenie spowoduje przedstawienie wszystkich rekord�w.

[localhost]
 linux.bogus.                   SOA   linux.bogus hostmaster.linux.bogus. (1995
11301 28800 7200 604800 86400)
 linux.bogus.                   NS    ns.linux.bogus
 linux.bogus.                   NS    ns.friend.bogus
 linux.bogus.                   MX    10   mail.linux.bogus
 linux.bogus.                   MX    20   mail.friend.bogus
 linux.bogus.                   TXT   "Linux.Bogus, your DNS consultants"
 localhost                      A     127.0.0.1
 mail                           A     127.0.0.4
 mail                           MX    10   mail.linux.bogus
 mail                           MX    20   mail.friend.bogus
 mail                           HINFO 386sx       Linux 1.0.9
 donald                         A     127.0.0.3
 donald                         MX    10   mail.linux.bogus
 donald                         MX    20   mail.friend.bogus
 donald                         HINFO i486        Linux 1.2
 donald                         TXT   "DEK"
 www                            CNAME ns.linux.bogus
 richard                        CNAME ns.linux.bogus
 ftp                            A     127.0.0.5
 ftp                            MX    10   mail.linux.bogus
 ftp                            MX    20   mail.friend.bogus
 ftp                            HINFO P6          Linux 1.3.59
 ns                             A     127.0.0.2
 ns                             MX    10   mail.linux.bogus
 ns                             MX    20   mail.friend.bogus
 ns                             HINFO Pentium     Linux 1.2
 ns                             TXT   "RMS"
 linux.bogus.                   SOA   linux.bogus hostmaster.linux.bogus. (1995
11301 28800 7200 604800 86400)

Jest dobrze. Zobaczmy jak� odpowied� otrymamy pytaj�c si� wy��cznie o komputer www:

> set q=any
> www.linux.bogus.
Server:  localhost
Address:  127.0.0.1

www.linux.bogus canonical name = ns.linux.bogus

... Innymi s�owy, prawdziwa nazwa komputera www.linux.bogus to ns.linux.bogus.

linux.bogus     nameserver = ns.linux.bogus
linux.bogus     nameserver = ns.friend.bogus
ns.linux.bogus  internet address = 127.0.0.2

a ns.linux.bogus ma adres 127.0.0.2. To r�wnie� wygl�da poprawnie.

4.3 Co dalej.

Oczywi�cie powy�sza domena jest nierzeczywista, jak r�wnie� adresy IP podane w przyk�adzie, co mo�e utrudnia� zrozumienie. Przyk�ad przwdziwej domeny znjdziecie w nast�pnym rozdziale.

5. Przyk�ad, prawdziwa domena.

Sk�d wzi�� pliki prawdziwej domeny.

UZytkownicy zwr�cili mi uwag�, �e powinienem do��czy� przyk�ad plik�w definiuj�cych prawdziw� domene, poniewa� r�nica pomi�dzy domen� przyk�adow� i prawdziw� nie by�a do o�ca jasna.

Jedna uwaga dotycz�ca tego przyk�adu: nie wprowadzajcie tych plik�w do swoich serwer�w DNS! Przedstawione pliki s�u�� jedynie jako punkt odniesienia. Je�li chcesz eksperymentowa�, wykorzystaj domen� przyk�adow� linux.bogus. Korzystam z tego przyk�adau za pozwoleniem Davida Bullocka z LAND-5. Prezentowane informacje by�y aktualne 14 sierpnia 1196 roku, i mog� si� r�zni� od aktualnych. Nale�y ci�gle pami�ta� o uwagach na temat wiod�cych odst�p�w w plikach przyk�adowych.

5.1 /etc/named.boto (lub /var/named/named.boot)

Oto dwa wiersze potrzebne d ozdefiniowania dw�ch stref (domen) odwrotnych.: siec 127.0.0 oraz siec LAND-5 o numerach 206.6.177. Oraz wiersz deklaruj�cy, �e nasz serwer jest serwerem podstawowym domeny land-5.com. Prosz� zauwa�yc, �e zamiast umieszczania plik�w z danymi w sugerowanym wcze�cniej przeze mnie katalogu pz, tutaj pliki s� umieszczane w katalogu zone.


;  Boot file for LAND-5 name server
;
directory /var/named
;
; type          domain                          source file or host
cache           .                               root.cache
primary         0.0.127.in-addr.arpa            zone/127.0.0
primary         177.6.206.in-addr.arpa          zone/206.6.177
primary         land-5.com                      zone/land-5.com

5.2 /var/named/root.cache

Prosz� pami�ta�, �e ten plik si� zmienia, i ten przedstawiony tutaj jest ju� stary. Lepiej skorzystaj z tego, genrowanego programem dig.


; <<>> DiG 2.1 <<>> 
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 0, Addit: 9
;; QUESTIONS:
;;      ., type = NS, class = IN

;; ANSWERS:
 .       518357  NS      H.ROOT-SERVERS.NET.
 .       518357  NS      B.ROOT-SERVERS.NET.
 .       518357  NS      C.ROOT-SERVERS.NET.
 .       518357  NS      D.ROOT-SERVERS.NET.
 .       518357  NS      E.ROOT-SERVERS.NET.
 .       518357  NS      I.ROOT-SERVERS.NET.
 .       518357  NS      F.ROOT-SERVERS.NET.
 .       518357  NS      G.ROOT-SERVERS.NET.
 .       518357  NS      A.ROOT-SERVERS.NET.

;; ADDITIONAL RECORDS:
H.ROOT-SERVERS.NET.     165593  A       128.63.2.53
B.ROOT-SERVERS.NET.     165593  A       128.9.0.107
C.ROOT-SERVERS.NET.     222766  A       192.33.4.12
D.ROOT-SERVERS.NET.     165593  A       128.8.10.90
E.ROOT-SERVERS.NET.     165593  A       192.203.230.10
I.ROOT-SERVERS.NET.     165593  A       192.36.148.17
F.ROOT-SERVERS.NET.     299616  A       192.5.5.241
G.ROOT-SERVERS.NET.     165593  A       192.112.36.4
A.ROOT-SERVERS.NET.     165593  A       198.41.0.4

;; Total query time: 250 msec
;; FROM: land-5 to SERVER: default -- 127.0.0.1
;; WHEN: Fri Sep 20 10:11:22 1996
;; MSG SIZE  sent: 17  rcvd: 312

5.3 /var/named/zone/127.0.0

Tylko podstawowe rekordy, obowi�zkowo rekord SOA, rekord odwzoruj�cy 127.0.0.1 na localhost. Oba s� konieczne. Nic wi�cej w tym pliku nie jest potrzebne.PRzwdopodobnie nigdy ju� nie powinny by�modyfikowane, cgyba, �e zmieni si� adres serwera DNS lub adres email uzywany w rekordzie SOA.


@               IN      SOA     land-5.com. root.land-5.com. (
                                199609203       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
                        NS      land-5.com.
        
1                       PTR     localhost.

5.4 /var/named/zone/land-5.com

Tutaj mo�emy zobaczy� obowi�zkowy rekord SOA, potrzebne rekordy NS. Widzimy, �e drugorz�dny serwer DNS to ns1.psi.net. Jest tak, jak by� powinno, zawsze musi by� drugi, zapasowy serwer DNS umieszczony poza twoj� sieci�. Widzimy r�wnie�, �e komputergem g��wnym jest land-5, serwuj�cy r�zne us�ugi do kt�rych kieruj� odpowiednie rekorddy CNAME (alternatywa jest u�ywanie rekord�w A).

Patrz�c na rekord SOA widzimy, �e ta strefa(domena) dns pochodzi z komutera land-5.com. W sprawach zwi�zanyc hz t� domen� nale�y kontaktowa� si� z root@land-5.com. hostmaster to inny, cz�sto u�ywany w takich przypadkach adres e-mail. Numer seryjny w powszechnie przyj�tym formacie rrrrmmdd z dodan� liczb� zmian danego dnia wskazuje, �e jest to prawdopodobnie sz�sta wersja tego pliku w dniu 20. wrze�nia 1996. Pami�taj, �e numer seryjny musi monotonicznie rosn��. W tym przypadku pozostawiono jedna cyfr� jalo kicznik zmian jednego dnia. Po wykonaniu dziewi�ciu poprawek, nast�pn� mozna wykonac dopiero nast�pnego dnia. Dlatego rozwa� stosowanie dw�ch pozycji do oznaczania liczby modyfikacji jednego dnia.


@       IN      SOA     land-5.com. root.land-5.com. (
                        199609206       ; serial, todays date + todays serial #
                        10800           ; refresh, seconds
                        7200            ; retry, seconds
                        10800           ; expire, seconds
                        86400 )         ; minimum, seconds
                NS      land-5.com.
                NS      ns2.psi.net.
                MX      10 land-5.com.  ; Primary Mail Exchanger

localhost       A       127.0.0.1

router          A       206.6.177.1
        
land-5.com.     A       206.6.177.2
ns              CNAME   land-5.com.
ftp             CNAME   land-5.com.
www             CNAME   land-5.com.
mail            CNAME   land-5.com.
news            CNAME   land-5.com.

funn            A       206.6.177.3
illusions       CNAME   funn.land-5.com.
@               TXT     "LAND-5 Corporation"

;
;       Workstations
;
ws_177200       A       206.6.177.200
                MX      10 land-5.com.   ; Primary Mail Host
ws_177201       A       206.6.177.201
                MX      10 land-5.com.   ; Primary Mail Host
ws_177202       A       206.6.177.202
                MX      10 land-5.com.   ; Primary Mail Host
ws_177203       A       206.6.177.203
                MX      10 land-5.com.   ; Primary Mail Host
ws_177204       A       206.6.177.204
                MX      10 land-5.com.   ; Primary Mail Host
ws_177205       A       206.6.177.205
                MX      10 land-5.com.   ; Primary Mail Host
; {Many repetitive definitions deleted - SNIP}
ws_177250       A       206.6.177.250
                MX      10 land-5.com.   ; Primary Mail Host
ws_177251       A       206.6.177.251
                MX      10 land-5.com.   ; Primary Mail Host
ws_177252       A       206.6.177.252
                MX      10 land-5.com.   ; Primary Mail Host
ws_177253       A       206.6.177.253
                MX      10 land-5.com.   ; Primary Mail Host
ws_177254       A       206.6.177.254
                MX      10 land-5.com.   ; Primary Mail Host

Mo�na jeszcze zwr�ci� uwag� na to, �e stacje robocze nie posiadaj� indywidualnych nazw, lecz raczej prefix po kt�rym nast�puje dwucz�onowy fragmnet adresu IP. Korzystanie z takiej konwencji mo�e znacznie u�atwi� opiek� nad DNSem, lecz nie jest przez wszystkich najmilej widziane.

5.5 /var/named/zone/206.6.177

Komentarz p�niej.


@               IN      SOA     land-5.com. root.land-5.com. (
                                199609206       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
                        NS      land-5.com.
                        NS      ns2.psi.net.
;
;       Servers
;
1       PTR     router.land-5.com.
2       PTR     land-5.com.
3       PTR     funn.land-5.com.
;
;       Workstations
;
200     PTR     ws_177200.land-5.com.
201     PTR     ws_177201.land-5.com.
202     PTR     ws_177202.land-5.com.
203     PTR     ws_177203.land-5.com.
204     PTR     ws_177204.land-5.com.
205     PTR     ws_177205.land-5.com.
; {Many repetitive definitions deleted - SNIP}
250     PTR     ws_177250.land-5.com.
251     PTR     ws_177251.land-5.com.
252     PTR     ws_177252.land-5.com.
253     PTR     ws_177253.land-5.com.
254     PTR     ws_177254.land-5.com.

definicja domeny odwrotnej powoduje zwykle najwi�cej k�opot�w. S�u�y do znajdywania nazwy komputera, znaj�c jego adres IP. Przyk�ad: Posiadasz serwer IRC i przyjmujesz po��czenia od klient�w. Jednak�e jako serwer Norweski chcesz jedynie zezwala� na po��czenia komputer�w norweskich lub skandynawskich. Po nawi�zaniu po��czenia procedury biblioteki C s� w stanie ustali� spod jakiego adresu IP zosta�o nawi�zane nowe po��czenie, poniewa� adres IP zdalnego komputera jest przekazywany w pakietach danych przesy�anych sieci�. Teraz mo�esz skorzysta� z funkcji gethostbyaddr, kt�ra znajduje nazw� odpowiadaj�c� podanemu adresowi IP. Gethostbyaddr zapyta serwer DNS, kt�ry z kolei dokona ca�ego wyszukania. Zak�adaj�c, �e klient po��czy� si� z komputera ws_177200.land-5.com, adres IP przekazany przez proceduty biblioteki lib C do serwera DNS b�dzie brzmia�: 206.6.177.200. Aby dowiedzie� si� jaka nazwa odpowiada temu adresowi musimy znale�� warto�� rekordu 100.177.6.206.in-addr.arpa. Serwer DNS wpierw znajdzei serwery domane arpa, in-addr.arpa, 206.in-addr.arpa, 6.206.in-addr.arpa dochodz�c do serwera 177.6.206.in-addr.arpa w land-5. Ostatecznie otrzyma stamt�d odpowied�, �e dla 200.177.6.206.in-addr.arpa istnieje rekord PTR o warto�ci ws_177200.land-5.com, co znaczy, �e adresowi 206.6.177.200 odpowiada nazwa ws_177200.land-5.com. Podobnie jak w przypadku wyja�nien odszukiwania adresu dla nazwy prep.ai.mit.edu, powu�sze wyja�nienie troch� mija si� z rzeczywisto�ci�.

Powracaj�c do przyk�adu IRC. Serwer IRC akceptuje po��czenia pochodz�ce z kraj�w skandynawskich, tzn. *.no, *.se, *.dk. Nazwa ws_177200.land-5.com nie pasuje do �adnego z powy�szych wzorc�w i serwer odm�wi po��czenia. Gdyby nie istnia�o odwzorowanie odwrotne adresu 206.6.177.200 poprzez stref� in-addr.arpa, wtedy serwer nie mia�by mo�liwo�ci znalezienia nazwy ��cz�cego si� komputera a por�wnywanie adres�w ip z wzorcami domen, nigdy nie przynosi�oby poprawnych rezultat�w.

Niekt�rzy twierdz�, �� odwrotne odwzorowanie adres�w IP jest wa�ne jedynie dla serwer�w, lub nie jest wa�ne w og�le. Nie do ko�ca: wiele serwer�w ftp, news, irc, a nawet niekt�re serwery http (WWW) nie zezwol� na po��czenia z komputer�w, kt�rych adresy nie s� zarejestrowane w domenie odwrotnej. Dlatego faktem jest, �e rejestracja w domenie odwrotnej jest konieczna.

6. Utrzymanie i konserwacja

Utrzymywanie w pracy ci�g�ej.

Pr�cz pilnowania aby proces named byl zawsze katywny pozostaje jedynie pilnowanie, aby plik root.cache by� zawsze aktualny. Najprostsz� metod� jest skorzystanie z programu dig, wpierw nale�y go uruchomi� bez �adnych argument�ww, otrzymamy plik root.cache uzywany przez nasz serwer. Nast�pnie nale�y o to samo zapyta� jeden z g��wnych serwer�w DNS (root servers) wydaj�c polecenie dig @rootserver. Zauwa�ysz, �e wynik tego polecenia bardzo przypomina plik root.cache z dok�adno�ci� do kilku liczb. Te liczby nie mog� uczyni� nam �adnej szkody. Zapisz wynik polecenia do pliku (dig @e.root-servers.net >root.cache.new), a nast�pnie zast�p nim stary plik root.cache.

Pami�taj, aby po zamianie pliku root.cache zrestartowa� proces named.

Al Longyear przys�a� mi poni�szy skrypt, kt�ry mo�na uruchami� i automatycznie uaktualniac plik root.cache. Zainstaluj go w crontabie i zpomnij. Niniejszy skrypt zak�ada, �e na twoim komputerze dzia�a system poczty elektornicznej i istnieje alias pocztowy hostmaster. Przed uruchomieniem powinienes go dostosowa� so swoich ustawien.


#!/bin/sh
# polish translation piotr.pogorzelski@ippt.gov.pl 1997
# Uaktualnianie informacji o g��wnych serwerach DNS.
# Ten skrypt powinien byc uruchamiany automatycznie raz w miesiacu
# przez program cron.
#
(
 echo "To: hostmaster <hostmaster>"
 echo "From: system <root>"
 echo "Subject: Automatyczne uaktualnienie pliku named.cache"
 echo

 export PATH=/sbin:/usr/sbin:/bin:/usr/bin:
 cd /var/named

 dig  @rs.internic.net . ns >named.cache.new

 echo "Plik named.cache zostal uwaktualniony i zawiera teraz nast�puj�ce informacje:"
 echo
 cat named.boot.new

 chown root.root named.cache.new
 chmod 444 named.cache.new
 rm -f named.cache.old
 mv named.cache named.cache.old
 mv named.cache.new named.cache
 ndc restart
 echo
 echo "Program serwera DNS zosta� uruchomiony na nowo, aby zapewni� korzystanie z nowych informacji."
"
 echo "Stary plik zosta� zachowany jako named.cache.old"
/var/named/named.cache.old."
) 2>&1 | /usr/lib/sendmail -t
exit 0

Niekt�rzy z was mog�i zauwa�y�, �e root.cahce jest r�wnie� dost�pny w Internicu przez ftp. Prosz� nie korzystajcie z ftp aby uaktualni� plik root.cache, przedstawiona powy�ej metoda jest bardziej przyjazna sieci.

7. Automatyczna konfiguracja po��cze� modemowych.

W tym rozdziale wyja�ni� w jaki spos�b skonfigurowa�em sw�j system, aby automatyzowa� wszsytkei zadania. Moj spos�b rozwi�zania problemu mo�e zupe�nie nie nadawa� si� do twojej konfiguracji, lecz zawsze mo�esz skorzysta� z pomys��w. Poza tym ja korzystam z ppp, wiele os�b u�ywa slip lub cslip, tak wi�c niemal wszystkie szczeg�y twojej konfiguracji mog� r�ni� si� od mojej. Lecz program dip u�ywany do obs�ugi po��cze� slip powinien by� w stanie zrealizowa� wiele pomys��w, z kt�rych korzystam.

Zwykle, gdy nie jestem przy��czony do sieci, moj plik resolv.conf zawiera po prostu wiersz

domain uio.no

Taka konfiguracja zapewnia, �e nie musz� czeka� na gdy procedury biblioteki odpowiedzialne za rozwi�zywanie nazw bed� staraly si� nawiazac po��czenia z zewn�trznymi serwerami DNS. Lecz gdy jestem po��czony chce posiada� uruchomiony proces named, a plik resolv.conf powinien zawierac informacje niezb�dne do poprawnej pracy DNSu. Rozwi�za�em ten problem tworz�c dwa wzorce pliku resolv.conf, resolv.conf.local i resolv.conf.connected. Ten ostatni wygl�da jak opisywany wcze�niej resolv.conf.

Aby po��czy� si� z sieci� uruchamiam skrypt o nazwie 'ppp-on':


#!/bin/sh
echo calling...
pppd

pakiet pppd posiada plik o nazwie options, w kt�rym deklaruje si� szczeg�ly dotycz�ce sposobu nawi�zywania po��cze�. Tu� po zestawieniu po��czenia PPP, pppd uruchamia skrypt o nazwie ip-up (jest to dok�adnie opisane na stronie podr�cznika programu pppd). Oto fragment powy�szego skryptu:


#!/bin/sh
interface="$1"
device="$2"
speed="$3"
myip="$4"
upip="$5"
 ...
cp -v /etc/resolv.conf.connected /etc/resolv.conf
 ...
/usr/sbin/named

To znaczy uruchom named. Kiedy PPP jest roz��czanie, pppd uruchamia skrypt ip-down:


#!/bin/sh
cp /etc/resolv.conf.local /etc/resolv.conf
read namedpid </var/run/named.pid
kill $namedpid

W ten spos�b named jest uruchamiany po nawiazaniu po��czenia i zabijany po jego roz��czeniu.

Niekt�re programy, irc lub talk, przyjmuj� zbyt wiele za�o�e� dlatego aby talk i udogodnienie dcc w irc dzia�a�y poprawnie trzeba r�wnie� poprawi� plik hosts. Do swojego skryptu if-up doda�em polecenia:


cp /etc/hosts.ppp /etc/hosts
echo $myip      roke >>/etc/hosts

hosts.ppp zawiera po prostu


127.0.0.1       localhost

,a polecenie echo dodaje numer ip, ktory otrzymalem dla mojego komputera (roke). Zamiast tego powiniene� u�y� nazwy komputera, kt�r� sam u�ywasz. Mo�esz j� pozna�wykonuj�c polecenie hostname.

Uruchamianie demona named gdy nie jest si� przy��czonym do sieci prawdopodobnie nie jest najlepszym rozwiazaniem. Dlatego, �e named b�dzie stara� si� wys�a� zapytania, a poniewa� posiada dlugi czas oczekiwania, ka�dy program, kt�ry b�dzie pr�bowa� rozwi�za� nazw� korzystaj�c z d�u b�dzie musia� r�wnie d�ugo oczekiwa� na odpowied�, kt�ra i tak nigdy nie nadejdzie. Je�li przy��czasz si� do Internetu przez ��cze dzwonione, powiniene� uruchamiac named tuz po zestawieniu ��cza i zabija� go w momencie roz��czenia. Dodatkowe wskaz�wki w tym temacie znajdziesz w rozdziale FAQ.

Niekt�rzy z pracujacych na wolnych ��czach lubi� korzysta� z dyrektywy forwarders. Je�li tw�j dostawca internetu posiada serwery DNS o adresach 1.2.3.4 i 1.2.3.5, mo�esz do pliku named.boot doda� wiersz


forwarders 1.2.3.4 1.2.3.5

Plik named.cache powinien pozosta� pusty. W ten spos�b zmiejszysz ruch generowany przez tw�j komputer i prawdopodobnie wszystko zacznie dzia�a� szybciej. Jest to szczeg�lnie wa�ne, gdy p�acisz za przes�ane bajty. Dodatkowa zaleta tego rozwi�zania polega na tym, �e pozwala pozby� si� obowi�zku opieki i nadzorowania oprogramowania DNS, poniewa� pusty plik named.cache nie wymaga od�wierzania.

8. FAQ

W tym rozdziale przedstawi� kilka z najcz�ciej zadawanych pyta� dotycz�cych DNSu i tego dokumentu. Pr�cz pyta� b�d� r�wnie� odpowiedzi, przeczytaj dok�adnie ten rozdzia�, zanim zdecydujesz si� wys�a� do mnie list.

  1. Jak korzysta� z DNS w sieci chronionej firewallem?

    Kilka wskaz�wek: `forwarders',`slave', zapozna�si� z literatur� prezentowan� na ko�cu.

  2. W jaki spos�b zmusic DNS do rotacyjnego przekazywania adresu z puli adres�w danej us�ugi, powiedzmy www.bardzo.zajety.serwer, w celu osi�gni�cia r�wnomiernego roz�o�enia obci��enia na kilka serwer�w.

    Nazwa www.bardzo.zaj�ty.serwer musi posiada� kilka rekord�w A. bind 4.9.3 i nowszy przekazuje kolejne adresy z puli. Takie rozwi�zanie nie zadzia�a ze starszymi wersjami binda.

  3. Chc� uruchomi� DNS w zakmni�tej sieci Intranetu. Co mam zrobi�?

    Pomi� root.cahce, zajmij si� jedynie plikami stref/domen. To znaczy, ze niu musisz ju� pilnowa� aby root.cache by� aktualny.

  4. W moim systemie nie ma programu ndc. Co mam zrobi�?

    To znaczy, �e w twoim komputerze jest zainstalowany stary, troch� przestarza�y program bind. Je�li bezopiecze�stwo sieci jest dla ciebie wa�ne, natychmiast zainstaluj najnowsz� wersj� binda. Je�li nie, mo�esz pracowa� dalej tak jak jest. Tylko zamiast uruchamiac ndc start muszisz wyda� poleceni named. ndc reload to named.reload, a ndc restart to named.restart. Wi�kszo�� tych program�w znajduje si� w /usr/sbin.

  5. Jak soknfigurowa� drugorz�dny serwer domeny?

    Je��i serwer podstawowy posiada adres 127.0.0.1, to do pliku named.boot musisz dodac wiersz:


      secondary     linux.bogus             127.0.0.1       sz/linux.bogus
      
    

  6. Chcia�bym aby named dzia�a� nawet wtedy, gdy nie ejstem przy��czony do internetu.

    Ian Clark przes�a� mi nast�puj�c� wiadomo��, w kt�rej wyja�nia jak to zrobi�:

    Moj named dzia�a na komputerze. ktory robi 'Masquerade'. Posiadam dwa
    pliki root.cache, jeden root.cache.real zawieraj�cy prawdziwe adresy
    serwer�w g��wnych i drugi root.cache.fake zawieraj�cy ...
    
    --------------
    ; root.cache.fake
    ; this file contains no information
    --------------
    
    Po roz��czeniu kopiuje root.cache.fake na root.cache i restartuje
    named.
    
    Po pod��czeniu, kopiuje root.cache.real na root.cache i restartuje
    named.
    
    Jest to robione automatycznie w skryptach, odpowiednio ip-down i
    ip-up.
    
    Przy pierwszym zapytaniu w trybie off-line, serwer nie posiada
    wszystkich niezb�dnych informacji i raportuje t ow syslogu, ale jako�
    mog� z tym �y�:
    
    Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
    
    U mnie ten schemat dzia�a poprwnie.Mog� korzysta� z nameserwera na
    komputerach lokalnych bez dodatkowych czas�w oczekiwania na po��czenie
    z nieosi�galnymi serwerami zewn�trzymi w trybie off-line i poprawnie
    dzia�aj�cym DNSem w trybie on-line.
    

  7. Gdzie serwer podr�czny przechowuje zgromadzone w czasie pracy informacje? Czy jest jaka� metoda sterowania rozmiarem tych zasob�w?

    Wszelkie po�rednie informacje s� gromadzone w pami�ci, nigdy nie s� zachowywane na dysku. Za ka�dym razem, kedy named kon�zy prace, inforamacje przechowywane w pami�ci podr�cznej s� gubione. Administrator nie ma �adnej kontroli nad pami�ci� podr�czn�, ani nad jej rozmiarem (najnowsze wersje pozwalaja sterowac rozmiarem pamieci cache [pp]). Mo�esz to naprawic "modyfikuj�c" named. Nie jest to jednak zalecane.

  8. Czy named mi�dzy kolejnymi uruchomieniami zachowuje pami�c podr�czn� na dysku? Czy mog� go do tego zmusic?

    Nie, named nie zachowuje pami�ci podr�cznej na dysk w momencie zako�czenia pracy. To znaczy, �e informacje w pami�c podr�czna musz� by� odtwarzne od pocz�tku po ka�dym zrestartowaniu programu. Mo�esz to naprawic "modyfikuj�c" named. Nie jest to jednak zalecane.

9. Jak zosta� pe�no etatowym administratorem DNSu.

Dokumnetacja i narz�dzia.

Istnieje prwdziwa dokumentacja. Drukowana i OnLine. Aby sta� si� prawdziwym administratorem DNS nale�y przeczyta� kilkana�cie pozycji. Je�li kto� preferuje papier polecam DNS and BIND by C. Liu and P. Albitz from O'Reilly & Associates, Sebastopol, CA, ISBN 0-937175-82-X. Czyta�em, jest doskona�a. Rozdzia� po�wi�cony DNSowi mo�na znale�� w TCP/IP Network Administration, by Craig Hunt from O'Reilly..., ISBN 0-937175-82-X. Dobry administrator DNS (lub jakikolwiek) musi r�wnie� przeczyta� Zen and the Art of Motorcycle Maintenance by Robert M. Prisig :-) Dost�pne jako ISBN 0688052304 oraz inne pozycje.

ONLine dost�pne s� na przyk�ad takie pozycje: http://www.dns.net/dnsrd/, http://www.vix.com/isc/bind.html; FAQ, podr�cznik (BOG; Bind Operations Guide) jak r�wnie� dokumenty opisuj�ce protoko�y i chwyty dotycz�ce DNSu. Wi�kszo�ci z tego nie przeczyta�em, dlatego nie jestem pe�noetatowym administratorem DNS. Z drugiej strony Arnt Gulbrandsen przeczyta� BOG i jest nim zachwycony. Grupa nowinkowa comp.protocols.tcp-ip.domains jest po�wi�cona DNSowi. I na koniec wiele dokument�w RFC dotyczy DNSu. Prawdopodobnie najwa�niejsze z nich to:

RFC 2052

A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location of services (DNS SRV), October 1996

RFC 1918

Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear, Address Allocation for Private Internets, 02/29/1996.

RFC 1912

D. Barr, Common DNS Operational and Configuration Errors, 02/28/1996.

RFC 1713

A. Romao, Tools for DNS debugging, 11/03/1994.

RFC 1712

C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS Encoding of Geographical Location, 11/01/1994.

RFC 1183

R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, New DNS RR Definitions, 10/08/1990.

RFC 1035

P. Mockapetris, Domain names - implementation and specification, 11/01/1987.

RFC 1034

P. Mockapetris, Domain names - concepts and facilities, 11/01/1987.

RFC 1033

M. Lottor, Domain administrators operations guide, 11/01/1987.

RFC 1032

M. Stahl, Domain administrators guide, 11/01/1987.

RFC 974

C. Partridge, Mail routing and the domain system, 01/01/1986.

10. Od t�umacza

Zdaje sobie spraw�, �e niniejsze t�umaczenie zawiera mn�stwo b��d�w. Niestety nie jestem w stanie dok�adnie sprawdzi� ca�ego dokumentu i �wiadomie pozostawiam t� prac� czytelnikowi. B�d� wdzi�czny za wszelkie uwagi na temat tego dokumentu, wytykanie b��d�w, liter�wek, sk�adni i wszelkie inne, kt�re mog� przyczyni� si� do jego ulepszenia.

Wszelkie tego typu uwagi prosz� przesy�a� na adres piotr.pogorzelski@ippt.gov.pl

Inne przet�umaczone dokumenty mo�na znale�� na stronie http://www.jtz.org.pl/. Zapraszamy!.

piotr.pogorzelski@ippt.gov.pl. # # # #

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22