DNS KAKO
Nicolai Langfeldt, janl@math.uio.no; preveo Josip Rodin,
jrodin@jagor.srce.hr
inačica 1.1, 20. srpnja 1999. (u originalu verzija 2.0.8)
KAKO postati mali DNS administrator.
______________________________________________________________________
Sadržaj
1. Uvod
1.1 Pravne stvari
1.2 Zasluge i poziv za pomoć
1.3 Posveta
2. Upoznavanje.
3. Caching only imenski server
3.1 Startanje named-a
4. Jednostavna domena.
4.1 Ali prvo malo suhe teorije
4.2 Naša domena.
4.3 Obrnuta zona.
5. Primjer prave domene
5.1 /etc/named.conf (ili /var/named/named.conf)
5.2 /var/named/root.hints
5.3 /var/named/zone/127.0.0
5.4 /var/named/zone/land-5.com
5.5 /var/named/zone/206.6.177
6. Održavanje.
7. Prebacivanje s verzije 4 na verziju 8
8. Pitanja i Odgovori
9. Kako postati veći DNS admin.
______________________________________________________________________
11.. UUvvoodd
Ključne riječi: DNS, bind, bind-4, bind-8, named, dialup, ppp, slip,
isdn, Internet, domain, name, hosts, resolving
11..11.. PPrraavvnnee ssttvvaarrii
(C)opyright 1995 Nicolai Langfeldt. Do not modify without amending
copyright, distribute freely but retain copyright message.
Hrvatski prijevod (c)opyright by Josip Rodin, slobodno za
distribuciju.
11..22.. ZZaasslluuggee ii ppoozziivv zzaa ppoommooćć
Želio bih zahvaliti Arntu Gulbrandsenu koji je čitao nedovršene
dijelove ovoga nebrojeno puta i dao puno korisnih prijedloga. Također
bih želio zahvaliti ljudima koji su e-mailali prijedloge i bilješke.
Ovo nikada neće biti završen dokument, molim vas šaljite mi e-mail o
vašim problemima i uspjesima, to može poboljšati HOWTO. Dakle, molim
vas, šaljite novac, komentare i/ili pitanja na janl@math.uio.no. Ako
pošaljete e-mail i želite odgovor, molim vas da provjerite je li
povratna adresa ispravna i da radi. Također, molim vas, pročitajte
``PiO'' poglavlje prije nego mi e-mailate.
Ako želiš prevesti ovaj HOWTO (sad je gotovo :), molim te, obavijesti
me tako da mogu pratiti na kojim sam jezicima objavljen, a da bih te
mogao obavijestiti kad se ovaj HOWTO promijeni.
11..33.. PPoossvveettaa
Ovaj HOWTO je posvećen Anne Line Norheim Langfeldt. Mada ga ona
vjerojatno nikada neće pročitati jer ona nije takav tip djevojke.
22.. UUppoozznnaavvaannjjee..
ŠŠttoo oovvoo jjee,, aa ššttoo nniijjee..
Za početnike, DNS znači _D_o_m_a_i_n _N_a_m_e _S_y_s_t_e_m -- sustav imenovanja
domena. DNS pretvara imena strojeva u IP brojeve koji su svi adrese
strojeva i mapira iz imena u adresu i iz adrese u ime. Ovaj KAKO
dokumentira kako definirati takva mapiranja koristeći Linux sustav.
Mapiranje je jednostavno povezivanje dviju stvari, u ovom slučaju
imena stroja, kao ftp.linux.org, i IP adrese stroja, kao
199.249.150.4.
DNS je, neupoznatom (tebi ;-), jedno od mračnih područja
administriranja mreže. Ovaj KAKO će pokušati učiniti neke stvari
jasnijima. On opisuje kako podesiti jednostavan DNS server. Počet ćemo
sa caching only serverom da bi došli do podešavanja primarnog DNS
imenskog servera za domenu. Za kompleksnije postavke možeš pogledati
``PiO'' poglavlje ovog dokumenta. Ako to nije opisano tamo trebat ćeš
pročitati Pravu Dokumentaciju. Što je i od čega se sastoji Prava
Dokumentacija bit će objašnjeno u ``zadnjem poglavlju''.
Prije nego počneš s ovim, trebao bi konfigurirati svoj stroj tako da
se možeš telnetirati na i s njega, i uspješno uspostaviti sve vrste
veza na mrežu, i posebno bi trebao moći se telnetirati na 127.0.0.1 i
time doći na svoj stroj (probaj sad!). Na početku također trebaš
ispravan /etc/nsswitch.conf (ili /etc/host.conf), /etc/resolv.conf i
/etc/hosts datoteku, jer njihovu funkciju ovdje neću objasniti. Ako
ovo već nemaš podešeno i u radu, _N_E_T_-_3 i _P_P_P_-_H_O_W_T_O objašnjavaju kako
to podesiti. Pročitaj ih.
Kada kažem 'tvoj stroj', mislim na stroj na kojem pokušavaš podesiti
DNS. Ne na niti jedan drugi stroj koji imaš, a koji je uključen u
tvoje mrežne napore.
Pretpostavit ću da nisi iza bilo kakvog firewalla koji blokira upite o
imenima. Ako jesi, trebat ćeš posebnu konfiguraciju, i pogledaj
poglavlje ``PiO''.
Opsluživanje imenima na Unixu je omogućeno programom zvanim named. On
je dio bind paketa kojim koordinira Paul Vixie uime Internet Software
Consortium-a. named je uključen u većinu Linux distribucija i obično
je instaliran kao /usr/sbin/named. Ako imaš named, vjerojatno ga možeš
i koristiti; ako ga nemaš, nabavi ga binarnog sa Linux FTP lokacije,
ili nađi najnoviji i najbolji izvorni kod sa
ftp.isc.org:/isc/bind/src/cur/bind-8/. Ovaj KAKO govori o verziji 8.
Stara verzija ovog HOWTO-a, o verziji 4, je još uvijek dostupna na
u slučaju da koristiš bind 4
(nažalost, KAKO za verziju 4 ne postoji :( op. prev.). Ako named-ova
man stranica govori o named.conf, imaš bind 8, a ako govori o datoteci
named.boot, imaš bind 4. Ako imaš 4 i brineš o sigurnosti, stvarno bi
trebao nadograditi na noviju 8-icu.
DNS je baza podataka cijele mreže. Pazi što ćeš staviti u nju. Ako
staviš smeće u nju, ti i drugi ćete dobiti smeće iz nje. Održavaj svoj
DNS urednim i dosljednim i dobro će te služiti. Nauči ga koristiti,
administrirati, ispravljati greške i bit ćeš još jedan dobar
administrator koji čuva mrežu od padanja na koljena, pretrpanu zbog
krivog upravljanja.
U ovom dokumentu navest ću sigurno nekoliko stvari koje nisu sasvim
istinite (one su makar polovično istinite ipak). To je sve u interesu
jednostavnosti. Stvari će (vjerojatno ;-) raditi ako budeš vjerovao
onom što ću reći.
NNaappoommeennaa:: pravi rezervne (backup) kopije svih datoteka koje ti naložim
da promijeniš ako ih već imaš, tako da ako ništa ne bude radilo nakon
ovoga, možeš sve vratiti u staro, radno stanje.
33.. CCaacchhiinngg oonnllyy iimmeennsskkii sseerrvveerr
PPrrvvaa ssttaavvkkaa DDNNSS kkoonnffiigguurraacciijjee,, vvrrlloo kkoorriissnnaa kkoorriissnniicciimmaa kkoojjii ssee
ssppaajjaajjuu mmooddeemmsskkiimm bbiirraannjjeemm pprroovviiddeerraa..
Caching only imenski server će naći odgovor na upite o imenima i
zapamtiti odgovor sljedeći put kad ga budeš trebao. Ovo će znatno
skratiti vrijeme čekanja sljedeći put, posebno ako si na sporoj vezi.
Prvo ćeš trebati datoteku zvanu /etc/named.conf. Ona je pročitana kad
se pokreće named. Za sada ona treba sadržavati samo ovo:
______________________________________________________________________
// Konfiguracijska datoteka za caching only imenski server
options {
directory "/var/named";
// Odkomentiravanje ovoga može pomoći ako moraš proći kroz
// firewall, a stvari baš i ne rade:
// 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";
};
______________________________________________________________________
Linija 'directory' govori namedu gdje da potraži datoteke. Sve
datoteke nazvane slično će biti relativne ovome. Također, pz je
direktorij ispod /var/named, npr. /var/named/pz. /var/named je pravi
direktorij prema _L_i_n_u_x _F_i_l_e _S_y_s_t_e_m _s_t_a_n_d_a_r_d_u.
Datoteka zvana /var/named/root.hints se spominje ovdje. Ona treba
sadržavati ovo:
______________________________________________________________________
. 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
______________________________________________________________________
Ova datoteka opisuje korijenske imenske servere u svijetu. Oni se
mijenjaju s vremenom i lista se mora održavati. Pogledaj poglavlje
``Održavanje.'' za upute kako ih osvježavati.
Sljedeći odjeljak u named.conf datoteci je opis zone. Objasnit ću
njenu upotrebu u kasnijim poglavljima, zasad samo napravite datoteku
zvanu 127.0.0 sljedećeg sadržaja, u poddirektoriju pz:
______________________________________________________________________
@ 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.
______________________________________________________________________
Dalje, trebat ćeš /etc/resolv.conf koji će izgledati slično ovome:
______________________________________________________________________
search poddomena.tvoja-domena.hr tvoja-domena.hr
nameserver 127.0.0.1
______________________________________________________________________
Linija `search' određuje koje će se domene pretraživati za neki host
na kojeg se želiš spojiti. Linija `nameserver' određuje adresu na
kojoj je imenski server, u ovom slučaju tvoj stroj jer je to adresa na
kojoj radi named (127.0.0.1 je prava, i ako tvoj stroj ima i neku
drugu adresu). Ako želiš više imenskih servera, stavi `nameserver'
liniju za svaki. (Napomena: named nikada ne čita ovu datoteku, to
radi resolver koji koristi named.)
Da ilustriram što ova datoteka radi: ako klijent stroj pokuša odrediti
adresu za bla, tada se prvo probava adresa bla.poddomena.tvoja-
domena.hr, pa bla.tvoja-domena.hr, i posljednja bla. Ako klijent stroj
pokuša odrediti adresu za hlapic.srce.hr,
hlapic.srce.hr.poddomena.tvoja-domena.hr se pokuša prvo, pa
hlapic.srce.hr.tvoja-domena.hr, i na kraju hlapic.srce.hr. Ne bi
trebao staviti puno domena u search liniju, jer treba vremena dok se
sve pretraže.
Ovaj primjer pretpostavlja da si ti u domeni poddomena.tvoja-
domena.hr, a tvoj stroj se vjerojatno zove tvoj-stroj.poddomena.tvoja-
domena.hr. Search linija ne bi trebala sadržavati tvoju TLD/ND (_T_o_p
_L_e_v_e_l _D_o_m_a_i_n, _N_a_j_v_i_š_a _D_o_m_e_n_a, `hr' u ovom slucaju). Ako se često
trebaš spajati na strojeve u drugoj domeni, možeš tu domenu dodati u
search liniju ovako:
______________________________________________________________________
search poddomena.tvoja-domena.hr tvoja-domena.hr neka-domena.hr
______________________________________________________________________
i tako dalje. Očito je da trebaš staviti prava imena domena umjesto
ovih primjera. Uoči da nema točke na krajevima imena domena.
Dalje, ovisno o verziji tvog libc-a ili trebaš popraviti
/etc/nsswitch.conf ili /etc/host.conf. Ako već imaš
/etc/nsswitch.conf, to je ono što ćemo popraviti, ako ne, popravit
ćemo host.conf.
_/_e_t_c_/_n_s_s_w_i_t_c_h_._c_o_n_f
Ovo je duga datoteka koja određuje gdje dobiti različite vrste
podataka, iz koje datoteke ili baze. Obično sadrži pomoćne komentare
pri vrhu, koje bi trebao pročitati, sada. Nakon toga nađi liniju koja
počinje sa `hosts:', i ona bi trebala biti ovakva:
______________________________________________________________________
hosts: files dns
______________________________________________________________________
Ako ne postoji linija koja počinje s `hosts:', onda umetni onu gornju.
Ona govori da programi prvo trebaju pogledati u /etc/hosts datoteku, i
onda provjeriti kod DNS-a prema resolv.conf-u.
_/_e_t_c_/_h_o_s_t_._c_o_n_f
Ona vjerojatno sadrži puno linija, od kojih jedna počinje sa 'order' i
treba izgledati ovako:
______________________________________________________________________
order hosts,bind
______________________________________________________________________
Ukoliko ne postoji `order' linija, trebaš ubaciti takvu. Ona govori da
rutine za određivanje imena strojeva prvo gledaju u /etc/hosts, onda
pitaju imenski server (za kog si rekao u resolv.conf-u da je
127.0.0.1). Ove dvije posljednje datoteke su dokumentirane u _r_e_s_o_l_v(8)
man stranici (učini `man 8 resolv') u većini Linux distribucija. Ta
man stranica je IMHO čitljiva, i svi, pogotovo DNS administratori, bi
je trebali pročitati. Učini to sada, jer ako kažeš "napravit ću to
kasnije" nikad se nećeš vratiti i učiniti to.
33..11.. SSttaarrttaannjjee nnaammeedd--aa
Nakon svega, vrijeme je da startamo named. Ako modemski biraš
providera, prvo se spoji. Otipkaj `ndc start', i pritisni enter, bez
opcija. Ako to ne uspije, probaj `/usr/sbin/ndc start'. Ako ni to ne
uspije, pročitaj poglavlje ``PiO''. Sada možeš testirati svoje
postavke. Ako pogledaš svoju datoteku sa syslog porukama (obično se
zove /var/adm/messages, drugi direktorij može biti /var/log, a druga
datoteka syslog) dok startaš named (učini `tail -f /var/log/messages')
trebao bi vidjeti nešto kao ovo:
(linije koje završavaju sa \ nastavljaju se u sljedećem retku)
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.
Ako je bilo ikakvih poruka o greškama, mora da je došlo do greške.
named će imenovati datoteku u kojoj je (ili named.conf ili root.hints
nadam se :-). Ubij (kill) named, vrati se i provjeri datoteku.
Sada je vrijeme da startamo nslookup da pregledamo tvojih ruku djelo.
$ nslookup
Default Server: localhost
Address: 127.0.0.1
>
Ako je to sve što dobiješ, onda radi. Nadajmo se. Ako nije, vrati se i
provjeri sve. Svaki put kad promijeniš named.conf datoteku, moraš
ponovo startati named koristeći `ndc restart' naredbu.
Sada možeš postaviti upit. Probaj pogledati ime stroja koji ti je
blizu. jagor.srce.hr je meni blizu, na SRCE-u:
> jagor.srce.hr
Server: localhost
Address: 127.0.0.1
Name: jagor.srce.hr
Address: 161.53.2.130
nslookup je sada upitao tvoj named da potraži stroj jagor.srce.hr. On
se onda spojio na jedan od imenskih servera navedenih u tvojoj
root.hints datoteci, i upitao za put od tamo. Možda će trebati malo
vremena dok ne dobiješ rezultat pošto on pretražuje sve domene koje si
naveo u /etc/resolv.conf datoteci.
Ako upitaš isto to ponovo, dobit ćeš ovo:
> jagor.srce.hr
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: jagor.srce.hr
Address: 161.53.2.130
Primijeti liniju `Non-authoritative answer:' koju smo ovaj put dobili.
To znači da named ovaj put nije otišao tražiti po mreži, već je
pogledao u svoj cache i našao ga tamo. Ali informacija u cache-u može
biti zastarjela (_s_t_a_l_e). Tako da znaš za ovu (vrlo malu) opasnost kada
dobiješ `Non-authoritative answer:'. Kada nslookup kaže ovo drugi put
kada ti upitaš za stroj, to je siguran znak da named cache-ira
informaciju i to radi. Iz nslookup-a izlaziš dajući naredbu `exit'.
Sada znaš kako podesiti caching named. Popij pivo, mlijeko, ili što
već voliš da to proslaviš.
44.. JJeeddnnoossttaavvnnaa ddoommeennaa..
KKaakkoo ppooddeessiittii vvllaassttiittuu ddoommeennuu..
44..11.. AAllii pprrvvoo mmaalloo ssuuhhee tteeoorriijjee
Prije nego što zapravo počnemo ovo poglavlje, reći ću ti malo o
teoriji rada DNS-a. I ti ćeš to pročitati jer je to dobro za tebe. Ako
ti se `ne da', ipak bi trebao nabrzinu prolistati. Prestani listati
kada dođeš do dijela gdje se opisuje named.conf datoteka.
DNS je hijerarhijski sustav. Vrh se piše `.' i čita `kkoorriijjeenn'. Ispod .
su mnoge TToopp LLeevveell DDoommaaiinnss / NNaajjvviiššee DDoommeennee, a najpoznatije su ORG,
COM, EDU i NET, ali postoje mnoge druge (HR, BA, SI, op.prev.).
Kada traži stroj, upit prolazi rekurzivno kroz hijerarhiju počevši od
vrha. Ako želiš saznati adresu stroja prep.ai.mit.edu, tvoj imenski
server mora naći imenski server koji poslužuje edu. On pita . server
(. serveri su mu već poznati, za to služi root.hints datoteka), a .
server daje listu edu servera:
$ nslookup
Default Server: localhost
Address: 127.0.0.1
Počnimo pitati korijenski server:
> server c.root-servers.net.
Default Server: c.root-servers.net
Address: 192.33.4.12
Podesi tip upita (Query type) na NS (_n_a_m_e _s_e_r_v_e_r _r_e_c_o_r_d_s - podaci o
imenskim serverima):
> set q=ns
Pitaj o edu:
> edu.
Zadnja . ovdje je važna, ona govori serveru da tražimo edu koji je baš
ispod . (ovo nešto sužuje potragu).
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
Ovo nam govori da *.root-servers.net poslužuje edu., tako da možemo
nastaviti pitati c.root-servers.net. Sada želimo znati tko poslužuje
sljedeći nivo imena domene: 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 poslužuju mit, odaberi jednog i pitaj o
ai.mit.edu:
> server W20NS.mit.edu.
Imena strojeva nisu ovisna o malim i velikim slovima, ali ja koristim
svoj miš za cut&paste, tako da se imena iskopiraju točno kakva jesu na
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
Dakle muesli.ai.mit.edu je imenski server za ai.mit.edu:
> server MUESLI.AI.MIT.EDU
Default Server: MUESLI.AI.MIT.EDU
Address: 128.52.39.7
Sada ću promijeniti tip upita, kada smo našli imenski server pa ćemo
ga pitati sve što on zna 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
Tako smo počevši od . uspješno našli imenske servere za sljedeći nivo
imena domene. Ako si koristio svoj DNS server umjesto ostalih, tvoj
named bi naravno cache-irao sve informacije koje bi 'iskopao' za tebe,
i ne bi to trebao pitati ponovo neko vrijeme.
Domena o kojoj se puno manje govori, ali jednako važna domena je in-
addr.arpa. Ona se također dijeli kao i `normalne' domene. in-
addr.arpa nam dopušta da dobijemo ime stroja bez da imamo njegovu
adresu. Važna stvar kod ovoga je da primijetiš da su IP-evi zapisani
obrnutim redosljedom u in-addr.arpa. domeni. Ako imaš adresu stroja:
161.53.3.7, named je traži baš kao dns.srce.hr: traži arpa. servere.
Traži u in-addr.arpa. serverima. Traži 161.in-addr.arpa. servere.
Traži 53.161.in-addr.arpa. Traži 3.53.161.in-addr.arpa. servere.
Traži potrebne podatke o 7.3.53.161.in-addr.arpa. serveru. Pametno,
ha? (Reci `da'.) Obrtanje brojeva može biti zbunjujuće prve dvije
godine, ipak.
Upravo sam izrekao laž. DNS ne radi doslovno načinom kojim sam to
upravo objasnio. Ali je dovoljno slično.
44..22.. NNaaššaa ddoommeennaa..
Sada ćemo definirati našu domenu. Napravit ćemo domenu linux.bogus i
definirati strojeve u njoj. Koristim totalno neispravno ime domene
(ali s točnom sintaksom) da ne bi smetali nikoga Tamo Vani.
Još jedna stvar prije nego počnemo: nisu svi znakovi dozvoljeni u
imenima strojeva. Ograničeni smo na slova engleske abecede: a-z, i
brojevi 0-9 i znak `-' (crta). Drži se tih znakova. Velika i mala
slova su ista DNS-u, tako da su dns.srce.hr i DNS.SRCE.Hr isto.
Već smo započeli ovaj dio sa ovom linijom u datoteci named.conf:
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
Primijeti manjak znaka `.' na kraju imena domena u ovoj datoteci. Ovo
govori da ćemo sada definirati zonu 0.0.127.in-addr.arpa, tako da smo
glavni (_m_a_s_t_e_r) server za nju i da je ona pohranjena u datoteci
@ 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.
Primijeti znak `.' na kraju svih punih imena domena u ovoj datoteci,
nasuprot gornjoj datoteci named.conf. Neki ljudi vole započeti svaku
datoteku zone sa $ORIGIN direktivom, ali to je višak. Porijeklo
(mjesto iz DNS hijerarhije gdje pripada) datoteke zone je određeno u
'zone' sekciji named.conf datoteke, u ovom slučaju to je 0.0.127.in-
addr.arpa.
Ova `ddaattootteekkaa zzoonnee' sadrži 3 `zzaappiissaa oo rreessuurrssuu' (_r_e_s_o_u_r_c_e _r_e_c_o_r_d, RR):
SOA RR, NS RR, i PTR RR. SOA je skraćenica od _S_t_a_r_t _O_f _A_u_t_h_o_r_i_t_y
(početak nadležnosti). Znak `@' je posebna oznaka koja znači
porijeklo, i zato što `domain' kolona za ovu datoteku kaže 0.0.127.in-
addr.arpa, prva linija zapravo znači:
0.0.127.in-addr.arpa. IN SOA ...
NS je NNaammee SSeerrvveerr RRRR (imenski server). Nema znaka `@' na početku ove
linije, ovo se nameće jer je zadnja linija započela sa `@'. To nas
štedi od tipkanja. Tako da NS linija zapravo znači:
0.0.127.in-addr.arpa. IN NS ns.linux.bogus
Ona govori DNS-u koji stroj je imenski server domene 0.0.127.in-
addr.arpa, a to je ns.linux.bogus. 'ns' je suglasno ime za imenske
servere, ali kako se web serveri koji se suglasno zovu www.nešto, to
ime može biti bilo što.
I konačno, PTR zapis govori da stroj na adresi 1 u podmreži
0.0.127.in-addr.arpa. odn. 127.0.0.1 se zove localhost.
SOA zapis je uvod u svaku datoteku zone, i treba biti točno jedan
takav zapis u svakoj datoteci zone, prvi zapis. On opisuje zonu,
odakle dolazi (stroj zvan ns.linux.bogus), tko je odgovoran za njen
sadržaj (hostmaster@linux.bogus), koja je ovo verzija datoteke zone
(serial: 1) i ostale stvari koje imaju veze sa cache-iranjem i
sekundarnim DNS serverima. Za ostala polja (refresh, retry, expire i
minimum) koristi brojeve koji se koriste u ovom KAKO-u i trebao bi
biti siguran.
Sada restartaj svoj named (naredba je 'ndc restart') i upotrijebi
nslookup da pregledaš što si napravio:
$ 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
Dakle on uspijeva dobiti ime localhost iz adrese 127.0.0.1, dobro.
Sada za naš glavni zadatak, domenu linux.bogus, ubaci novi 'zone'
odjeljak u named.conf-u:
______________________________________________________________________
zone "linux.bogus" {
notify no;
type master;
file "pz/linux.bogus";
};
______________________________________________________________________
Primijeti nastavljeni nedostatak krajnjeg `.' na imenu domene u
datoteci named.conf.
U datoteci zone linux.bogus stavit ćemo neke totalno neispravne
podatke (ali s točnom sintaksom):
______________________________________________________________________
;
; Datoteka zone za domenu linux.bogus
;
; Puna datoteka zone
;
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial, današnji datum + današnja revizija
8H ; refresh, sekundi
2H ; retry, sekundi
1W ; expire, sekundi
1D ) ; minimum, sekundi
;
NS ns ; internet adresa imenskog servera
MX 10 mail.linux.bogus ; primarni Mail eXchanger
MX 20 mail.friend.bogus. ; sekundarni Mail eXchanger
;
localhost A 127.0.0.1
ns A 192.168.196.2
mail A 192.168.196.4
______________________________________________________________________
Dvije stvari se moraju zapaziti kod SOA zapisa. ns.linux.bogus mora
biti pravi stroj sa A zapisom (_A_d_d_r_e_s_s=adresa, op.prev.). Nije
ispravno imati CNAME (_C_a_n_o_n_i_c_a_l _N_A_M_E=regularno ime, op.prev.) zapis za
stroj koji se navede u SOA zapisu. Njegovo ime ne mora biti `ns', može
biti bilo koje ispravno ime stroja. Dalje, hostmaster.linux.bogus
treba biti pročitano kao hostmaster@linux.bogus, ovo treba biti mail
alias (drugo ime e-maila), ili mailbox (e-mail 'sandučić'), gdje
osoba(e) koja održava DNS redovno čita postu. Bilo kakav e-mail koji
se tiče domene bit će poslan na adresu navedenu ovdje. Ime ne mora
biti `hostmaster', može biti bilo kakva ispravna e-mail adresa, ali e-
mail adresa `hostmaster' se očekuje da će također raditi.
Postoji jedan novi zapis o resursu (RR) u ovoj datoteci, MMXX zzaappiiss, ili
_M_a_i_l _e_X_c_h_a_n_g_e_r _R_R (zapis o resursu razmjenitelja pošte). On govori
sustavima za poštu gdje slati poštu koja je adresirana na
netko@linux.bogus, ustvari na mail.linux.bogus ili mail.friend.bogus.
Broj ispred imena svakog stroja je prioritet tog MX RR-a. RR s
najmanjim brojem (ovdje 10) je onaj kome će se e-mail slati prvom. Ako
njemu ne uspije, pošta će biti poslana onome s prvim većim brojem,
sekundarnim strojem za poštu, npr. mail.friend.bogus koji ovdje ima
prioritet 20.
Restartaj named pokrećući 'ndc restart'. Pregledaj rezultate sa
nslookup-om:
$ 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
Nakon pažljivijeg pregleda otkrit ćeš grešku. Linija:
linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
je neispravna. Ona treba biti:
linux.bogus preference = 10, mail exchanger = mail.linux.bogus
Namjerno sam napravio grešku da bi ti mogao učiti iz nje :-) Gledajući
u datoteku zone naći ćemo liniju:
MX 10 mail.linux.bogus ; primarni Mail eXchanger
kojoj nedostaje točka. Ili ima 'linux.bogus' viška. Ako ime stroja u
datoteci zone ne završava točkom, porijeklo se dodaje na njen kraj
uzrokujući dvostruki linux.bogus.linux.bogus. Dakle ili:
______________________________________________________________________
MX 10 mail.linux.bogus. ; primarni Mail eXchanger
______________________________________________________________________
ili:
______________________________________________________________________
MX 10 mail ; primarni Mail eXchanger
______________________________________________________________________
je ispravno. Ja više volim zadnji oblik, kraći je za tipkanje. Postoje
neki bind znalci koji se ne slažu, a i neki koji se slažu s ovim. U
datoteci zone zapis bi trebao završavati s domenom i točkom, ili bez
ičega, u tom slučaju bi se nadopunio porijeklom.
Moram naglasiti da u datoteci named.conf ne smije biti `.' nakon imena
domena. Nemaš pojma koliko puta je `.' viška ili manjka 'sredila'
stvari i užasno zbunila ljude.
Nakon što sam ovo naglasio, evo nove datoteke zone, sa nekim dodatnim
informacijama:
______________________________________________________________________
;
; Datoteka zone za domenu linux.bogus
;
; Puna datoteka zone
;
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial, današnji datum + današnja revizija
8H ; refresh, sekundi
2H ; retry, sekundi
1W ; expire, sekundi
1D ) ; minimum, sekundi
;
TXT "Linux.Bogus, tvoj DNS savjetnik"
NS ns ; internet adresa imenskog servera
NS ns.friend.bogus.
MX 10 mail ; primarni Mail eXchanger
MX 20 mail.friend.bogus. ; sekundarni Mail eXchanger
localhost A 127.0.0.1
gw A 192.168.196.1
HINFO "Cisco" "IOS"
TXT "The 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"
______________________________________________________________________
Više je novih RR-ova ovdje: HHIINNFFOO (_H_o_s_t _I_N_F_O_r_m_a_t_i_o_n=informacije o
stroju) ima dva dijela, dobra je navika staviti ih u navodnike. Prvi
dio je hardver ili CPU na stroju, a drugi dio je softver ili OS na
stroju. Stroj zvan `ns' ima Pentium CPU i radi pod Linuxom 2.0. CCNNAAMMEE
(_C_a_n_o_n_i_c_a_l _N_A_M_E) je način da date svakom stroju više imena. Tako je
`www' drugo ime za `ns'.
Korištenje CNAME zapisa je i osporavano. Ali je sigurno postupati po
pravilu da MX, CNAME ili SOA zapis ne smiju nikad upućivati na CNAME
zapis, već na nešto sa A zapisom, i bilo bi krivo imati:
______________________________________________________________________
bla CNAME www ; NE!
______________________________________________________________________
ali ispravno imati:
______________________________________________________________________
bla CNAME ns ; Da!
______________________________________________________________________
Također je sigurno pretpostaviti da CNAME nije ispravno ime stroja za
e-mail adresu: webmaster@www.linux.bogus je neispravna e-mail adresa
prema gornjim postavkama. Možeš očekivati vrlo mali broj admina Tamo
Vani koji će primijeniti ovo pravilo i ako ono vrijedi tebi. Način
kako izbjeći ovo je koristeći A zapise (i možda neke druge, kao MX
zapis):
______________________________________________________________________
www A 192.168.196.2
______________________________________________________________________
Velik broj starih bind stručnjaka preporučuje ne koristiti CNAME. Zato
vrlo ozbiljno razmisli o ne korištenju toga.
Ali kako vidiš, ovaj KAKO i puno mjesta ne prate to pravilo.
Učitaj novu bazu podataka pokrećući 'ndc reload', što uzrokuje da
named ponovo pročita svoje datoteke.
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> ls -d linux.bogus
Ovo znači da će se izlistati svi zapisi. To rezultira ovim:
[localhost]
$ORIGIN linux.bogus.
@ 1D IN SOA ns hostmaster (
199802151 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
1D IN NS ns
1D IN NS ns.friend.bogus.
1D IN TXT "Linux.Bogus, tvoj DNS savjetnik"
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 "The 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 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
To je dobro. Kako vidiš, izgleda vrlo slično samoj datoteci zone.
Provjerimo što kaže za samog www-a:
> 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
Drugim riječima, pravo ime za www.linux.bogus je ns.linux.bogus, i
daje ti neke informacije o ns-u također, dovoljno da se spojiš na
njega da si program.
Sada smo na pola puta.
44..33.. OObbrrnnuuttaa zzoonnaa..
Sada programi mogu prebacivati imena u linux.bogus-u u adrese na koje
se mogu spojiti. Ali također je potrebna i obrnuta zona, koja
omogućuje da DNS prebacuje iz adrese u ime. Ovo ime je korišteno kod
mnogih servera raznih vrsta (FTP, IRC, WWW i drugi) da bi odredili da
li će pričati s tobom ili ne, i ako da, možda i koliko će ti
prioriteta pridati. Za puni pristup svim uslugama na Internetu
potrebna je obrnuta zona.
Stavi ovo u named.conf:
______________________________________________________________________
zone "196.168.192.in-addr.arpa" {
notify no;
type master;
file "pz/192.168.196";
};
______________________________________________________________________
Ovo je upravo kako sa 0.0.127.in-addr.arpa, a i sadržaj je sličan:
______________________________________________________________________
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; Serial, današnji datum + današnja revizija
8H ; Refresh
2H ; Retry
1W ; Expire
1D) ; Minimum 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 ftp.linux.bogus.
______________________________________________________________________
Sada trebaš opet restartati svoj named (ndc restart) i pregledati svoj
rad sa nslookup-om:
> 192.168.196.4
Server: localhost
Address: 127.0.0.1
Name: mail.linux.bogus
Address: 192.168.196.4
tako, izgleda OK, neka izbaci cijelu stvar da i to pregledaš:
> 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 ftp.linux.bogus.
@ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
Izgleda dobro!
Postoji nekoliko stvari koje bi trebao dodati ovdje. IP brojevi
korišteni gore su uzeti iz jednog od blokova 'privatnih mreža', koji
nisu dopušteni za javnu upotrebu na Internetu. Zato su prikladni i
sigurni kao primjer u ovom KAKO-u. Druga stvar je 'notify no;' linija.
Ona govori namedu da ne obavijesti svoje sekundarne (_s_l_a_v_e=ropske)
servere kada se dogodi promjena u jednoj od datoteka zona. U bindu 8
named može obavijestiti ostale servere navedene u NS zapisima u
datoteci zone kada je zona promijenjena. Ovo je zgodno za uobičajenu
upotrebu, ali za privatne pokuse sa zonama ova funkcija treba biti
isključena, ne želimo da pokus zagadi Internet, zar ne?
I, naravno, ova domena je stvarno neispravna, kao i sve adrese u njoj.
Za pravi primjer domene iz stvarnosti pogledaj sljedeće poglavlje.
55.. PPrriimmjjeerr pprraavvee ddoommeennee
((uu kkoojjeemm ććeemmoo ppookkaazzaattii nneekkee pprraavvee ddaattootteekkee zzoonnee))
Korisnici su predložili da uključim pravi primjer radeće domene kao i
školski primjer.
Koristim ovaj primjer sa dozvolom Davida Bullocka iz LAND-5. Ove
datoteke su bile aktualne 24. rujna 1996., i uređivane su da se uklope
u bind-8 ograničenja i koriste moje nadopune. Tako da ovo što vidite
ovdje se razlikuje ponešto od onoga što ćete dobiti ako postavite upit
LAND-5-ovim imenskim serverima sada.
55..11.. //eettcc//nnaammeedd..ccoonnff ((iillii //vvaarr//nnaammeedd//nnaammeedd..ccoonnff))
Ovdje nalazimo master zone sekcije za dvije potrebne obrnute zone:
mreža 127.0.0, kao i LAND-5-ova 206.6.177 podmreža. I primary liniju
za LAND-5-ovu forward zonu land-5.com. Također primijeti da se umjesto
stavljanja datoteka u direktorij zvan 'pz', kako ja to radim u ovom
KAKO-u, on ih stavlja u direktorij zvan 'zone'.
______________________________________________________________________
// Boot file for LAND-5 name server
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";
};
______________________________________________________________________
Ako ovo staviš u svoju named.conf datoteku za igru, MMOOLLIIMM TTEE stavi:
'notify no;' u zone sekcije za dvije land-5 zone, tako da izbjegnemo
nezgode.
55..22.. //vvaarr//nnaammeedd//rroooott..hhiinnttss
Ne zaboravi da je ova datoteka dinamička, i da je ova navedena ovdje
stara. Bolje ti je da koristiš onu napravljenu sada, sa dig-om, kao
što je to objašnjeno prije.
______________________________________________________________________
; <<>> 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
______________________________________________________________________
55..33.. //vvaarr//nnaammeedd//zzoonnee//112277..00..00
Samo osnove, obavezni SOA zapis, i zapis koji određuje 127.0.0.1 kao
localhost. Oba su nužna. Ništa više ne treba biti u ovoj datoteci. Ona
se vjerojatno nikad neće morati mijenjati, osim ako se adresa tvog
imenskog servera ili hostmastera promijeni.
______________________________________________________________________
@ 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.
______________________________________________________________________
55..44.. //vvaarr//nnaammeedd//zzoonnee//llaanndd--55..ccoomm
Ovdje vidimo obavezni SOA zapis, i potrebne NS zapise. Možemo vidjeti
da on ima sekundarni name server na ns2.psi.net. Ovo je kako treba
biti, uvijek treba imati vanjski site za sekundarni server kao
rezervnu kopiju. Možemo također vidjeti da on ima glavni stroj zvan
land-5 koji se brine o mnogim Internet uslugama, i da je to napravio
sa CNAME-ovima (alternativa je korištenje A zapisa).
Kao što vidiš iz SOA zapisa, datoteka zone dolazi iz land-5.com, osoba
za kontakt je root@land-5.com. 'hostmaster' je još jedna često
korištena adresa za odgovornu osobu. Serijski broj je u suglasnom
ggggmmdd formatu sa današnjom revizijom dodanom; ovo je vjerojatno
šesta inačica datoteke zone dana 20. rujna 1996.g. Zapamti da se
serijski broj mora monotono povećavati, ovdje je samo jedna brojka za
današnji serijski broj, tako da nakon 9 uređivanja on mora čekati do
sutra prije nego što promijeni datoteku ponovo. Razmisli o korištenju
dvije brojke.
______________________________________________________________________
@ IN SOA land-5.com. root.land-5.com. (
199609206 ; serial, danasnji datum + danasnja revizija
8H ; refresh, sekundi
2H ; retry, sekundi
1W ; expire, sekundi
1D ) ; minimum, sekundi
NS land-5.com.
NS ns2.psi.net.
MX 10 land-5.com. ; primarni 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"
;
; Radne stanice
;
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
; {Puno ponovljenih definicija obrisano - 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
______________________________________________________________________
Ako pregledaš land-5 imenski server naći ćeš da su imena strojeva u
obliku ws_broj. Nakon kasnijih bind 4 verzija named je počeo uvoditi
ograničenja u znakovima koji se smiju koristiti u imenima strojeva.
Tako da to uopće ne radi sa bind-8, i '_' (podvlaka) se zamjenjuje sa
'-' (crta).
Još jednu stvar treba primijetiti, a ta je da radne stanice nemaju
individualna imena, već prefiks popraćen sa zadnja dva dijela IP
broja. Koristeći takav sustav možeš znatno pojednostaviti održavanje,
ali to može biti neosobno, i ustvari izvor nezadovoljstva među tvojim
korisnicima.
Također vidimo da je funn.land-5.com alias za land-5.com, ali
koristeći A zapis, ne CNAME zapis.
55..55.. //vvaarr//nnaammeedd//zzoonnee//220066..66..117777
Ovu datoteku ću komentirati nakon nje.
______________________________________________________________________
@ 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.
;
; Serveri
;
1 PTR router.land-5.com.
2 PTR land-5.com.
2 PTR funn.land-5.com.
;
; Radne stanice
;
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.
; {Puno ponovljenih definicija obrisano - 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.
______________________________________________________________________
Obrnuta zona je dio podešavanja koji izgleda uzrokuje najviše nevolja.
Koristi se da se nađe ime stroja ako imaš IP broj istog. Primjer: ti
si IRC server i prihvaćaš veze od IRC klijenata. Ipak, ti si norveški
IRC server tako da želiš prihvatiti veze samo iz Norveške i ostalih
skandinavskih zemalja. Kada uspostaviš vezu s klijentom, C library
može ti reći IP broj drugog stroja zato što se IP broj klijenta
pojavljuje u svim paketima koji prolaze mrežom. Sada možeš pozvati
funkciju 'gethostbyaddr' koja pogleda ime stroja određenog IP brojem.
gethostbyaddr će pitati DNS server, koji će onda pregledati DNS
tražeći stroj.
Pretpostavimo da se klijent spaja sa adrese ws-177200.land-5.com. IP
broj kojeg C library daje IRC serveru jest 206.6.177.200. Da bismo
saznali ime tog stroja, moramo naći 200.177.6.206.in-addr.arpa. DNS
server će prvo naći arpa. servere, pa in-addr.arpa. servere, prateći
obrnuti trag kroz 206, pa 6, i na kraju će naći server za
177.6.206.in-addr.arpa zonu na land-5. Iz toga će finalno dobiti
odgovor da za 200.177.6.206.in-addr.arpa imamo 'PTR
ws-177200.land-5.com' zapis, što znači da ime koje ide uz
206.6.177.200 jest ws-177200.land-5.com. Kao i objašnjenje kako se
pogleda prep.ai.mit.edu, i ovo je malo fiktivno.
Da se vratimo na primjer IRC servera. IRC server prihvaća samo veze iz
skandinavskih zemalja, odn. *.no, *.se, i *.dk, pa ime
ws-177200.land-5.com očito ne zadovoljava nijedan uvjet, i server će
se odbiti povezati. Kad ne bi postojalo reverzno mapiranje IP-a
206.2.177.200 kroz in-addr.arpa zonu, server ne bi nikako mogao naći
ime stroja, i morao bi usporediti 206.2.177.200 sa *.no, *.se, i *.dk,
što naravno ne bi uspjelo.
Neki ljudi će ti reći da je reverzno mapiranje važno samo za servere,
ili nije uopće. Nije tako, jer puno FTP, NNTP (news), IRC pa čak i
neki HTTP (www) serveri neće prihvatiti veze sa strojevima čije ime ne
mogu pronaći. Tako da je reverzno mapiranje za strojeve obavezno.
66.. OOddrržžaavvaannjjee..
SSaammoo nneekkaa rraaddii..
Jedna je zadaća potrebna za održavanje nameda, osim da ih puštaš da
rade. To je redovno mijenjanje root.hints datoteke. Najlakši način je
korištenje programa `dig'. Prvo pokreni dig bez parametara, i dobit
ćeš root.hints svog servera. Onda pitaj jedan od izlistanih
korijenskih servera sa 'dig @rootserver'. Vidjet ćeš da izlazni podaci
jako sliče onima u root.hints datoteci. Sačuvaj ih u datoteku (dig
@e.root-servers.net . ns > root.hints.new) i zamijeni staru root.hints
datoteku s novom (root.hints.new).
Zapamti da treba restartati named nakon promjene cache datoteke.
Al Longyear mi je poslao ovu skriptu koja se može pokrenuti automatski
da obnovi root.hints, unesena u crontab da se pokrene jednom mjesečno
i zaboravi. Ova skripta pretpostavlja da imaš podešen i radeći e-mail,
te da je alias `hostmaster' definiran. Moraš je hackirati da je
uskladiš sa svojim postavkama. (sačuvati kao izvršnu datoteku
/etc/cron.monthly/hints.new op.prev.)
______________________________________________________________________
#!/bin/sh
#
# Update the nameserver cache information file once per month.
# This is run automatically by a cron entry.
#
(
echo "To: hostmaster "
echo "From: system "
echo "Subject: Automatic update of the named.conf file"
echo
export PATH=/sbin:/usr/sbin:/bin:/usr/bin:
cd /var/named
dig @rs.internic.net . ns >root.hints.new
echo "The named.conf file has been updated to contain the following information:"
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 "The nameserver has been restarted to ensure that the update is complete."
echo "The previous root.hints file is now called /var/named/root.hints.old."
) 2>&1 | /usr/lib/sendmail -t
exit 0
______________________________________________________________________
Neki su možda vidjeli root.hints datoteku koja je dostupna FTP-om od
InterNIC-a. Molim vas, nneemmoojjttee koristiti FTP da obnovite root.hints,
jer je gornja metoda puno sklonija mreži.
77.. PPrreebbaacciivvaannjjee ss vveerrzziijjee 44 nnaa vveerrzziijjuu 88
Ovo je originalno bilo poglavlje kako koristiti bind 8 koje je napisao
David E. Smith, dave@bureau42.ml.org. Uredio sam ga da odgovara novom
imenu poglavlja.
Nema puno posla. Osim što se koristi named.conf umjesto named.boot
datoteke, sve je identično. I bind8 dolazi sa perl skriptom koja
prevodi stare datoteke u nove. Primjer stare named.boot datoteke za
caching only imenski server:
______________________________________________________________________
directory /var/named
cache . root.hints
primary 0.0.127.IN-ADDR.ARPA 127.0.0.zone
primary localhost localhost.zone
______________________________________________________________________
Ukoliko imaš source distribuciju, na komandnoj liniji, u
bind8/src/bin/named direktoriju ćeš otipkati sljedeće: (Ako imaš
binarni paket, skripta je vjerojatno tu negdje, ali nisam siguran gdje
op.a.).
./named-bootconf.pl < named.boot > named.conf
I to će napraviti ovakav 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";
};
______________________________________________________________________
Radi za sve što može biti u named.boot datoteci, mada ne dodaje sva
nova unapređenja i konfiguracijske opcije koje dopušta bind8. Evo
kompletnijeg named.conf-a koji radi isto to, samo malo učinkovitije.
______________________________________________________________________
// This is a configuration file for named (from BIND 8.1 or later).
// It would normally be installed as /etc/named.conf.
// The only change made from the `stock' named.conf (aside from this
// comment :) is that the directory line was uncommented, since I
// already had the zone files in /var/named.
options {
directory "/var/named";
check-names master warn; /* default. */
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 ima ovo, i kopije datoteka zona, koje mnogi
ljudi mogu samo ubaciti i odmah koristiti.
Formati datoteka zona i root.hints datoteke su identični, kao i
naredbe za njihovo mijenjanje.
88.. PPiittaannjjaa ii OOddggoovvoorrii
Molim te, pročitaj ovo poglavlje prije nego mi e-mailaš.
1. Moj named traži datoteku named.boot.
Čitaš krivi KAKO (HOWTO). Molim pogledati staru verziju ovog HOWTO-
a, koja pokriva bind 4, na .
2. Kako koristiti DNS unutar firewalla?
Par sugestija: `forwarders', `slave', i pogledaj listu literature
na kraju ovog KAKO-a.
3. Kako da učinim da DNS kruži kroz dostupne adrese za uslugu, recimo
www.busy.site da dobije load balancing efekt, ili nešto slično?
Napravi više A zapisa za www.busy.site i koristi bind 4.9.3 ili
noviji. Tada će bind srediti odgovore. Neće raditi s ranijim
verzijama binda.
4. Želim podestiti DNS na (zatvorenom) intranetu. Što da radim?
Izbaci root.hints datoteku i samo podesi datoteke zone. To također
znači da ne moraš nabavljati novu datoteku root.hints cijelo
vrijeme.
5. Kako da podesim sekundarni (slave) imenski server?
Ako primarni/glavni server ima adresu 127.0.0.1, stavi liniju kao
ovu u named.conf datoteku svog sekundarnog servera:
___________________________________________________________________
zone "linux.bogus" {
type slave;
file "sz/linux.bogus";
masters { 127.0.0.1; };
};
___________________________________________________________________
Možeš navesti više alternativnih master servera zone, unesi ih u
masters listu, odvojene znakom ';' (točka-zarez).
6. Želim da bind radi dok sam van mreže.
Postoje dvije stvari vezane za ovo:
ˇ Dobio sam ovaj e-mail od Iana Clarka, ic@deakin.edu.au, gdje on
objašnjava kako to učiniti:
Ja pokrećem named na svom 'masquerading' stroju. Imam dvije
root.hints datoteke, jedna se zove root.hints.real i sadrži
prava imena korijenskih servera, i druga koja se zove
root.hints.fake koja sadrži:
----
; root.hints.fake
; this file contains no information
----
Kada odlazim s mreže (off line), kopiram root.hints.fake u
root.hints i restartam named.
Kada idem na mrežu (on line), kopiram root.hints.real u
root.hints i restartam named.
Ovo se radi automatski iz ip-down i ip-up skripti.
Prvi put kada radim upit off line na imenu domene named nema
detalje za nju i stavlja ovo u (/var/log/)messages:
Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
i s tim mogu živjeti.
To svakako radi za mene. Mogu koristiti imenski server za
lokalne strojeve dok sam van mreže bez timeout zastoja za
vanjska imena domena, a dok sam na mreži, upiti za vanjske
domene rade normalno.
ˇ Također sam dobio informaciju kako bind radi interaktivno s NFS-om
i portmapper-om na većinom offline stroju, od Karl-Maxa Wangera:
Ja obično pokrećem svoj named na svim svojim strojevima koji
se tek povremeno vezuju na Internet modemom. Imenski server
služi samo kao cache, nema svoju domenu i sve provjerava kod
imenskih servera u root.cache datoteci. Kao što je to
uobičajeno kod Slackware-a, starta se prije nfsd-a i
mountd-a.
Na jednom mom stroju (Libretto 30 prijenosnik) imao sam
problem takav da sam ga nekad mogao mapirati s drugog stroja
na lokalnom LAN-u, ali većinu vremena to nije radilo. Isto
se događalo neovisno da li sam koristio PLIP, PCMCIA
ethernet karticu ili PPP preko serijske veze.
Nakon nekog vremena nagađanja i eksperimentiranja shvatio
sam izgleda da je named brljao s procesom registracije
nfsd-a i mountd-a koji oni moraju proći s portmapperom na
dizanju sustava (startam te demone pri dizanju kao i
obično). Startanje named-a nakon nfsd-a i mountd-a potpuno
je uklonilo ovaj problem.
Kako ne treba očekivati bilo kakve probleme pri takvoj
izmijenjenoj sekvenci dizanja sustava, preporučio bih svima
da to naprave na taj način i spriječe mogući problem.
7. Gdje caching only imenski server drži svoj cache? Postoji li način
da kontroliram veličinu cachea?
Kompletan se cache drži u memoriji, i nikad se ne zapisuje na disk.
Svaki put kad ubiješ named, cache se gubi. Cache se nikako ne može
kontrolirati. named ga nadgleda prema nekim jednostavnim pravilima
i to je to. Ne možeš kontrolirati cache niti njegovu veličinu ni iz
kojeg razloga. Ako to želiš, možeš to 'popraviti' hackirajući
named. Ipak, ovo nije preporučeno.
8. Da li named čuva cache između restarta? Mogu li ga natjerati da ga
sačuva?
Ne, named ne sačuva cache kada umre. To znači da se cache mora
ponovo graditi svaki put kada ubiješ i restartaš named. Nema načina
da natjeraš named da sačuva cache u datoteku. Ako to želiš, možeš
to 'popraviti' hackirajući named. Ipak, ovo nije preporučeno.
99.. KKaakkoo ppoossttaattii vveeććii DDNNSS aaddmmiinn..
DDookkuummeennttaacciijjaa ii aallaattii..
Prava Dokumentacija postoji. Na mreži i tiskana. Čitanje nekoliko
knjiga je potrebno da od malog DNS admina postaneš veliki admin. Od
tiskanih izdanja standard je '_D_N_S _a_n_d _B_I_N_D' od C. Liu i P. Albitz,
tiskao O'Reilly & Associates, Sebastopol, CA, ISBN 0-937175-82-X.
Pročitao sam je, odlična je. Postoji i sekcija o DNS-u u '_T_C_P_/_I_P
_N_e_t_w_o_r_k _A_d_m_i_n_i_s_t_r_a_t_i_o_n', Craig Hunt, tiskao O'Reilly..., ISBN
0-937175-82-X. Još jedan must za dobru DNS administraciju (ili bilo
što dobro u tom smislu) je '_Z_e_n _a_n_d _t_h_e _A_r_t _o_f _M_o_t_o_r_c_y_c_l_e
_M_a_i_n_t_e_n_a_n_c_e', Robert M. Prising :-), ISBN 0688052304, i drugi.
Na mreži ćeš naći stvari na ,
; _F_A_Q, referentne upute (_B_O_G; _B_i_n_d
_O_p_e_r_a_t_i_o_n_s _G_u_i_d_e) kao i papiri i definicije protokola i DNS hackovi
(ovi, i većina, ako ne i svi, od RFC-ova navedenih dolje, su
distribuirani sa samim bindom). Nisam pročitao većinu ovih, pa ni ja
nisam veliki DNS admin. Arnt Gulbrandsen je pročitao _B_O_G i on je u
ekstazi zbog toga :-). USENET grupa comp.protocols.tcp-ip.domains je o
DNS-u. U dodatku, postoji i veliki broj RFC-ova o DNSu, a najvažniji
su navjerojatnije ovi:
RRFFCC 22005522
A. Gulbrandsen, P. Vixie, _A _D_N_S _R_R _f_o_r _s_p_e_c_i_f_y_i_n_g _t_h_e _l_o_c_a_t_i_o_n
_o_f _s_e_r_v_i_c_e_s _(_D_N_S _S_R_V_), October 1996
RRFFCC 11991188
Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear,
_A_d_d_r_e_s_s _A_l_l_o_c_a_t_i_o_n _f_o_r _P_r_i_v_a_t_e _I_n_t_e_r_n_e_t_s, 02/29/1996.
RRFFCC 11991122
D. Barr, _C_o_m_m_o_n _D_N_S _O_p_e_r_a_t_i_o_n_a_l _a_n_d _C_o_n_f_i_g_u_r_a_t_i_o_n _E_r_r_o_r_s,
02/28/1996.
RRFFCC 11991122 EErrrroorrss
B. Barr _E_r_r_o_r_s _i_n _R_F_C _1_9_1_2, ovo je dostupno na
RRFFCC 11771133
A. Romao, _T_o_o_l_s _f_o_r _D_N_S _d_e_b_u_g_g_i_n_g, 11/03/1994.
RRFFCC 11771122
C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, _D_N_S _E_n_c_o_d_i_n_g _o_f
_G_e_o_g_r_a_p_h_i_c_a_l _L_o_c_a_t_i_o_n, 11/01/1994.
RRFFCC 11118833
R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, _N_e_w _D_N_S _R_R
_D_e_f_i_n_i_t_i_o_n_s, 10/08/1990.
RRFFCC 11003355
P. Mockapetris, _D_o_m_a_i_n _n_a_m_e_s _- _i_m_p_l_e_m_e_n_t_a_t_i_o_n _a_n_d _s_p_e_c_i_f_i_c_a_t_i_o_n,
11/01/1987.
RRFFCC 11003344
P. Mockapetris, _D_o_m_a_i_n _n_a_m_e_s _- _c_o_n_c_e_p_t_s _a_n_d _f_a_c_i_l_i_t_i_e_s,
11/01/1987.
RRFFCC 11003333
M. Lottor, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _o_p_e_r_a_t_i_o_n_s _g_u_i_d_e, 11/01/1987.
RRFFCC 11003322
M. Stahl, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _g_u_i_d_e, 11/01/1987.
RRFFCC 997744
C. Partridge, _M_a_i_l _r_o_u_t_i_n_g _a_n_d _t_h_e _d_o_m_a_i_n _s_y_s_t_e_m, 01/01/1986.
.