![]() |
|
S�owa kluczowe: DNS, bind, bind-4, bind-8, named, dialup, ppp, slip, isdn, Internet, domain, name, hosts, resolving
(C)opyright 1995 Nicolai Langfeldt. Nie zmienia� bez zachowania praw autorskich. Dokument ten mo�e by� dowolnie rozpowszechniany dot�d, dok�d zostanie zachowana wiadomo�� o prawach autorskich.
Chcia�bym podzi�kowa� Arntowi Gulbrandsenowi, kt�ry przeczyta� szkice tej pracy niezliczon� ilo�� razy i dostarczy� wielu przydatnych sugestii. Chc� te� podzi�kowa� ludziom, kt�rzy wysy�ali mi e-mailem sugestie i uwagi.
Ten dokument nigdy nie b�dzie uko�czony - wysy�aj mi listy o twoich problemach i sukcesach, mo�e to sprawi�, �e HOWTO b�dzie dok�adniejsze. Pieni�dze, komentarze i/lub pytania mo�esz wysy�a� do janl@math.uio.no. Je�eli wy�lesz mi e-mail i b�dziesz ��da� odpowiedzi, upewnij si�, �e adres zwrotny jest poprawny i dzia�aj�cy. Prosz�, przeczytaj sekcj� FAQ przed wys�aniem do mnie listu.
Je�i chcesz przet�umaczy� to HOWTO, zawiadom mnie, abym m�g� �ledzi�, w jakich j�zykach zosta�em opublikowany, mog� te� zawiadamia� ci�, kiedy HOWTO b�dzie uaktualniane.
To HOWTO jest dedykuj� dla Anne Line Norheim Langfeldt. Zreszt� pewnie nigdy tego nie przeczyta, bo nie jest tego rodzaju dziewczyn�.
Czym ten dokument jest, a czym nie.
Dla pocz�tkuj�cych: DNS to System Nazw Domen (Domain Name System). DNS przekszta�ca nazwy maszyn na numery IP, kt�re s� ich adresami, mapuje z nazwy na adres i odwrotnie. To HOWTO opisuje, jak zdefiniowa� takie mapowanie u�ywaj�c systemu Linux. Mapowanie to po prostu zwi�zek jednej rzeczy z drug�, w tym przypadku nazwy maszyny, jak ftp.linux.org i jej adresu IP, 199.249.150.4.
DNS jest dla pocz�tkuj�cych (ciebie ;-)) jednym z najtrudniejszych zagadnie� administracji sieci. To HOWTO wyja�nia par� rzeczy - opisuje jak postawi� prosty serwer nazw DNS, zaczynaj�c z serwerem cache i przechodz�c do ustawiania podstawowego (primary) serwera DNS dla domeny. �eby uzyska� informacj� o bardziej z�o�nonych konfiguracjach, zobacz sekcj� FAQ tego dokumentu. Je�eli i tam nie znajdziesz potrzebnego opisu, bedziesz musia� przeczyta� Prawdziw� Dokumentacj�. Powr�c� do jej sk�adnik�w w ostatnim rodziale.
Zanim zaczniesz, powiniene� tak skonfigurowa� swoj� maszyn�, �eby� m�g� telnetowa�
si� na ni� i z niej, oraz z powodzeniem przeprowadzi� wszystkie rodzaje
po��cze�
z sieci�, a zw�aszcza m�c wykona� telnet 127.0.0.1
i uzyska� po��czenie z w�asnym komputerem (przetestuj to teraz!).
Potrzebne b�d� te� poprawne: /etc/nsswitch.conf
(lub
/etc/host.conf
), /etc/resolv.conf
i /etc/hosts
,
jako punkt startowy, poniewa� nie b�d� wyja�nia� tu ich funkcji.
Je�li nie masz tego wszystkiego ustawionego i dzia�aj�cego, NET-3 HOWTO
i/lub PPP-HOWTO wyja�niaj� jak to ustawi�. Przeczytaj je.
Kiedy m�wi� ,,twoja maszyna'', mam na my�li komputer, na kt�rym chcesz ustawi� DNS, a nie �adn� inn� maszyn�, jak� mo�esz mie�, kt�ra jest zwi�zana z twoj� sieci�.
Przyjmuj�, �e nie jeste� za �adnym rodzajem �ciany ognia (firewall), kt�ra blokuje zapytania (queries) o nazwy. Je�eli jeste�, b�dziesz potrzebowa� specjalnej konfiguracji, przeczytaj sekcj� FAQ.
Serwerem nazw w Unixie jest program nazywany named
.
Jest on cz�ci� pakietu bind, kt�ry jest koordynowana przez Paula Vixie z
Internet Software Consortium. Named
jest za��czony w wi�kszo�ci
dystrybucji Linuxa i zazwyczaj zainstalowany jako /usr/sbin/named
.
Je�eli masz ju� named, mo�esz go prawdopodobnie u�ywa�; je�li nie,
mo�esz wzi�� binaria z jakiego� Linuxowego serwera ftp, lub najnowsze
i najlepsze �r�d�a z
ftp.isc.org/isc/bind/src/cur/bind-8/.
To HOWTO opisuje wersj� 8 bind'a. Stara wersja tego HOWTO (o bind 4) jest
dost�pna na
http://www.math.uio.no/~janl/DNS/.
Je�eli strona man named'a m�wi o named.conf
masz bind'a 8, a je�eli
o named.boot
, bind 4. Je�li masz 4 i obchodzi ci� bezpiecze�stwo,
naprawd� powiniene� dokona� rozszerzenia do nowego 8.
DNS to baza danych szeroka jak sama sie�. Uwa�aj, co do niej wk�adasz. Je�eli w�o�ysz do niej �mieci, ty i inni wyjm� tak�e �mieci. Je�eli utrzymasz sw�j DNS w czysto�ci i ci�g�o�ci, b�dzie ci dobrze s�u�y�. Naucz si� go u�ywa�, administrowa� i znajdowa� b��dy, a zostaniesz kolejnym dobrym administratorem, utrzymuj�cym sie� przed upadni�ciem na kolana z powodu prze�adowania niedobrym zarz�dzaniem.
W tym dokumencie napisa�em par� wyja�nie�, kt�re nie s� ca�kowicie prawdziwe (jednak�e s� przynajmniej w po�owie prawd�). Wszystko w interesie uproszczenia. Wszystko b�dzie (prawdopodobnie ;-)) dzia�a�, je�eli uwierzysz w to, co m�wi�.
Podpowied�: Zr�b kopie zapasowe wszystkich plik�w, kt�re b�dziesz zmienia�, �eby� m�g� wr�ci� do starej, dzia�aj�cej konfiguracji, je�eli nic si� nie powiedzie.
Pierwszy krok w konfigurowaniu DNS'u, bardzo przydatny dla korzystaj�cych z modemu.
Serwer z pami�ci� podr�czn� b�dzie szuka� odpowiedzi na zapytania o nazwy i pami�ta� odpowied�, �eby� m�g� jej u�y� nast�pnym razem, kiedy b�dziesz jej potrzebowa�. To skr�ci czas oczekiwania za drugim razem kiedy b�dziesz potrzebowa� nazwy, zw�aszcza je�eli korzystasz z wolnego po��czenia.
Po pierwsze, potrzebujesz pliku /etc/named.conf
. Jest on
czytany, kiedy named zostaje uruchamiany. Narazie powinien po prostu zawiera�:
// Plik konfiguracyjny dla serwera nazw ,,caching'' options { directory "/var/named"; // Odkomentowanie tego mo�e pom�c, je�eli musisz przej�� przez // �cian� ognia (firewall), a co� nie dzia�a: // query-source address * port 53; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; };
Linia directory
m�wi named'owi, gdzie szuka� plik�w. Wszystkie pliki
w podkatalogach b�d� odpowiada�y tej zmiennej. A wi�c pz
jest
podkatalogiem
w /var/named
, czyli /var/named/pz
. /var/named
to
odpowiedni katalog, zgodnie z Linux File system Standard.
Plik o nazwie /var/named/root.hints
jest zdefiniowany w named.conf.
Powinien on zawiera� nast�puj�ce rekordy:
. 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241
BARDZO WA�NE: W niekt�rych wersjach tego dokumentu zawarto�� powy�szego pliku b�dzie posiada� kilka spacji albo tab przed pierwszym wype�nionym (non blank) znakiem. Nie powinny si� one znale�� w pliku. Skasuj ka�d� poprzedzaj�c� spacj� w plikach, kt�re wycinasz i wklejasz z tego HOWTO.
Pami�taj, co powiedzia�em o poprzedzaj�cych spacjach!
Plik opisuje g��wne serwery (root servers) na �wiecie. Dane zmieniaj� si� z biegiem czasu i musz� by� nadzorowane. Przeczytaj sekcj� o nadzorze, �eby uzyska� informacje o uaktualnianiu serwera.
Nast�pna linia w named.conf
to linia primary
. Wyja�ni� jej
funkcj� w nast�pnym rozdziale, a teraz tylko utw�rz plik 127.0.0
w podkatalogu pz
:
@ IN SOA linux.bogus. hostmaster.linux.bogus. ( 1 ; Numer seryjny 8H ; Od�wie�enie 2H ; Powt�rzenie 1W ; Przedawnienie 1D) ; Minimalny TTL NS ns.linux.bogus. 1 PTR localhost.
Nast�pnie, potrzebujesz pliku /etc/resolv.conf
, wygl�daj�cego
nast�puj�co:
search poddomena.twoja-domena.edu twoja-domena.edu nameserver 127.0.0.1
Linia ,,search
'' ustala, kt�re domeny powinny by� przeszukane dla
jakichkolwiek nazw w�z��w, z jakimi chcesz si� po��czy�. Linia
nameserver
definiuje adres twojego serwera nazw, w tym przypadku twoj�
w�asn� maszyn�, poniewa� tu pracuje named (127.0.0.1 wystarczy, nie ma
znaczenia, czy tw�j komputer ma inny adres). Je�li chcesz wyznaczy� kilka
serwer�w nazw, wstaw oddzieln� lini� ,,nameserver
'' dla ka�dego.
(Zauwa�: Named nigdy nie czyta tego pliku, robi to resolver, kt�ry u�ywa
named.)
�eby zilustrowa�, co ten plik robi: Je�li klient pr�buje znale�� foo
,
wtedy jako pierwsze pr�bowane jest foo.poddomena.twoja-domena.edu
,
potem foo.twoja-domena.edu
, a w ko�cu foo
. Je�eli klient
pr�buje szuka� sunsite.unc.edu
, najpierw pr�bowane jest
sunsite.unc.edu.poddomena.twoja-domena.edu
(tak, to jest g�upie, ale w ten spos�b dzia�a), potem
sunsite.unc.edu.twoja-domena.edu
, a w ko�cu sunsite.unc.edu
.
Nie wpisuj za wielu domen w linii search, poniewa� zabiera to troch� czasu,
�eby je wszystkie przeszuka�.
Przyk�ad przyjmuje, �e nale�ysz do domeny
poddomena.twoja-domena.edu
, tw�j komputer jest wtedy prawdopodownie
nazwany tw�j-komputer.poddomena.twoja-domena.edu
. Linia search nie
powinna zawiera� twojej TLD (Top Level Domain, Domena Najwy�szego Poziomu,
w tym przypadku edu
). Je�eli cz�sto ��czysz si� z w�z�ami w innej
domenie, mo�esz doda� t� domen� do linii search w ten spos�b:
search poddomena.twoja-domena.edu twoja-domena.edu inna-domena.com
i tak dalej. Oczywi�cie musisz wpisa� prawdziwe nazwy domen zamiast podanych. Zauwa� brak kropek na ko�cach nazw domen.
Nast�pnie, zale�nie od twojej wersji libc, musisz poprawia�
albo /etc/nsswitch.conf
, albo /etc/host.conf
. Je�eli ju� masz
nsswitch.conf
, b�dziemy poprawia� w�a�nie ten plik, a je�li nie,
host.conf
. (NAPRAWD� zalecam poprawianie host.conf we
wszystkich systemach, w kt�rych istnieje, np. u mnie jest i jeden
i drugi - przyp. t�um.)
/etc/nsswitch.conf
Jest to d�ugi plik, kt�ry ustala, sk�d wzi�� r�ne rodzaje typ�w danych,
z jakiego pliku lub bazy. Zazwyczaj zawiera on na g�rze pomocne
komentarze, kt�re powiniene� teraz przeczyta�. Potem znajd� lini� zaczynaj�c�
si� na ,,hosts:
'' - powinna zawiera�:
hosts: files dns
Je�eli nie ma linii zaczynaj�cej si� na ,,hosts:
'', wpisz powy�sz�.
M�wi, �e programy powinny najpierw spojrze� do pliku /etc/hosts
, potem
sprawdzi� DNS zgodnie z resolv.conf
.
/etc/host.conf
Prawdopodobnie zawiera kilka linii, jedna powinna zaczyna� si� na
order
i wygl�da� nast�puj�co:
order hosts,bind
Je�eli nie ma linii ,,order
'' powiniene� j� dopisa�. M�wi ona
procedurom szukaj�cym nazw, �eby najpierw zajrze� do /etc/hosts
,
a potem spyta� serwer nazw (kt�ry ustali�e� w pliku resolv.conf
jako 127.0.0.1).
Te dwa pliki s� om�wione w podr�czniku man resolv(8)
(wykonaj polecenie ,,man 8 resolv
'') w wi�kszo�ci dystrybucji Linuxa.
Ta strona man jest wed�ug mnie ca�kiem mo�liwa do zrozumienia, a ka�dy,
zw�aszcza administratorzy DNS, powinni j� przeczyta�. Zr�b to teraz -
je�eli powiesz sobie ,,p�niej'', nigdy nie b�dziesz mia� okazji ich przeczyta�.
Po tym wszystkim nadszed� czas, aby uruchomi� named. Je�eli u�ywasz po��czenia
modemowego, po��cz si� najpierw. Wpisz ,,ndc start
'', bez opcji,
i naci�nij
enter. Je�eli to nie dzia�a, spr�buj
,,/usr/sbin/ndc start
''.
Je�li to te� nie dzia�a, zobacz sekcj�
FAQ.
Teraz mo�esz przetestowa� swoj� konfiguracj�. Je�eli obejrzysz plik z
komunikatami sysloga (zazwyczaj /var/adm/messages
, inny katalog
w kt�rym mo�na ich szuka� to /var/log
, inn� nazw� pliku jest
syslog
) kiedy uruchamiasz named (wykonaj tail -f /var/log/messages
),
powiniene� ujrze� co� takiego:
(linie ko�cz�ce si� na \ s� kontynuowane w nast�pnej linii)
Feb 15 01:26:17 roke named[6091]: starting. named 8.1.1 Sat Feb 14 \
00:18:20 MET 1998 ^Ijanl@roke.uio.no:/var/tmp/bind-8.1.1/src/bin/named
Feb 15 01:26:17 roke named[6091]: cache zone "" (IN) loaded (serial 0)
Feb 15 01:26:17 roke named[6091]: master zone "0.0.127.in-addr.arpa" \
(IN) loaded (serial 1)
Feb 15 01:26:17 roke named[6091]: listening [127.0.0.1].53 (lo)
Feb 15 01:26:17 roke named[6091]: listening [129.240.230.92].53 (ippp0)
Feb 15 01:26:17 roke named[6091]: Forwarding source address is [0.0.0.0].1040
Feb 15 01:26:17 roke named[6092]: Ready to answer queries.
Je�eli pojawi� si� jakie� komunikaty o b��dach, pope�ni�e� jaki�. Named powie, w kt�rym pliku jest b��d (mam nadziej�, �e jest to named.conf albo root.hints :-)). Zabij named i sprawd� plik. (jest te� bardziej ,,humanitarny'' :-) od zabijania spos�b - napisz ,,ndc stop'', odczekaj d�u�sz� chwil� i nameserver zostanie wy��czony - przyp. t�um.)
Teraz uruchom nslookup, �eby sprawdzi� twoje rob�tki r�czne.
$ nslookup
Default Server: localhost
Address: 127.0.0.1
>
Je�eli otrzyma�e� takie co�, to znaczy, �e dzia�a. Miejmy nadziej�.
Je�li co innego, sprawd� wszystko od pocz�tku. Za ka�dym razem, kiedy zmienisz
plik named.conf
musisz ponownie uruchomi� named komend�
ndc restart
.
Teraz mo�esz wprowadzi� zapytanie. Spr�buj poszuka� jakiego� komputera blisko
ciebie. pat.uio.no
jest blisko mnie, na Uniwersytecie w Oslo:
> pat.uio.no
Server: localhost
Address: 127.0.0.1
Name: pat.uio.no
Address: 129.240.130.16
Nslookup poprosi� twojego named'a o poszukanie maszyny pat.uio.no
.
Po��czy� si� wtedy z jednym z serwer�w nazw w twoim pliku root.hints
i zapyta� stamt�d o drog�.
Mo�e to zaj�� troszeczk� czasu, zanim otrzymasz wynik, poniewa� szuka we
wszystkich domenach, kt�re wymieni�e� w /etc/resolv.conf
.
Je�eli zapytasz znowu o to samo, otrzymasz co� takiego:
> 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 lini� ,,Non-authoritative answer:
'', kt�ra pojawi�a si�
tym razem. Znaczy to, �e named nie szuka� nazwy w sieci, tylko popatrzy�
w swojej pami�ci podr�cznej i tam j� znalaz�. Ale informacja z pami�ci
podr�cznej mo�e by� przedawniona. Zostajesz wi�c poinformowany
o tym (bardzo niewielkim) niebezpiecze�stwie, poprzez komunikat
,,Non-authorative answer:
''. Kiedy nslookup
m�wi to za drugim
razem, kiedy pytasz o komputer, jest to pewny znak, �e named zapami�tuje
informacje i dzia�a. Mo�esz wyj�� z nslookup
wydaj�c komend�
exit
.
Teraz ju� wiesz, jak postawi� przyspieszaj�cy (caching) named. Wypij piwo, mleko, lub cokolwiek innego, �eby to uczci�.
Jak skonfigurowa� w�asn� domen�.
Zanim naprawd� zaczniemy ten rozdzia�, zamierzam poda� ci troch�
teorii o dzia�aniu DNSu. A ty to przeczytasz, poniewa� jest to przydatne.
Je�li nie chcesz, powiniene� przynajmniej przej�� przez to bardzo
szybko. Przesta� przegl�da�, kiedy dojdziesz do opisu, m�wi�cego co powiniene�
wstawi� do pliku named.conf
.
DNS to system hierarchiczny. Najwy�sza pozycja to ,,.
'', nazywa si�
,,root''. Pod . istnieje kilka Domen Najwy�szego Poziomu (Top Level Doamins, TLD),
najpopularniejsze to ORG, COM, EDU i NET, ale jest jeszcze wiele innych.
(np. MIL, GOV, ART, NOM, PRIV - przyp. t�um.)
Kiedy poszukiwany jest komputer, zapytanie jest przeprowadzane rekursywnie,
zgodnie z hierarchi�, pocz�wszy od g�ry. Je�eli chcesz znale�� adres
komputera prep.ai.mit.edu
, tw�j serwer nazw musi znale�� serwer
obs�uguj�cy domen� edu. Pyta serwer .
(zna ju� serwery .
-
po to jest plik root.hints
), serwer .
zwraca list� serwer�w
edu:
$ nslookup
Default Server: localhost
Address: 127.0.0.1
Zacznij pyta� server root:
> server c.root-servers.net.
Default Server: c.root-servers.net
Address: 192.33.4.12
Ustaw typ zapytania na NS (rekordy serwer�w nazw):
%gt; set q=ns
Spytaj o edu:
> edu.
Ko�cowa kropka jest wymagana, m�wi serwerowi, �e edu jest pod . (to zaw�a obszar poszukiwa�).
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
Wynik m�wi nam, �e *.root-servers.net
podaje edu.
,
mo�emy wi�c
dalej pyta� c
. Teraz chcemy wiedzie�, kto obs�uguje nast�pny poziom
nazwy domeny: mit.edu.
:
> mit.edu.
Server: c.root-servers.net
Address: 192.33.4.12
Non-authoritative answer:
mit.edu nameserver = W20NS.mit.edu
mit.edu nameserver = BITSY.mit.edu
mit.edu nameserver = STRAWB.mit.edu
Authoritative answers can be found from:
W20NS.mit.edu internet address = 18.70.0.160
BITSY.mit.edu internet address = 18.72.0.3
STRAWB.mit.edu internet address = 18.71.0.151
STRAWB
, W20NS
i BITSY
obs�uguj� mit
,
wybierz jeden i pytaj o ai.mit.edu
:
> server W20NS.mit.edu.
Serwery nazw nie rozr�niaj� wielko�ci liter, ale u�ywam myszki do wycinania i wklejania, wi�c kopiuje wynik prosto z ekranu.
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 = 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
ai.mit.edu nameserver = LIFE.AI.MIT.EDU
ai.mit.edu nameserver = BEET-CHEX.AI.MIT.EDU
ai.mit.edu nameserver = MINI-WHEATS.AI.MIT.EDU
ai.mit.edu nameserver = COUNT-CHOCULA.AI.MIT.EDU
ai.mit.edu nameserver = MINTAKA.LCS.MIT.EDU
Authoritative answers can be found from:
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
AI.MIT.EDU nameserver = LIFE.AI.MIT.EDU
AI.MIT.EDU nameserver = BEET-CHEX.AI.MIT.EDU
AI.MIT.EDU nameserver = MINI-WHEATS.AI.MIT.EDU
AI.MIT.EDU nameserver = COUNT-CHOCULA.AI.MIT.EDU
AI.MIT.EDU nameserver = MINTAKA.LCS.MIT.EDU
ALPHA-BITS.AI.MIT.EDU internet address = 128.52.32.5
GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.36.4
TRIX.AI.MIT.EDU internet address = 128.52.37.6
MUESLI.AI.MIT.EDU internet address = 128.52.39.7
LIFE.AI.MIT.EDU internet address = 128.52.32.80
BEET-CHEX.AI.MIT.EDU internet address = 128.52.32.22
MINI-WHEATS.AI.MIT.EDU internet address = 128.52.54.11
COUNT-CHOCULA.AI.MIT.EDU internet address = 128.52.38.22
MINTAKA.LCS.MIT.EDU internet address = 18.26.0.36
A wi�c muesli.ai mit.edu
jest serwerem nazw dla ai.mit.edu
:
> server MUESLI.AI.MIT.EDU
Default Server: MUESLI.AI.MIT.EDU
Address: 128.52.39.7
Teraz zmieniamy typ zapytania - znale�li�my serwer nazw, wi�c teraz zapytajmy go
o wszystko, co wie o prep.ai.mit.edu
.
> set q=any
> prep.ai.mit.edu.
Server: MUESLI.AI.MIT.EDU
Address: 128.52.39.7
prep.ai.mit.edu CPU = dec/decstation-5000.25 OS = unix
prep.ai.mit.edu
inet address = 18.159.0.42, protocol = tcp
ftp telnet smtp finger
prep.ai.mit.edu preference = 1, mail exchanger = gnu-life.ai.mit.edu
prep.ai.mit.edu internet address = 18.159.0.42
ai.mit.edu nameserver = beet-chex.ai.mit.edu
ai.mit.edu nameserver = alpha-bits.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 = mintaka.lcs.mit.edu
ai.mit.edu nameserver = life.ai.mit.edu
gnu-life.ai.mit.edu internet address = 128.52.32.60
beet-chex.ai.mit.edu internet address = 128.52.32.22
alpha-bits.ai.mit.edu internet address = 128.52.32.5
mini-wheats.ai.mit.edu internet address = 128.52.54.11
trix.ai.mit.edu internet address = 128.52.37.6
muesli.ai.mit.edu internet address = 128.52.39.7
count-chocula.ai.mit.edu internet address = 128.52.38.22
mintaka.lcs.mit.edu internet address = 18.26.0.36
life.ai.mit.edu internet address = 128.52.32.80
Zaczynaj�c od .
, znale�li�my sukcesywne serwery nazw dla
nast�pnych poziom�w w nazwie domeny. Je�eli u�ywa�by� w�asnego serwera DNS
zamiast wszystkich innych, tw�j named zapisa�by wszystkie informacje w czasie
poszukiwa�, nie musia�by� wi�c znowu ich pyta� przez jaki� czas.
O wiele mniej m�wi si� o, tak samo wa�nej domenie in-addr.arpa
.
Jest ona te� podzielona jak normalne domeny.
in-addr.arpa
pozwala otrzymywa� nazwy maszyn kiedy posiadamy ich
adresy.
Wa�ne: numery IP w domenie in-addr.arpa s� pisane w odwrotnej
kolejno�ci. Je�eli adres maszyny to 192.128.52.43, named poszukuje tak, jak
dla przyk�adu z prep.ai.mit.edu
: znale�� serwery arpa.
.
Znale�� seerwery in-addr.arpa.
, znale�� serwery
192.in-addr.arpa.
, znale�� serwery 128.192.in-addr.arpa.
,
znale�� serwery 52.128.192.in-addr.arpa.
.
Znale�� potrzebne rekordy dla 43.52.128.192.in-addr.arpa.
.
Sprytne, no nie? (Powiedz ,,tak''.) Odwracanie numer�w IP mo�e sprawia� k�opoty
przez pierwsze dwa lata.
W�a�nie sk�ama�em. DNS nie dzia�a dok�adnie tak jak przedstawi�em. Ale by�em wystarczaj�co blisko.
Teraz zdefiniujemy nasz� w�asn� domen�. Nazwijmy j� linux.bogus (,,bogus'', to po angielsku co� fa�szywego, bzdurnego - przyp. t�um.) i zdefiniujemy w niej maszyny. U�ywam ca�kowicie bzdurnej (bogus) nazwy domeny, �eby upeni� si�, �e nie przeszkadzamy nikomu Gdzie� Tam.
Jeszcze jedna rzecz zanim zaczniemy: Nie wszystkie znaki mog� wchodzi� w sk�ad
nazw komputer�w. Jeste�my ograniczeni do znak�w angielskiego alfabetu, tzn.
a-z,
numer�w 0-9 i znaku ,,-'' (��cznika). Trzymajmy si� tych znak�w. Wielkie i ma�e
litery nie s� rozr�niane przez DNS, a wi�c pat.uio.no
jest identyczne
z Pat.UiO.No
.
Ju� zaczeli�my cz�� z lini� 0.0.127 w pliku named.conf
:
zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; };
Zauwa� brak kropki na ko�cu nazw domen w tym pliku -
definiujemy stref� 0.0.127.in-addr.arpa
, �e jeste�my g��wnym jej
serwerem i jest zapisana w pliku pz/127.0.0
. Mamy ju� ten plik,
zawiera on:
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 1 ; Serial 8H ; Refresh 2H ; Retry 1W ; Expire 1D) ; Minimum TTL NS ns.linux.bogus. 1 PTR localhost.
Zauwa� znak ,,.
'' na ko�cu wszystkich pe�nych nazw domen w tym pliku,
kontrastuje to z plikiem named.conf
powy�ej. Niekt�rzy ludzie lubi�
rozpocz�� ka�d� stref� z dyrektyw� $ORIGIN
, ale to ju�
ekstrawagancja. Origin (pochodzenie - gdzie znajduje si� w hierarchii DNS),
pliku strefy jest zdefiniowany w linii strefy w pliku named.conf
,
w tym przypadku 0.0.127.in-addr.arpa
.
Ten ,,plik strefy'' zawiera 3 ,,rekordy zasob�w'' (resource records, RR): RR SOA, RR NS i RR PTR. SOA to skr�t od Start of Authority. Znak ,,@'' jest specjaln� notacj� znacz�c� pochodzenie (origin), a je�eli kolumna domeny dla tego pliku to ,,0.0.127.in-addr.arpa'', pierwsza linia tak naprawd� znaczy
0.0.127.in-addr.arpa. IN SOA ...
NS to RR Name Server - rekord serwera nazw. Nie jest potrzebne ,,@'' na ko�cu tej linii, poniewa� ostatnia linia zacz�a sie na ,,@''. Oszcz�dza to troch� pisania. A wi�c linia NS tak naprawd� znaczy
0.0.127.in-addr.arpa. IN NS ns.linux.bogus
M�wi DNS'owi, kt�ra maszyna jest serwerem nazw domeny
0.0.127.in-addr.arpa
- jest to ns.linux.bogus
. ,,ns'' to
zazwyczaj stosowana nazwa serwera nazw, ale skoro serwery www s� nazywane
www.
co�tam, nazw� mo�e by� cokolwiek.
I w ko�cu rekord PTR. M�wi, �e komputer o adresie 1 w podsieci
0.0.127.in-addr.arpa
, np. 127.0.0.1, nazywa si� localhost
.
Rekord SOA jest pocz�tkiem wszystkich plik�w stref. W ka�dym pliku
musi by� dok�adnie jeden, jako pierwszy rekord. Opisuje stref�, z kt�rej
pochodzi (z maszyny nazwanej ns.linux.bogus
), osob�, kt�ra jest
za ni� odpowiedzialna (hostmaster@linux.bogus
), wersj� pliku strefy
(numer seryjny: 1) i inne rzeczy maj�ce zwi�zek z zapami�tywaniem (caching)
i drugorz�dnymi (secondary) serwerami DNS. Dla reszty p�l: od�wie�enia,
powt�rzenia, przedawnienia i minimalnego TTL u�ycie warto�ci podanych w tym
HOWTO powinno by� bezpieczne.
Teraz uruchom ponownie named'a (komend� ndc restart
)
i u�yj nslookup, �eby sprawdzi�, co zrobi�e�:
$ 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
a wi�c udaje mu si� otrzyma� localhost
ze 127.0.0.1, to dobrze.
Teraz nasze g��wne zadanie, domena linux.bogus
. Wstaw now� sekcj�
,,zone'' w pliku named.conf
:
zone "linux.bogus" { notify no; type master; file "pz/linux.bogus"; };
Zauwa� dalszy brak ko�cz�cej kropki w nazwie domeny w pliku
named.conf
.
W pliku strefy linux.bogus umie�cimy pewne ca�kowicie bzdurne (bogus) dane:
; ; Plik strefy dla linux.bogus ; ; Pe�ny plik strefy ; @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; numer seryjny, dzisiejsza data i numer zmiany 8H ; od�wie�anie, w sekundach 2H ; powt�rzenie, w sekundach 1W ; przedawnienie, w sekundach 1D ) ; minimum, w sekundach ; NS ns ; Adres Internetowy serwera nazw MX 10 mail.linux.bogus ; Podstawowy serwer poczty MX 20 mail.friend.bogus. ; Drugorz�dny serwer poczty ; localhost A 127.0.0.1 ns A 192.168.196.2 mail A 192.168.196.4
Nale�y zwr�ci� uwag� na dwie rzeczy w rekordzie SOA. ns.linux.bogus musi by� prawdziw� maszyna z rekordem A. Nie jest dozwolone wpisaanie rekordu CNAME dla maszyny w rekordzie SOA. Jej nazw� nie musi by� ,,ns'', mo�e by� jak�kolwiek dozwolon� nazw� komputera. Po drugie, hostmaster.linux.bogus powinien by� odczytany jako hostmaster@linux.bogus, a powinien by� to alias pocztowy lub oddzielna skrzynka, gdzie osoba(y) nadzoruj�ce DNS powinny cz�sto czyta� poczt�. Jakikolwiek list w sprawie domeny b�dzie wys�any na adres podany w tej linii. Nazw� nie musi by� ,,hostmaster'', mo�e to by� jakikolwiek dozwolony adres e-mail, ale adres ,,hostmaster'' b�dzie r�wnie� dzia�a�.
Jest jeden nowy typ RR w tym pliku, MX czyli Mail eXchanger.
M�wi systemom pocztowym gdzie wysy�a� poczt� zaadresowan� do
kto�tam@linux.bogus
, odpowiednio do mail.linux.bogus
lub
mail.friend.bogus
. Liczba przed ka�d� nazw� maszyny oznacza
priorytet MX'�w. RR z najmniejsz� liczb� (10) jest tym, do kt�rego poczta
powinna by� wysy�ana najpierw. Je�eli to si� nie uda, mo�e by� wys�ana do
serwera z wy�sz� liczb�, drugorz�dnego serwera poczty, np.
mail.friend.bogus
, kt�ry ma tu priorytet 20.
Uruchom ponownie named, u�ywaj�c komendy ndc restart
. Sprawd� wynik
z nslookup:
$ nslookup
> set q=any
> linux.bogus
Server: localhost
Address: 127.0.0.1
linux.bogus
origin = ns.linux.bogus
mail addr = hostmaster.linux.bogus
serial = 199802151
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 preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
linux.bogus preference = 20, mail exchanger = mail.friend.bogus
linux.bogus nameserver = ns.linux.bogus
ns.linux.bogus internet address = 192.168.196.2
mail.linux.bogus internet address = 192.168.196.4
Przy dok�adnym sprawdzaniu, odkryjesz b��d. Linia
linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
jest niepoprawna. Powinno by�
linux.bogus preference = 10, mail exchanger = mail.linux.bogus
Specjalnie pope�ni�em b��d, �eby� m�g� si� z niego uczy� :-) Patrz�c na plik strefy zobaczymy, �e w linii
MX 10 mail.linux.bogus ; Podstawowy serwer poczty
brakuje kropki. Mo�na te� powiedzie�, �e ma o jeden cz�on ,,linux.bogus'' za
du�o. Je�eli nazwa komputera nie ko�czy si� kropk� w pliku strefy, pochodzenie
(origin) zostaje dodane do niej, powoduj�c podw�jny
linux.bogus.linux.bogus
. Wi�c piszemy albo
MX 10 mail.linux.bogus. ; Podstawowy serwer poczty
albo
MX 10 mail ; Podstawowy serwer poczty
Oba s� poprawne. Wol� ostatni� form�, mniej pisania. S� znani u�ytkownicy bind'a kt�rzy nie zgadzaj� si� z tym, s� te� tacy, kt�rzy zgadzaj� si� z t� regu��. W pliku strefy domena powinna b�d� to by� ca�kowita i zako�czona kropk�, b�d� to nie powinna by� wog�le za��czona, w tym przypadku zawiera domy�lne pochodzenie (origin).
Musz� zaznaczy�, �e w pliku named.conf nie powinno by� kropek po
nazwach domen. Nie masz poj�cia, jak cz�sto ludzie g�upieli i kl�li na czym
�wiat stoi z powodu znaku ,,.
''.
A wi�c po wyja�nieniu mojej uwagi, mamy nowy plik strefy, zawieraj�cy troch� dodatkowych informacji:
; ; Plik strefy dla linux.bogus ; ; Pe�ny plik strefy ; @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; numer seryjny, dzisiejsza data + numer zmiany 8H ; od�wie�anie, w sekundach 2H ; powt�rzenie, w sekundach 1W ; przedawnienie, w sekundach 1D ) ; minimum, w sekundach ; TXT "Linux.Bogus, twoi konsultanci DNS" NS ns ; Adresy Internetowe serwer�w nazw NS ns.friend.bogus. MX 10 mail ; Podstawowy MX MX 20 mail.friend.bogus. ; Drugorz�dny MX localhost A 127.0.0.1 gw A 192.168.196.1 HINFO "Cisco" "IOS" TXT "Router" ns A 192.168.196.2 MX 10 mail MX 20 mail.friend.bogus. HINFO "Pentium" "Linux 2.0" www CNAME ns donald A 192.168.196.3 MX 10 mail MX 20 mail.friend.bogus. HINFO "i486" "Linux 2.0" TXT "DEK" mail A 192.168.196.4 MX 10 mail MX 20 mail.friend.bogus. HINFO "386sx" "Linux 1.2" ftp A 192.168.196.5 MX 10 mail MX 20 mail.friend.bogus. HINFO "P6" "Linux 2.1.86"
Jest tu kilka nowych RR'�w: HINFO (Host INFOrmation) ma dwie cz�ci, dobrym zwyczajem jest branie ka�dej w cudzys�owy. Pierwsza cz�� okre�la nazw� sprz�tow� lub procesor komputera, a druga oprogramowanie lub system operacyjny. Maszyna nazwana ,,ns'' ma procesor Pentium i Linuxa 2.0. CNAME (Canonical NAME) jest sposobem nadawania ka�dej maszynie kilku nazw. Www jest wi�c aliasem ns.
U�ywanie rekord�w CNAME jest troch� kontrowesyjne. Ale bezpiecznie jest przestrzega� zasady, �e rekordy MX, CNAME lub SOA nigdy nie powinny odnosi� si� do rekordu CNAME, powinny odnosi� si� do czego� z rekordem A, wi�c �le jest
foobar CNAME www ; NIE!
ale poprawnie
foobar CNAME ns ; Tak!
Jest te� bezpiecznie przyj��, �e CNAME nie jest dozwolon� nazw� komputera
dla adresu e-mail: webmaster@www.linux.bogus
jest niedozwolonym
adresem, je�eli przyj�� powy�sze ustawienia. Mo�esz si� spodziewa�, �e
wielu admin�w Gdzie� Tam b�dzie wymaga�o tej zasady, nawet je�li to dzia�a
u ciebie. Sposobem unikni�cia tego jest u�ywanie rekord�w A (i mo�e innych,
takich jak MX) zamiast CNAME:
www A 192.168.196.2
Kilku ,,czarodziej�w'' bind'a radzi, aby nie u�ywa� CNAME. Zastan�w si� wi�c nad tym bardzo powa�nie.
Ale jak widzisz, to HOWTO i wiele serwer�w nie przestrzega tej zasady.
Za�aduj now� baz� danych komend� ndc reload
, sprawi to, �e named
przeczyta ponownie swoje pliki.
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> ls -d linux.bogus
Znaczy to, �e wszystkie rekordy powinny by� wymienione. Wy�wietli:
[localhost]
$ORIGIN linux.bogus.
@ 1D IN SOA ns hostmaster (
199802151 ; numer seryjny
8H ; od�wie�anie
2H ; powt�rzenie
1W ; przedawnienie
1D ) ; minimum
1D IN NS ns
1D IN NS ns.friend.bogus.
1D IN TXT "Linux.Bogus, twoi konsultanci DNS"
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
gw 1D IN A 192.168.196.1
1D IN HINFO "Cisco" "IOS"
1D IN TXT "Router"
mail 1D IN A 192.168.196.4
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "386sx" "Linux 1.0.9"
localhost 1D IN A 127.0.0.1
www 1D IN CNAME ns
donald 1D IN A 192.168.196.3
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "i486" "Linux 1.2"
1D IN TXT "DEK"
ftp 1D IN A 192.168.196.5
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "P6" "Linux 1.3.59"
ns 1D IN A 192.168.196.2
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "Pentium" "Linux 1.2"
@ 1D IN SOA ns hostmaster (
199802151 ; numer seryjny
8H ; od�wie�anie
2H ; powt�rzenie
1W ; przedawnienie
1D ) ; minimum
To jest w porz�dku. Jak widzisz, wygl�da prawie jak plik strefy. Sprawd�my co powie o samym www:
> set q=any
> www.linux.bogus.
Server: localhost
Address: 127.0.0.1
www.linux.bogus canonical name = ns.linux.bogus
linux.bogus nameserver = ns.linux.bogus
linux.bogus nameserver = ns.friend.bogus
ns.linux.bogus internet address = 192.168.196.2
Inaczej m�wi�c, prawdziwa nazwa www.linux.bogus
to
ns.linux.bogus
. Daje ci to te� troch� informacji, kt�re ma o ns,
wystarczj�co du�o, �eby si� z nim po��czy�, je�eli by�by� programem.
Jeste�my w po�owie drogi.
Teraz programy mog� konwertowa� nazwy w linux.bogus na adresy, z kt�rymi mog� si� po��czy�. Ale potrzebna jest te� strefa odwrotna, kt�ra pozwala DNS'owi przekszta�ca� adresy na nazwy (FTP, IRC, WWW i inne), �eby zdecydowa�, czy chc� z tob� rozmawia�, czy nie, a je�eli tak, mo�e nawet zdecyduj� jaki priorytet powinien by� ci nadany. Strefa odwrotna jest wymagana dla pe�nego dost�pu do wszystkich us�ug Internetu.
Wstaw nast�puj�ce linie w named.conf
:
zone "196.168.192.in-addr.arpa" { notify no; type master; file "pz/192.168.196"; };
Tak samo jak z 0.0.127.in-addr.arpa
, zawarto�� tak�e jest podobna:
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; Numer seryjny, data + numer 8H ; od�wie�anie 2H ; powtarzanie 1W ; przedawnienie 1D) ; minimalny TTL NS ns.linux.bogus. 1 PTR gw.linux.bogus. 2 PTR ns.linux.bogus. 3 PTR donald.linux.bogus. 4 PTR mail.linux.bogus. 5 PTR donald.linux.bogus.
Teraz uruchom ponownie named (ndc restart
) i sprawd� swoj� prac�
znowu korzystaj�c z nslookup:
> 192.168.196.4 Server: localhost Address: 127.0.0.1 Name: mail.linux.bogus Address: 192.168.196.4
Wygl�da w porz�dku, spr�buj wy�wietli� wszystko, �eby to sprawdzi�:
> ls -d 196.168.192.in-addr.arpa [localhost] $ORIGIN 196.168.192.in-addr.arpa. @ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; serial 8H ; refresh 2H ; retry 1W ; expiry 1D ) ; minimum 1D IN NS ns.linux.bogus. 1 1D IN PTR gw.linux.bogus. 2 1D IN PTR ns.linux.bogus. 3 1D IN PTR donald.linux.bogus. 4 1D IN PTR mail.linux.bogus. 5 1D IN PTR donald.linux.bogus. @ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; numer seryjny 8H ; od�wie�anie 2H ; powtarzanie 1W ; przedawnienie 1D ) ; minimum
Wygl�da dobrze!
Jest kilka rzeczy, kt�re powinienem tu doda�. Numery IP u�ywane w przyk�adach
pochodz� z jednego z blok�w ,,sieci prywatnych'', tzn. nie wolno u�ywa� ich
publicznie w internecie. S� bezpieczne do pokazania jako przyk�ad w HOWTO.
Druga rzecz, to linia notify no;
. M�wi named, �eby nie zawiadamia�
serwera drugorz�dnego (secondary, slave), kiedy jeden z plik�w stref zostanie
uaktualniony. W bind'dzie-8 named mo�e zawiadamia� inne serwery wymienione
w rekordach NS w pliku strefy, kiedy strefa zostanie uaktualniona. Jest to
przydatne do u�ytku zwyk�ego, ale dla prywatnych eksperyment�w ze strefami
ta opcja powinna by� wy��czona, nie chcemy przecie� chyba, �eby nasz
eksperyment za�mieca� Internet, czy� nie tak?
No i oczywi�cie ta domena jest nieprawdziwa (bogus) i takie te� s� wszystkie adresy w niej. Zobacz nast�pny rozdzia� dla przyk�adu z prawdziw� domen�.
Tutaj opisujemy troch� prawdziwych plik�w stref.
U�ytkownicy zasugerowali, �ebym za��czy� prawdziwy przyk�ad dzia�aj�cej domeny razem z teoretycznym przyk�adem.
U�ywam tego przyk�adu z zezwoleniem Davida Bullock'a z LAND-5. Te pliki by�y aktualne 24 Wrze�nia 1996 i zosta�y zmienione przeze mnie, �eby pasowa�y do formatu bind-8, u�ywaj� te� moich rozszerze�. A wi�c, to co tu widzisz r�ni si� troch� od tego, co otrzymasz po wys�aniu zapytania do serwer�w nazw LAND-5 obecnie.
Tutaj znajdziemy linie g��wne dla dw�ch potrzebnych stref odwrotnych:
sieci 127.0.0, jak i sieci 206.6.177 nale��cej do LAND-5, oraz
lini� primary dla przedniej strefy land-5.com. Zauwa� tak�e, �e zamiast
umieszcza� pliki w katalogu o nazwie pz
, jak robi� to w tym HOWTO,
znajduj� si� one w katalogu zone
(strefa).
// Plik �aduj�cy dla serwera nazw LAND-5 options { directory "/var/named"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "zone/127.0.0"; }; zone "land-5.com" { type master; file "zone/land-5.com"; }; zone "177.6.206.in-addr.arpa" { type master; file "zone/206.6.177"; };
Je�eli wstawisz to do swojego named.conf, �eby si� pobawi�, PROSZ�,
wstaw notify no;
w sekcji stref dla dw�ch stref land-5, �eby unikn��
wypadk�w.
Pami�taj, �e ten plik zmienia si�, a ten jest stary. Powiniene� u�ywa� nowszego pliku wyprodukowanego u�ywaj�c dig, b�dzie to wyt�umaczone p�niej. (UWAGA: autor napisa�, �e by�o to wyt�umaczone wcze�niej, ale jest to wyt�umaczone PӬNIEJ - przyp. t�um.)
; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET. ; (1 server found) ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opCODE: QUERY, status: NOERROR, id: 10 ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 ;; QUERY SECTION: ;; ., type = NS, class = IN ;; ANSWER SECTION: . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. ;; ADDITIONAL SECTION: G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241 ;; Total query time: 215 msec ;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET. 198.41.0.4 ;; WHEN: Sun Feb 15 01:22:51 1998 ;; MSG SIZE sent: 17 rcvd: 436
Tylko podstawy, obowi�zuj�cy rekord SOA i rekord, kt�ry mapuje 127.0.0.1 na
localhost
. Oba s� wymagane. Nic wi�cej nie powinno znajdowa� si� w tym
pliku. Prawdopodobnie nigdy nie b�dzie musia� by� uaktualniany, chyba �e
tw�j serwer nazw lub hostmaster zmieni� adres.
@ 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.
Widzimy tu obowi�zuj�cy rekord SOA i potrzebne rekordy NS. Mo�emy zobaczy�, �e drugorz�dny serwer nazw ma adres ns2.psi.net. Jest tak, jak powinno by�, zawsze musi by� drugorz�dny serwer w innym miejscu Internetu. Jest tu komputer g��wny o nazwie land-5, kt�ry zajmuje si� wieloma r�nymi us�ugami Internetowymi, jest to za�atwione za pomoc� rekord�w CNAME (alternatywnie mo�na u�ywa� rekord�w A).
Jak widzidsz z rekordu SOA, plik strefy pochodzi z land-5.com, osob� kontaktow�
jest root@land-5.com. hostmaster
jest innym cz�sto u�ywanym adresem.
Numer seryjny sk�ada si� z daty w formacie yyyymmdd i dziennego numeru
seryjnego; jest to prawdopodobnie sz�sta wersja pliku strefy z 20 Wrze�nia
1996. Pami�taj, �e numer seryjny musi zwi�ksza� si� monotonicznie,
tutaj jest tylko jedna cyfra numeru seryjnego, wi�c po 9 zmianach
trzeba czeka� do nast�pnego dnia z nast�pnymi edycjami. Rozwa� u�ycie dw�ch
cyfr.
@ IN SOA land-5.com. root.land-5.com. ( 199609206 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds 1W ; expire, seconds 1D ) ; 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 A 206.6.177.3 www A 207.159.141.192 ftp CNAME land-5.com. mail CNAME land-5.com. news CNAME land-5.com. funn A 206.6.177.2 @ 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
Je�eli sprawdzisz serwer nazw land-5, zobaczysz, �e nazwy komputer�w
sk�adaj� si� z ws_
numer. P�ne wersje named'a w bind'dzie 4
zacz�y wymaga� ogranicze� znak�w sk�adaj�cych si� na nazwy komputer�w.
A wi�c wog�le nie dzia�a�oby to z bind-8, zamieni�em ,,_'' na ,,-''.
Inna rzecz warta zauwa�enia to fakt, �e stacje robocze nie maj� w�asnych nazw, a raczej prefiks i dwie ostatnie cz�ci numeru IP. U�ywanie takiej konwencji mo�e znacznie upro�ci� nadz�r, ale jest troch� bezosobowe i mo�e by� �r�d�em niezadowolenia w�r�d twoich u�ytkownik�w.
Mo�emy tak�e zobaczy�, �e funn.land-5.com jest aliasem land-5.com, ale u�ywaj�cym rekordu A, a nie CNAME.
Skomentuj� ten plik na jego ko�cu.
@ 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. 2 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. ; {Du�o powtarzaj�cych si� rekord�w - usuni�to} 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.
Strefa odwrotna jest kawa�kiem ustawie� wydaj�cym si� sprawia� najwi�cej k�opot�w. Jest u�ywany do znalezienia nazwy komputera, je�eli masz jego numer IP. Przyk�ad: jeste� serwerem IRC i akceptujesz po��czenia od klient�w IRC. Jednak�e jeste� serwerem norweskim, a wi�c chcesz akceptowa� po��czenia tylko z Norwegii i innych kraj�w skandynawskich. Kiedy otrzymasz po��czenie od klienta, biblioteka C jest w stanie przekaza� ci numer IP ��cz�cej si� maszyny, poniewa� numer IP klienta jest zawarty we wszystkich pakietach przekazywanych przez sie�. Teraz mo�esz przywo�a� funkcj� o nazwie gethostbyaddr, kt�ra szuka nazwy komputera z podanym numerem IP. Gethostbyaddr spyta serwer DNS, kt�ry wtedy przetrawersuje DNS, poszukuj�c maszyny. Przyjmijmy, �e po��czenie nadesz�o z ws-177200.land-5.com. Numer IP podany przez bibliotek� C serwerowi IRC to 206.6.177.200. �eby pozna� nazw� tej maszyny, musimy znale�� 200.177.6.206.in-addr.arpa. Serwer DNS najpierw odwr�ci �cie�k� przez 206, potem przez 6, a� w ko�cu znajdzie serwer dla strefy 177.6.206.in-addr.arpa na land-5, z kt�rego na ko�cu dostanie odpowied�, �e dla 200.177.6.206.in-addr.arpa mamy rekord ,,PTR ws-177200.land-5.com'', kt�ry znaczy, �e nazwa 206.6.177.20 to ws-177200.land-5.com. Tak jak z wyja�nieniem, jak zostaje znaleziony prep.ai.mit.edu, jest to troch� fikcyjne.
Wracaj�c do przyk�adu serwera IRC. Serwer IRC akceptuje po��czenia tylko z kraj�w skandynawskich, tj. *.no, *.se, *.dk. Od razu wida�, �e nazwa ws-177200.land-5.com nie pasuje do �adnego z nich, a wi�c serwer odm�wi po��czenia. Je�eli nie by�o mapowania odwrotnego dla 206.6.177.200 przez stref� in-addr.arpa, serwer nie m�g�by znale�� nazwy i por�wna�by 206.6.177.200 z *.no, *.se i *.dk, oczywi�cie �adna z nich nie b�dzie pasowa�a.
Niekt�rzy ludzie b�d� m�wili ci, �e odwrotne mapowanie jest wa�ne tylko dla serwer�w, albo wog�le nie wa�ne. Nie zawsze: wiele serwer�w ftp, news, IRC i nawet niekt�re http (WWW) nie b�d� akceptowa�y po��cze� z maszyn, kt�rych nazw nie b�d� w stanie znale��. A wi�c mapowanie odwrotne jest obowi�zkowe.
Utrzymywanie w ci�g�ym dzia�aniu
Jest jedno zadanie nadzorcze, kt�re musisz wykonywa� z named'ami, inne ni�
utrzymywanie ich w dzia�aniu, tzn. uaktualnianie pliku root.hints
.
Naj�atwiej jest to zrobi� u�ywaj�c dig'a. Najpierw uruchom dig bez �adnych
argument�w, otrzymasz zawarto�� pliku root.hints
zgodnie ze swoim
w�asnym serwerem. Wtedy spytaj jeden z wymienionych serwer�w g��wnych komend�
dig @rootserver
. Zauwa�ysz, �e to co otrzymasz b�dzie bardzo podobne
do pliku root.hints. Zapisz to do pliku
(dig @e.root-servers.net . ns >root.hints.new
) i zamie� na niego
stary plik root.hints
.
Pami�taj, �eby uruchomi� ponownie named po zamianie pliku cache.
Al Longyear wys�a� mi ten skrypt. Mo�e on by� uruchamiany automatycznie
w celu uaktualniania root.hints
. Dodaj wpis do tablicy cron'a,
�eby by� uruchamiany raz na miesi�c. Ten skrypt przyjmuje, �e masz dzia�aj�cy
system
pocztowy i zdefniowany alias pocztowy ,,hostmaster''. Musisz zag��bi� si�
w ten plik, �eby dostosowa� go do twoich ustawie�.
#!/bin/sh # # Uaktualnianie pliku cache raz na miesi�c. # Ten skrypt jest uruchamiany automatycznie przez cron'a. # ( echo "To: hostmaster <hostmaster>" echo "From: system <root>" echo "Subject: Automatyczne uaktualnienie pliku named.conf" echo export PATH=/sbin:/usr/sbin:/bin:/usr/bin: cd /var/named dig @rs.internic.net . ns >root.hints.new echo "Plik named.conf zosta� uaktualniony i zawiera nast�puj�ce informacje:" echo cat root.hints.new chown root.root root.hints.new chmod 444 root.hints.new rm -f root.hints.old mv root.hints root.hints.old mv root.hints.new root.hints ndc restart echo echo "Serwer nazw zosta� uruchomiony ponownie, aby wprowadzi� zmiany" echo "Poprzedni plik nazywa si� teraz /var/named/root.hints.old." ) 2>&1 | /usr/lib/sendmail -t exit 0
Niekt�rzy z was mogli zauwa�y�, �e plik root.hints jest te� dost�pny przez ftp z Internic'u. Prosz�, nie u�ywaj ftp do uaktualniania root.hints, powy�sza metoda jest o wiele bardziej przyjazna dla sieci.
Poprzednio by�a to sekcja o u�ywaniu bind'a 8 napisana przez David'a E. Smith'a (dave@bureau42.ml.org). Troch� j� zmieni�em, �eby pasowa�a do nowej nazwy sekcji.
Nie ma tego wiele. Poza u�ywaniem named.conf zamiast named.boot, wszystko jest identyczne. Bind-8 jest dostarczany ze skryptem konwertuj�cym pliki w ,,starym stylu'' na nowe. Przyk�adowy named.conf (stary) dla serwera cache:
directory /var/named cache . root.hints primary 0.0.127.IN-ADDR.ARPA 127.0.0.zone primary localhost localhost.zone
W linii komend, w katalogu bind8/src/bin/named (Przyjmuj�, �e masz dystrybucj� �r�d�ow�. Je�eli masz paczk� z binariami skrypt te� gdzie� musi by�, jednak�e nie jestem pewien gdzie. -ed.), napisz:
./named-bootconf.pl < named.conf > named.conf
Co stworzy named.conf:
// generated by named-bootconf.pl options { directory "/var/named"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "127.0.0.zone"; }; zone "localhost" { type master; file "localhost.zone"; };
Metoda ta konwertuje wszystko, co mo�na wpisa� do named.conf, jednak�e nie dodaje �adnych nowych rozszerze� i opcji konfiguracji, kt�re mo�na uzyska� w bind-8. Oto bardziej kompletny named.conf, kt�ry robi te same rzeczy, ale troch� bardziej sprawnie.
// To jest plik konfiguracyjny named (bind-8 lub p�niejszy) // Powinien by� zainstalowany jako /etc/named.conf. // Jedyna zmiana pliku ,,fabrycznego'' (poza tym komentarzem :)) // to odkomentowanie linii directory, poniewa� mam ju� pliki stref // w /var/named. options { directory "/var/named"; check-names master warn; /* domy�lne. */ datasize 20M; }; zone "localhost" IN { type master; file "localhost.zone"; check-names fail; allow-update { none; }; allow-transfer { any; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "127.0.0.zone"; check-names fail; allow-update { none; }; allow-transfer { any; }; }; zone "." IN { type hint; file "root.hints"; };
bind8/src/bin/named/test ma ten plik oraz kopie plik�w stref, kt�re wiele ludzi mo�e skopiowa� i od razu u�ywa�.
Formaty plik�w stref i root.hints s� identyczne, tak jak komendy ich uaktualniania.
W tej sekcji wymieni� kilka spo�r�d najcz�ciej zadawanych pyta� zwi�zanych z DNS'em i tym HOWTO, oraz odpowiedzi na nie. :-) Przeczytaj t� sekcj� przed wys�aniem do mnie listu.
Czytasz z�e HOWTO. Przeczytaj star� wersj� tego dokumentu, kt�ra opisuje bind 4, na http://www.math.uio.no/~janl/DNS/.
Kilka podpowiedzi: ,,forwarders'', ,,slave'' oraz spojrzenie na list� literatury na ko�cu tego HOWTO.
Utw�rz kilka rekord�w A dla www.zaj�ty.serwer i u�yj bind'a 4.9.3 lub p�niejszego. Wtedy bind b�dzie pokolei prze��cza� adresy. Nie b�dzie to dzia�a� z wcze�niejszymi wersjami bind'a.
Nie zak�adaj pliku root.hints, tylko pliki stref. To znaczy tak�e, �e nie b�dziesz musia� uaktualnia� tego pliku.
Je�eli podstawowy (primary) serwer ma adres 127.0.0.1 wstaw nast�puj�c� lini� w named.conf drugorz�dnego serwera:
zone "linux.bogus" { type slave; file "sz/linux.bogus"; masters { 127.0.0.1; }; };
Mo�esz wymieni� kilka alternatywnych serwer�w g��wnych, z kt�rych
strefa mo�e by� kopiowana w li�cie masters
, oddzielone przez ,,;''.
Otrzyma�em taki list od Ian'a Clark'a <ic@deakin.edu.au>, gdzie wyja�nia on jego spos�b dokonania tego:
Uruchamiam named na mojej ,,maskuj�cej si�'' maszynie. Mam dwa pliki
root.hints, jeden nazywa si� root.hints.real i zawiera prawdziwe nazwy serwer�w
nazw g��wnych, oraz drugi, root.hints.fake, kt�ry zawiera...
----
; root.hints.fake
; ten plik nie zawiera �adnych informacji
----
Kiedy roz��czam si�, kopiuj� root.hints.fake do root.hints i uruchamiam
named ponownie.
Kiedy ��cz� si�, kopiuj� root.hints.real do root.hints i restartuj� named.
To jest wykonywane odpowiednio przez ip-down i ip-up.
Pierwszy raz, kiedy przeprowadzam zapytanie off-line o nazw� domeny, named
nie ma szczeg��w, a wi�c wstawia taki komunikat w pliku messgaes:
Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
z czym mo�na �y�.
U mnie to dzia�a. Mog� u�ywa� serwera nazw dla maszyn lokalnych bez op�nienia,
jak w przypadku zewn�trznych nazw domen, a kiedy jestem w sieci, zapytania
o zewn�trzne domeny funkcjonuj� normalnie.
Pami�� podr�czna jest zapami�tywana ca�kowicie w pami�ci, nie jest zapisywana na dysk. Za ka�dym razem kiedy zabijesz named cache b�dzie stracony. Cache nie daje si� w �aden spos�b kontrolowa�. Named zarz�dza nim zgodnie z pewnymi prostymi zasadami i nie da si� tego omin��. Nie mo�esz kontrolowa� cache'u ani jego rozmiaru w �aden spos�b i z �adnego powodu. Je�eli chcesz, mo�esz ,,naprawi�'' to zmieniaj�c kod named. Jednak�e nie jest to zalecane.
Nie, named nie zapisuje pami�ci podr�cznej kiedy umiera. Znaczy to, �e cache musi by� zbudowany od nowa za ka�dym razem, kiedy zabijasz i uruchamiasz named ponownie. Nie ma sposobu, �eby zmusi� go do zapisywania cache'u w pliku. Je�eli chcesz, mo�esz to ,,naprawi�'' zmieniaj�c kod named. Nie jest to jednak zalecane.
Dokumentacja i narz�dzia
Prawdziwa Dokumentacja istnieje. Online i drukowana. Przeczytanie kilku z tych publikacji jest wymagane, �eby zrobi� krok od ma�oetatowego do pe�noetatowego administratora DNS. W druku, standardow� ksi��k� jest DNS i BIND, autorstwa C. Liu i P. Albitz'a, wydawnictwa O'Reilly & Associates, Sebastopol, CA, ISBN 0-937175-82-X. Czyta�em j�, jest �wietna. Jest te� sekcja o DNS w ksi��ce TCP/IP - Administracja sieci, autorstwa Craig'a Hunt'a z wydawnictwa O'Reilly..., ISBN 0-937175-82-X. Inna ksi��ka koniecznie do przeczytania przez dobrego admina DNS (lub kogokowiek dobrego z tej bran�y) jest Zen i Sztuka Naprawy Motocykli Roberta M. Prisiga, :-) dost�pne pod ISBN 0688052304 i inne.
Online znajdziesz r�ne rzeczy na http://www.dns.net/dnsrd/, http://www.isc.org/bind.html; FAQ, podr�cznik (BOG - Bind Operators Guide), specyfikacje i definicje protoko��w, oraz sztuczki DNS (te, i wiele, je�eli nie wszystkie RFC wspomniane poni�ej, tak�e znajduj� si� w dystrybucji bind'a). Nie czyta�em wi�kszo�ci z nich, ale przez to nie jestem pe�noetatowym administratorem DNS. Natomiast Arnt Gulbrandsen przeczyta� BOG i bardzo mu si� on spodoba� :-). Jest te� grupa news news://comp.protocols.tcp-ip.domains o DNS. Dodatkowo, jest te� troch� RFC o DNS'ie, najwa�niejsze s� prawdopodobnie te:
A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location of services (DNS SRV), October 1996
Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear, Address Allocation for Private Internets, 02/29/1996.
D. Barr, Common DNS Operational and Configuration Errors, 02/28/1996.
B. Barr Errors in RFC 1912, jest on dost�pny na http://www.cis.ohio-state.edu/~barr/rfc1912-errors.html
A. Romao, Tools for DNS debugging, 11/03/1994.
C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS Encoding of Geographical Location, 11/01/1994.
R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, New DNS RR Definitions, 10/08/1990.
P. Mockapetris, Domain names - implementation and specification, 11/01/1987.
P. Mockapetris, Domain names - concepts and facilities, 11/01/1987.
M. Lottor, Domain administrators operations guide, 11/01/1987.
M. Stahl, Domain administrators guide, 11/01/1987.
C. Partridge, Mail routing and the domain system, 01/01/1986.
To jest druga wersja DNS-HOWTO. Pierwsza wersja, dotycz�ca bind'a 4 zosta�a
przet�umaczona przez Piotra Pogorzelskiego
<piotr.pogorzelski@ippt.gov.pl
>. Prawa autorskie t�umaczenia
pierwszej
wersji nale�� w�a�nie do niego, a poniewa� ja przet�umaczy�em drug� wersj�
od pocz�tku, prawa autorskie t�umaczenia drugiej wersji nale�� do mnie.
Wersja 2.1 jest znacznie poprawiona w stosunku do 2.0.
Jak zwykle, je�eli znajdziesz jakie� b�edy, daj mi zna�.
# # # #
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22