Az iskolapélda bemutatásához kitaláltam egy olyan legfelső szintű tartománynevet (toplevel domaint), amelyet a valóságban nem használnak:
.and
A .hu, .eu, .org, stb. helyett ezt fogjuk használni. Saját tartománynevünk a „zold” lesz, vagyis egy ilyen domaint szeretnénk beállítani:
zold.and
A beállításokhoz a szerverünket el kell nevezni valahogy. Ez lesz a gépünk neve (host név vagy hostname). Ennek beállításait lásd a hostnév beállítása fejezetben. A gépnevünk a példában:
iskolazo
A szerverünket tehát így is el lehet majd érni:
iskolazo.zold.and
Feltételezzük, hogy van egy fix IP címünk, amelyen állandóan elérhetjük majd az általunk konfigurált szervert. Az iskolapéldában egy belső IP címet fogunk ehhez használni, vagyis éles szervereken ilyen nem lesz. Legyen ez a példabeli IP cím:
192.168.5.4
Ez lesz a szerverünk IP címe.
A DNS az IP cím és tartománynév összerendelések feloldására kitalált rendszer. Hierarchikus felépítésű, osztott adatbázisból áll. Az Interneten névszerverek százezrei, nevek millióit szolgálják ki. Kezeli a redundanciát és jó hibatűrő képességekkel bír, és kiszolgál a fő feladata mellett néhány más információt is.
Létrehozásának célja a kényelem volt. A számítógépeket IP címekkel azonosítjuk, azok helyett viszont neveket szeretünk inkább beírni.
Ha nem lennének tartománynevek, akkor egy weboldal eléréséhez azt kellene begépelnem, például:
195.199.1.5
Mennyivel jobb e helyett egy tartománynevet gépelni.
A DNS előtt is volt névfeloldás. Ezeket hosts fájlokkal oldották meg. Konkrétan ez volt a fájl neve. Ezek a hosts fájlok ma is megtalálhatók minden gépen és használhatók is. Egy ilyen nevű állományban tárolták az IP címeket és a hozzájuk tartozó neveket. Ezek az állományok azonban idővel igen nagyra nőttek. Nagyon sűrűn kellett változtatni azokat. A hálózatok növekedése miatt egyre több ember, egyre gyakrabban töltötte le a fájlokat, így szükségszerűvé vált egy újabb megoldás.
195.199.200.48 jupiter.zold.and 180.123.5.24 mars.sarga.and 210.100.205.8 venus.piros.and 208.24.243.238 pluto.lila.and
A DNS rendszer megalkotásában Paul Mockapetris játszotta a legnagyobb szerepet, 1983-ban, amikor az ISI (Information Science Institute) munkatársa volt.
A DNS szerverek a nevek feloldását hálózati kommunikációval oldják meg. A feladatait két részre lehet osztani:
Autoritatív - A szerver illetékes egy név dolgában. Vagyis az adott szerveren van beállít „master”-ként az adott domain.
A DNS hierarchikus felépítésű. Legfelül a gyökér van, amelyet több számítógép képvisel. A gyökér alatt találhatók a top-level domainek. Ezek a hu, edu, org, com, stb. A domainek a példában a nyf, a szit, a bme, az debian és kernel.
Kérdezzük le a gyökérszervereket:
dig . ns
Legfelső szintű domain.
Az ISO-3166-1 szabvány alapján:
A zóna egyes darabjainak kezelését más szerverekre bízzuk.
Pl: én kezelem a intezet.hu zónát. Az osztaly1 nevű aldomaint akar a cég léterehozni, és ezt az osztály1 osztályon levő szerverről akarják kezelni. Akkor a szerveremen delegálom osztaly1.intezet.hu zónát. Az osztály1 gazdája felelőse és teljes ura lesz ennek az aldomainnek.
A regisztrátoroknál bejegyzett fődomainek is tulajdonképpen delegált domainek.
A példánkban szereplő zold.and domain alá szeretne a barátunk egy barat.zold.and domaint, amelyet ő fog kezelni saját szerverén. Ekkor a barat.zold.and domaint delegálom számára.
A DNS rendszer hierarchikus felépítéséből következi, hogy minden név egyedi.
Hierarchia → | Minden név egyedi |
A top-level domain alatt megadok egy fő domaint, azok alatt pedig újabb aldomaineket hozhatok létre. Azok alatt pedig megint újabb domainek lehetnek. Az aldomainek így a zónák egy szegmensét jeltik. Az egyes szegmenseket ponttal (.) tagolom, mint a fenti példánkban is:
iskolazo.zold.and
vagy
barat.zold.and
vagy
info.zold.and
vagy
prog.info.zold.and
vagy
prog.and.info.zold.and
vagy
zold.and.zold.and
A zónaleírásokban, ha egy zold.and zónában vagyok, akkor a szegmensekre való hivatkozások során, nem kötelező zold.and kírása. Például írhatom ezeket a fentiek helyett:
iskolazo barat info prog.info prog.and.info zold.and
Vegyük észre az utóbbi példában, ha leírom, hogy zold.and akkor nem világos, hogy az „and” most top-level domain vagy aldomain. Ezért ha top-level domainről van szó, akkor a végén ezt egy ponttal (.) szokás jelezni.
zold.and.
Ha nem teszem ki pontot, akkor zold.and domain alatt lévő zold.and aldomainekről van szó. Így egyértelműen jelezzük, hogy a teljes domaint képviselő nevet adom meg, vagy csak egy aldomaint.
Láthattuk, hogy az .and végződés nem garantálja, hogy amit leírok annak az utolsó domaine top-level.
A top-level domainekkel a végén megadott domaint FQDN-nek nevezzük. A fentiekből pedig megtanultuk, hogy az FQDN-t mindig úgy jelezzük, hogy a domain végére egy pontot teszünk, jelezve, hogy a teljse domaint kiírtuk.
Ezek utána a Fully Qualified Domain Name leghelyesebb fordítása talán „teljes domaint képviselő név”.
A domain névben szerepelhetnek a latin ábécé angol betűi, számok és kötőjel:
Aláhúzás nem lehet a domain névben.
Ma már használható ékeztes domain is. Ékezetes domain esetén egy szabály alapján meghatározott alakban írjuk a domaint, vagyis le kell kódolnunk az ékezetes domain nevet. A kódolást nem kell nekünk elvégezni, az alábbi weblapon találunk hozzá segítséget:
A teljesség igénye megkívánja, hogy ne csak a domain nevekből legyünk képesek IP címeket feloldani, hanem fordítva is. Ezt nevezzük inverz feloldásnak.
Az inverz feloldás persze nem csak a teljesség igényét szolgálja. Ma már a spamek miatt a levelezőszervereken követelmény, hogy ne fogadjunk el olyan szerverről leveleket, amelyeknek az IP címe nem oldható fel domain névvé. Sőt, ha kaptunk egy domain nevet, az legyen valós, vagyis a visszakapott doman név is feloldható legyen IP címmé.
Ha adott az Interneten egy IP címünk, például 195.166.85.2, akkor a zóna nevünk amit beállítunk persze nem ez lesz. Először az IP címünknek vesszük az értékes részeit, majd leírjuk fordított sorrendben, a végére pedig a „in.addr-arpa” nevet fűzöm.
A 195.166.85.2 IP címből tehát ez lesz:
2.85.166.195.in-addr.arpa
195.166.85.2 | → | 2.85.166.195.in-addr.arpa |
Ha fenti iskolapéldánknál akarunk maradni, akkor:
192.168.5.4 | → | 4.5.168.192.in-addr.arpa |
Ha a 192.168.5.0/24 tartományunk van, amiért én felelek, akkor az egész tartományt megadhatom, ha csak a hálózat címét adom meg:
5.168.192.in-addr.arpa |
Ezek után a zónafájlban több IP címet is megadhatok:
1 PTR elso.zold.and |
2 PTR masodik.zold.and |
3 PTR harmadik.zold.and |
IPv6 esetén a Google DNS szervere példaként:
host 2001:4860:4860::8888 8.8.8.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6.8.4.0.6.8.4.1.0.0.2.ip6.arpa domain name pointer google-public-dns-a.google.com.
DNS kérés : pluto.bme.hu
DNS-es szerverek nem végeznek minden kliensnek ilyen feloldást, csak a konfigurációban megadottaknak.
Ha valahova delegálunk egy nevet, akkor azt az ottani adminisztrátorral is meg kell beszélni, hogy azt folyamatosan szolgáltassa. Ha ez nem történik meg, akkor beszélünk lame delegálásról.
A következőkben áttekintjük a DNS szerverekben használt rekordokat. A rekord neve előtt megadható, hogy milyen típusú hálózatot használunk, például IN vagyis InterNet, de az alapértelmezett, ennek megadása nem kötelező.
A SOA rekord adja meg egy zónára vonatkozó közös információkat.
zold.and. SOA iskolazo.zold.and. hostmaster.zold.and. ( 1999093001 ; Szériaszám - Serial nr. 86400 ; Frissíts gyakorisága - Refresh 1800 ; Újrapróbálkozás - Retry 604800 ; Lejár - Expire 43200) ;TTL
zold.hu. SOA iskolazo.zold.and hostmaster.zold.and
úgy kapjuk, hogy az első pont karaktert (amit nem előz meg egy (backslash \) at jelre (@) cseréljük
2006091801 ; Serial nr.
A slave szerverek ellenőrizhetik, hogy a náluk lévő adatok nem avultak-e el. Az elsődleges zóna adminja minden javításkor növeli ezt a számot.
Szokás: Akt. Dátum plusz a mai javítás száma két számjegyel: ÉÉÉÉHHNNVV
86400 ; Refresh
Másodpercben megadott szám
Frissítési idő
A Slave szervernek mennyi időnként kell megnézni, hogy nem avultak-e el az adatai
1800 ; Retry
Másodpercben megadott szám
Ha frissítés nem sikerült mennyi idő múlva próbálkozzunk újra.
604800 ; Expire
Másodpercben megadott szám
Ha nem sikerül a masterrel kommunikálni akkor ennyi ideig szolgáltatják a világnak a zónát.
43200 ; TTL
Másodpercben megadott szám
Azt kérjük más névszerverektől, hogy legalább ennyi ideig szolgáltassák az zónát.
Fontos az ésszerű beállítás.
Szokásos értékek:
refresh | 86400 | 1 nap |
retry | 3600 | 1 óra |
expire | 604800 | 1 hét |
TTL | 86400 | 1 nap |
Ha gyors változásvárható a TTL-et érdemes kicsire venni.
A 8-as változatú Bindtól használhatók a köv. formátáumok:
1W2D3H
W | egy hét |
D | egy nap |
H | egy óra |
A SOA rekord előtti TTL, a zóna alapértelmezett TTL értéke. Megmondja az egyes zóna egyes rekordjai meddig érvényesek. Az egyes rekordokban ezt felülírhatjuk.
Ha az expire idő nem nagyobb mint a refresh akkor a másodlagos szerver nem fogja szolgáltatni az adatokat.
Az „A” rekorddal rendelünk a domain névhez IP címet.
Legyen például egy pandora.bme.hu domin:
pandora.bme.hu. A 195.199.17.8
Nem kötelező megadni a teljes FQDN-t:
pandora A 195.199.17.8
Mivel adott zónában, vagyunk, a többi egyértelmű. Ha mégis FQDN-et adunk meg akkor pont a végén!
Az iskolapéldánkban ez így néz ki:
iskolazo.zold.and. A 192.168.10.1
IPv6-os cím
iskolazo.zold.and. AAAA 2001:db8:85a3:8d3:1319:8a2e:370:7348
A névszerverek címe Kettő szokott lenni:
Egyik maga a master szerver, a másik a Slave szerver
Pl:
NS iskolazo.zold.and.hu. NS barat.lila.and.
Glue rekord -– Idegen (ragadvány) A rekord
A delegált zóna egyik névszervere az adott zónában van. Pl.: A gep.osztaly.valami.hu -nak saját DNS szervere van, mégis meg kell adni ezt feljebb a valami.hu zónában is!
gep.osztaly A 195.166.12.1
Az iskolapéldánkban ez például így nézhet ki:
barat.zold.and A 192.168.5.4
A hostnak becenevet adhatunk vele.
Pl:
www CNAME gep
gep.valahol.hu ekkor így is elérhető:
www.valahol.hu
Iskolapéldánkban:
www CNAME iskolazo
vagy egy ftp:
ftp CNAME iskolazo
A domainbe érkező leveleket fogadó szerver címe
MX 10 mail.zold.and. MX 20 mail2.zold.and.
A számoknak akkor van jelentősége, ha több (mint itt 2) mail szerver várja a leveleket. Egyik elsődleges. A másik csak akkor fogadja a leveleket, ha az első nem működik. A szám a prioritást adja meg.
Tetszőleges szöveget írhatunk ide. Megjegyzés stb.
Hardverről szokás (lehetne szokás, nem szokás) írni ide információkat.
Az inverz zónákat állítjuk be a PTR rekord segítségével.
Az iskolapélda:
4.5.168.192.in-addr.arpa PTR zold.and
Az alábbiakban sorra vesszük, milyen lépéseket kell megtennünk, ha szeretnénk magunknak egy saját tartománynevet az Interneten.
DNS proxy
Feloldók: