DNS server

DNS server

Vjerovatno ste već imali prilike da ažurirate DNS (Domain Name System) podatke i otprilike znate čemu služe. DNS omogućava da umjesto oznaka za računare na mreži ili na Interetu, koje se sastoje od stringova brojeva, koristimo lako pamtljiva domenska imena, npr: “blog.ba” 🙂 Kada u browser unesemo domensko ime “mrezni.blog.ba” (ili samo “blog.ba“), računar kontaktira DNS server kako bi pronašao IP adresu računara na kojem se nalazi sadržaj vezan za “mrežni.blog.ba” (ili samo “blog.ba“).
Kako se dešava proces rezrješenje domenskog imena, šta se dešava u toku komunikacije za razrješavanje domesnkog imena, kako napraviti vlastiti DNS server, možete pronači u nastavku ovog teksta. Vaš ISP već svakako za vas obavlja DNS servis, ali možda ćete htjeti da uspostavite vlastiti.

Zašto da podignete vlastiti DNS?

Postoji nekoliko razloga zašto bi to radili. Prvo što ćete se zabaviti i nešto naučiti. Drugo, vi ste kontrol frik i hočete da imate pod vlastitom kontrolom svaki aspekt rada vaših servisa. Ako često mijenjate mašine za vlastite servise, imena hostova, IP adrese, ISP-ove, ili ako imate gomilu web adresa koje održavate, lakše vam je da ažurirate podakte koji su pod vašom kontrolom, nego da kontaktirate gomilu različitih provajdera i kroz razne forme za unos podataka i sa brojnim takvim zahtjevima tražite izmjene za svako domensko ime, kao i da se nadate da će sve proči kako treba i na vrijeme. Pored toga, ako kontrolišete vlastiti DNS server, na raspolaganju su vam neke vrste finih DNS trikova.
U ovom tekstu pojasnit ćemo nekoliko različitih tiova DNS zapisa (DNS records), šta oni sadrže, kao i osnovno o njihovom funkcionisanju pri radu name servera na mreži.

DNS

Računari na Internetu primarno su označeni sa IP adresama: string od četiri grupe po tri broja podijeljeni tačkama, brojevi mogu biti od 0 do 255, npr. 172.211.56.102. U browser možete unijeti i ovakve brojeve, međutim ljudima su za upamtiti imena lakša. Na ovaj način je otvorena trka za primamljivim domenskim imenima, drugim riječima, ljudska sujeta se uvijek iznova pokazuje kao dobar izvor zarade 🙂
Na početku bijaše fajl. Na početku je ono što se moglo zvati Internet bilo malo i dovoljna je bila jedna datoteka da se u nju upiše svo potrebno mapiranje. Mreža je u kratkom roku porasla, tako da je na svijet došao Domain Name System ili DNS. Ovaj sistem uspijeva da razriješi ogroman broj upita, a za koje se parametri također znaju veoma brzo izmjenjivati. Ovi serveri mogu da prema zadatoj  hijerarhiji šalju upite jedan ka drugom, dok ne pronađu ispravnu adresu hosta. Na taj način mogu brzo doći do adrese hosta, bez da je moraju trajno pohranjivati u svoju memoriju, tj. svaki autoritativni server čuva samo adrese zone za koju je nadležan.

Struktura

Domenska imena formiraju se po hijerarhiji. Na vrhu hijerarhije je takozvani root čvor (root node). Svaka domena na Internetu je upisana u root čvor. Ispod toga su vršni domeni (TLD – Top Level Domain i ccTLD – country code Top Level Domain): com, edu, org, uk, ru, ba, rs, biz i tako dalje. Sljedeći nivo su domenska imena (domain names) ili po našem uobičajenom nazivu “domene“, a koje su prilagođene ljudskom govornom jeziku: gmail.com, blog.ba, webometrics.info itd. Dvoznamenkaste vršne domene kao “.ba” su country code, npr: tv, uk, de, hr itd. Svaki sljedeči nivo su poddomene (subdomains) ili hostovi. Ukoliko ste toliko otkačeni poddomene mogu ići do 127 nivoa. Domena koju dobijete kreiranjem bloga na stranici Blog.ba je tzv. third level domain name.

