DNS elmélet =========== történelem: ARPAnet: HOSTS.TXT file volt... Domain Name System = elosztott adatbázis Name Server - kliens: resolver hierarhikus névstruktúra - faszerkezet aliasokkal kiegeszítve (CNAME) felelős szervezet: The Internet Corporation for Assigned Names and Numbers http://www.icann.org Hasznos olvasmányok a következő lap alján: http://www.internic.net/ domain <--> zóna sze.hu domain-ban van minden, ami így végződik sze.hu zónában vannak pl. rs1.sze.hu, www.sze.hu, de nincsen benne a teacher.tilb.sze.hu, mert az a tilb.sze.hu zónában van. (Vigyázat: a tilb.sze.hu szerver a sze.hu zóna beli tilb nevű gép!) A sze.hu domain tilb.sze.hu subdomain-jét a 193.224.128.1 (rs1.sze.hu) name szerver delegálja 193.224.128.28 (tilb.sze.hu - gép!) névszervernek. Egy névszerver 1 vagy több zónáért felel (authority, authoritative answer) névkiszolgáló típusok - egy zónára vonatkoztatva! primary master: ezen tárolják a zónafile-t (a zóna master szerverének is hívják) (régen) secondary master, ma slave: a zónafile-t a primary masterről vagy egy másik slave-től kéri át: zone transfer mind a kettő authoritative választ ad! A típusok értelme, hogy nem kézzel kell másolgatni a zónafile-okat. A névfeloldás folyamata ----------------------- name resolver (BIND esetén csak könyvtári függvény) recursive query-t küld a gépen beállított name server-nek ez viszont iterative query-t küld valamelyik root name servernek erre megkapja annak a TLD- a címét, aki az illetékes (referral) egyre mélyebbre ás végül kap egy választ (answer) Aki recursive query-t kap, az játssza végig a játékot a legfelső szinttől az authoritative answer-t adóig, majd válaszol az őt kérdő resolvernek Persze a közbenső válaszokat cache-eli, később már nem játssza végig... Aki iterative query-t kap, a nem kérdez mást, csak a meglevő info-ja alapján válaszol. A lehető legjobbat ad meg, amit tud, akár választ, akár referenciát, hogy ki tud közelebbit... Ha referenciát ad, akkor mindet elküldi, amit tud, aztán a kérdező választ majd közülük. (28. és 31. oldal ábrái) Több auhoritative name server közül a roundtrip time RTT alapján választunk: először véletlen, a valóságosnál kisebb értékekkel veszük fel, mindig a min.RTT-jűt kérdezzük... IP cím --> szimbolikus név -------------------------- Miért kell ilyen? - emberek szimbolikus nevet szeretnek látni - .rhosts, hosts.equiv is azt tartalmaz Hogyan keressünk visszafele? Ötlet: hierarhikusan! in-addr.arpa alatt, és visszafel az IP cím oktetjei! (32. oldal ábrája) Móricka: 4 szintű, szintenként 256 ágú részfa Valójában pl. 160/27.130.224.193.in-addr.arpa is lehet (a 193.224.130.160/27 tartomány felel meg a tilb.sze.hu zónának) Cacheing -------- Egy recursive query alatt egy name server egy csomo infot megszerez, amit kesobb fel is hasznal. Például a whale.hit.bme.hu IP címének kiderítesekor elraktározta a "hu" és a "bme.hu" domain-ek autoritatív name szerverének IP címét, így a balu.sch.bme.hu IP címének kiderítéséhez nem valamely root nem szerverrel kezd, hanem a lehető legjobbhoz a "bme.hu" névszerveréhez fordul. negative cache-ing: ha egy authoritive name server azt a választ adta, hogy adott név vagy adattípus nem létezik, akkor azt is tárolja... TTL time to live: bármely névkiszolgáó ennyi ennyi ideig tárolhatja az adatot TTL megválasztás szempontjai: átlagos névfeloldási idő, szerverek terhelése, változás érvényre jutása! Gyakorlat ========= Domainregisztrációval kapcsolatos fogalmak: ------------------------------------------- registry - egy TDL adminisztrálásának felelőse, delegálja az adott TLD subdomainjeit registrar - cég, akihez az ügyfelelek fordulnak, és elintézi nekik pénzért registration - a domain név regisztráció folyamata, meg kell adni: kért domain név, név-szerver, többféle kapcsolattartó, számlázási cím Jelenleg használt TLD-kben lehet keresni: http://www.uwhois.com/cgi/domains.cgi?User=NoAds Ha már regisztrált (pl. linux.org) akkor megnézhetem a fenti adatait! Regisztrátorok magyarországon: http://www.domain.hu/domain/ Ugyanitt névkeresés http://www.domain.hu/domain/domainsearch/ Szabályzat (fogalommagyarázattal) http://www.domain.hu/domain/szabalyzat.html ----------------------------- Zónafile-ok ----------- sor elején kell kezdeni, különben "repeat last name" Sorrend NEM kötött, a szokás: -SOA record -NS record -mások, pl. A, PTR, CNAME ; ez a komment... Csatlakozunk az írott jegyzethez... (84. oldal alsó harmada) $TTL, @, SOA időértékei, különösen az utolsó... szépen végignézzük... Root Hints - tényleg csak tipp, ezek valamelyikétől kért táblázatot használ! A-M.ROOT-SERVERS.NET. BIND (named) konfig ------------------- v.4 --> v.8 teljesen megváltozott a szintaxisa régi komment: ";" ma pedig C, C++ és shell stílus... konfig file: /etc/named.conf (tilb-en /etc/bind/named.conf) zónafile-ok helye tipikusan /var/named -- itt tartok -- Irodalom: Paul Albitz, Cricket Liu: DNS and BIND, 4th ed. O'Reilly