Next Previous Contents

6. Primjer prave domene

(u kojem ćemo pokazati neke prave datoteke zone)

Korisnici su predložili da, uz školski primjer, uključim i pravi primjer domene koja radi.

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 ponešto razlikuje od onoga što ćete dobiti ako sada postavite upit LAND-5-ovim imenskim serverima.

6.1 /etc/named.conf (ili /var/named/named.conf)

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, te `primary' liniju za LAND-5-ovu normalnu 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, MOLIM TE stavi ``notify no;'' u `zone' sekcije za dvije LAND-5 zone, kako bi izbjegli nezgode.

6.2 /var/named/root.hints

Ne zaboravi da je ova datoteka dinamička, i da je ova navedena ovdje stara. Bolje ti je da koristiš onu napravljenu sada, digom, 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.srce.hr to SERVER: A.ROOT-SERVERS.NET.  198.41.0.4
;; WHEN: Sun Feb 15 01:22:51 1998
;; MSG SIZE  sent: 17  rcvd: 436

6.3 /var/named/zone/127.0.0

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 održavatelja DNS-a 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.

Ako pogledaš na nasumično odabranu BIND instalaciju, vjerojatno ćeš primijetiti da $TTL redak nedostaje, kao i ovdje. On prije nije korišten, i tek je verzija BIND-a 8.2 počela upozoravati na njegovo nepostojanje. Preporučujem stavljanje $TTL retka u datoteke zona kako budeš nalazio da nedostaju.

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

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 (eng. backup). 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 kontakt osobu. Serijski broj je u uobičajenom ggggmmdd formatu sa dodanom današnjom revizijom; 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 znamenka 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 znamenke.


@       IN      SOA     land-5.com. root.land-5.com. (
                        199609206       ; serial, današnji datum + današnja revizija
                        8H              ; refresh, sekundi
                        2H              ; retry, sekundi
                        4W              ; expire, sekundi
                        1D )            ; minimum, sekundi
                NS      land-5.com.
                NS      ns2.psi.net.
                MX      10 land-5.com.  ; primarni Mail eXchanger
                TXT     "LAND-5 Corporation"

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

;
;       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. Od kasnijih BIND 4 verzija, named je počeo provoditi ograničenja u znakovima koji se smiju koristiti u imenima strojeva. Tako da to uopće ne radi sa BIND-8, i ja sam zamijenio `_' (podvlaku) `-' (crtom) za upotrebu u ovom KAKOu.

Još jednu stvar treba primijetiti, da radne stanice nemaju individualna imena, već predmetak i zadnja dva dijela IP broja. Koristeći takav sustav možeš znatno pojednostaviti održavanje, ali to može biti pomalo neosobno, i zapravo biti izvor nezadovoljstva među tvojim korisnicima.

Također vidimo da je funn.land-5.com drugo ime za land-5.com, ali koristeći A zapis, ne CNAME zapis. Ovo je dobro načelo, kao što smo već ustvrdili.

6.5 /var/named/zone/206.6.177

Ovu datoteku ću komentirati ispod


@               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 biblioteka ti može 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 će pogledati 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 s 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 na kraju 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 pomalo fiktivno.

Vratimo se 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. Kada 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 ne bi uspjelo.

Neki ljudi će ti reći da je obrnuto `mapiranje' bitno samo za servere, ili nije uopće bitno. 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. Zato je obrnuto `mapiranje' strojeva zapravo obavezno.


Next Previous Contents