Terminologija

Da bi se mogli razumjeti DNS zapisi (DNS records), potrebno je poznavati DNS terminologiju.
Podaci se razrješavaju i distribuiraju webom kao name server podaci, obezbjeđuju informacije kao odgovor na upite od računara koji razrješava određeni upit (resolver). Određeni server autoritativan je za određenu zonu, stoga ako je upitan za domensko ime koje pripada zoni za koju nije nadležan, proslijedit će upit serveru koji je za tu zonu nadležan. Proces u kojem resolver razrješava upit za neko domensko ime naziva se rezolucija: resolver zna domensko ime i pokušava da sazna IP adresu koja tom imenu pripada, ili obrnuto. Podaci se uglavnom drže na primarnom name serveru, ali se zbog pouzdanosti i robusnosti automatski i u intervalima dodaju i na sekundarni name server.

DNS Zapisi (DNS Records)

DNS podaci predstavljeni su kao DNS zapisi unutar “zone file” datoteke, ovi podaci razrješavaju se od strane name servera. Unutar zone file-a mogu se naći različite vrste DNS zapisa, svaki je namijenjen za specifičnu vrstu podataka.
Na primjenu je prikazana struktura najvažnijih fajlova. Zapis je napisan u standardnom formatu zapisa koji koristi BIND, najčešće korišteni DNS i name server softver. Drugi, alternativni softveri koriste nešto drugačiji format.
SOA (Start Of Autority) zapis indicira dio zone za koji je name server nadležan. Pored toga daje informaciju koliko često trebaju biti pitani za ažurirane podatke o zoni. SOA zapis može izgledati:
nekadomena.ba. IN SOA ns1.nekadomena.ba.
root.mail.nekadomena.ba. ( 2016102901 24h 2h 4w 4d )
Vrijeme osvježavanja zapisa može se napisati i u sekundama, tj. umjesto 24h 2h 4w 4d napišemo 21600, što iznosi 6 sati.
Pravi podaci, razlog zašto uopšte imamo name server zapise, sadržani su u A zapisima. Ovo je dio zone file-a u kojem su sadržani podaci o prevođenju domenskih imena u IP adrese (mapiranje):
mojadomena.com.   IN A 192.168.50.31
mail.mojadomena.com.   IN A 192.168.50.32
ns1.mojadomena.com.   IN A 192.168.50.33
ns2.mojadomena.com.   IN A 192.168.50.34
kutija.mojadomena.com.   IN A 192.168.148.44
poddomena.mojadomena.com.  IN A 192.168.148.45
CNAME (Canonical name) zapis omogučava korištenje aliasa. Dopušteno je da mašina ima jedno ime (canonical name) i neograničen broj aliasa:
www.mojadomena.com.  IN  CNAME  mojadomena.com.
wwww.mojadomena.com.  IN  CNAME  mojadomena.com.
ww.mojadomena.com.  IN  CNAME  mojadomena.com.
kt.mojadomena.com.  IN  CNAME  kutija.mojadomena.com.
Treba primjetiti, šta god u browser, od sljedečih web adresa, unesete kao odredišnu adresu http://mojadomena.com, http://www.mojadomena.com, http://ww.mojadomena.com, ili http://wwww.mojadomena.com, završit ćete na istoj stranici.
Glavno pravilo za CNAME zapis jeste da se za CNAME koristi samo glavno ime mašine, a nikako neki drugi alias, ili neki drugi zapis. Shodno tome, prema gornjim primjerima, domensko ime “kt.mojadomena.com” nikako se ne bi smjelo pojaviti kao, recimo, A zapis, zato što je to samo alias za domensko ime kutija.
Pointer i MX zapis
PTR zapis (pointer zapis) je ustvari reverzni zapis A zapisa: A zapis domenska imena prevodi u IP adrese, PTR zapis IP adresu prevodi u domensko ime. PTR zapisi se ne upisuju u glavni zone file za mojadomena.ba, već u drugu bazu koja razrješava reverzne upite. Postoji specijalni izdvojeni set domena za reverzno razrješavanje: in-addr.arpa. PTR zapis vrši razrješavanje prema podacima iz ove zone. Praktično, ovo znači da kada se kreira PTR zapis IP adresa se napiše unazad i dopiše se “in-addr.arpa.” Tako da PTR zapis za IP adresu 192.168.40.32 če izgledati kao 32.40.168.192.in-addr.arpa.
Thus, the PTR records for the machines listed above would look like this:
Pointer zapis za mašine iz prethodnih primjera
40.168.192.in-addr.arpa.  IN  SOA  ns1.mojadomena.com.
root.mail.mojadomena.com. (  2002012901 ;  last updated January 29th, once 24h 2h 4w 4d )
31  IN  PTR  mojadomena.com.
32  IN  PTR  mail.mojadomena.com.
33  IN  PTR  ns1.mojadomena.com.
34  IN  PTR  ns2.mojadomena.com.
44  IN  PTR  kutija.mojadomena.com.
45  IN  PTR  poddomena.mydomain.com.
Sljedeći tip DNS zapisa koji ćemo spomenuti je MX zapis (Mail eXchanger). Ovaj zapis razrješava mail upite. Svaki zapis upućuje na mašinu koja treba da radi sa mail servisom za dato domensko ime. Kada je za domensko ime izlistano više mail exchangera, pridodat im je broj prioriteta po kojem su rangirani. Ovaj prioritet označen je brojem, od 0  do 65535, a broj se pojavljuje prije imena servera. Nulom je označen exchanger sa najvišim prioritetom, ako se taj exchanger u datom trenutku ne pronađe, servis upućuje na sljedeći.
mojadomena.com.  IN  MX  0  mail.mojadomena.com.
mojadomena.com.  IN  MX  50  zamjena.mojadomena.com.
That’s the gist of DNS records. There are a number of other types of records for specialized purposes, but the ones we’ve covered are sufficient for most needs. There are abbreviated forms and shortcuts that you can use to save on typing and download times, but those are a little less transparent to the eye than the long forms.
Pobrojani zapisi su suština DNS-a. Postoji veliki broj dodatnih zapisa koji se koriste za specijalne svrhe, ovi koje smo pobrojali uglavnom su dovoljni za veći dio potreba. Postoje i skračene forme i verzije zapisivanja, koje se koriste za skračivanje vremena tipkanja i downloada, samo su malo manje transparentne za vizuelni pregled nego opisane duze forme zapisa.
Lista pobrojanih zapisa smješta se u tzv. zone file, koji ima sljedeči izgled:
$TTL 24h
; ; zone data file
; comments can appear on any line after a semi-colon
;
mojadomena.com.        IN        SOA         ns1.mojadomena.com. root.mail.mojadomena.com. (
2016072901 ; last updated July 29th, once
86400; 1 dan refresh
)mojadomena.com.                      IN        NS           ns1.mojadomena.com.
mojadomena.com.                      IN        NS           ns2.mojadomena.com.
mojadomena.com.                      IN        A             192.168.40.31
mail.mojadomena.com.             IN         A            192.168.40.32
ns1.mojadomena.com.              IN         A             192.168.40.33
ns2.mojadomena.com.              IN         A             192.168.40.34
kutija.mojadomena.com.          IN         A             192.168.148.44
zamjena.mojadomena.com.     IN         A             192.168.148.45
www.mojadomena.com.           IN         CNAME    mojadomena.com.
wwww.mojadomena.com.        IN         CNAME    mojadomena.com.
ww.mojadomena.com.             IN         CNAME     mojadomena.com.
kt.mojadomena.com.               IN         CNAME     kutija.mojadomena.com.
mojadomena.com.                   IN         MX            0 mail.mojadomena.com.
mojadomena.com.                   IN         MX           50 zamjena.mojadomena.com.
Potrebno je primjetiti $TTL 24h na početku zone fila. To znači da je TTL (time to live) ovoh podataka 24 sata. Ovaj fajl se smješta na name server mašini. Što će biti u sljedećem nastavku ovog teksta

 

Leave a Comment

Vaša email adresa neće biti objavljivana. Neophodna polja su označena sa *