DNS
DNS elmélet és szerverkonfiguráció Összeállította: Sallai András Terjesztés csak csak engedéllyel. Copyright © 2006 v.2
Tartalom
● ●
DNS elmélete Bind9 konfiguráció
Domain Name System ● ● ● ●
●
●
●
Osztott név adatbázis Osztott, hierarchikus adatbázis Névszerverek százezrei Nevek milliói Gondoltak a redundanciára és a hibatűrésre is Legfontosabb feladat: Név IP cím összerendelés feloldása Egy sor más információt szolgáltat
Kényelem ● ●
A számítógépeket IP cím azonosítja Minden felhasználó azonban neveket szeret beírni
Hosts fájl ● ● ● ● ●
Kezdetben hosts táblázat Ez idővel hatalmasra dagadt Sűrű módosítás Egyre többen töltötték le Egyre gyakrabban töltötték le
DNS ● ●
P. Mockapetris <- főszerep ISI (Information Science Institute) munkatársa
Feladatuk általánosan ●
● ●
A nevek feloldása hálózati kommunikációval történik Kettős feladat (mint a közúti-közlekedésben): Látni Láttatni
Illetékesség fogalma ●
Autoritatív - A szerver illetékes egy név dolgában
Fa szerkezetű
gyökér
Top level (TLD)
Zóna ●
●
●
A név-fa zónákra oszlik
Egy zóna a fa egyben kezelt része (pl. az összes TLD-t kezelő root) Egy zóna az illetékes szerveren ált. Egy fájl.
Elsődleges - másodlagos ●
●
Elsődleges szerver -> zóna adminja változtatja
Másodlagos szerver -> tükrözzük az elsődlegesről
Delegálás ●
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.
Több színtű névmegadás ●
●
●
Többszintű névmegadás delegálással lehetséges De nem feltétele! Magam is hozhatok létre olyan domaineket, amelyek pontot tartalmaznak: osztaly.intezet.hu
FQDN (Fully Qualified Domain Name) ●
●
Hierarchia -> Minden név egyedi
Domain pontokkal elválasztott részei -> szegmens
FQDN jelölése ●
●
●
Domain név teljes -> végére pontot teszünk Előfordulhat ilyen domain: jupiter.vas.edu jupiter.vas.edu.intezet.hu Az edu végzödés nem garantálja, hogy FQNről van szó.
Domain név megadás ●
Latin ABC [a-z]
●
Számjegyek [0-9]
●
Kötőjel [-]
●
! Aláhúzás nem lehet!
Domain név megadás II. ●
●
●
Ma már használható ékeztes domain is.
Ékezetes domain esetén egy szabály alapján meghatározott alakban írjuk a domaint. Nem kell ezt nekünk kalkulálni: http://www.domain.hu/domain/ekezetes.html
Inverz feloldás (reverz) ●
●
IP címből - domain név
Biztonság növelésénél fontos -> Csak olyan címről fogadunk kapcsolatot ahol a hozzátartozó név kideríthető
in-addr.arpa ●
in-addr.arpa bevezetése az inverz feloldáshoz
●
Adott IP cím: 195.166.85.2
●
A címhez tartozó nevet így kapjuk meg: 2.85.166.195.in-addr.arpa
Névfeloldás menete ●
●
●
pluto.bme.hu címet keressük Gépen van egy rezolver (feloldó program) Nem maga végzi a feloldást, csak kéri egy DNS szervertől Telepítéskor megadtunk két DNS szervert - IP címet adunk meg
DNS kérés : pluto.bme.hu ●
●
●
●
●
Az „én DNS szerverem” válaszol azonnal A gyökérszerverhez fordul megtudja hu zónáért illetékes szerverek listáját Az újabb névszervertől az „én DNS szerverem” most azt kérdezi ki a felelős a bme zónáért Az újabb névszervertől az „én DNS szerverem” azt kérdezi hol található a pluto Ezt nevezzük REKURZÍV FELOLDÁS-nak
Rekurzív feloldás ●
DNS-es szerverek nem végeznek minden kliensnek ilyen feloldást, csak a konfigurációban megadottaknak
Cache -- TTL ●
●
●
A névszerverek tárolják egy ideig a feloldást, hogy ha legközelebb kérik tőle azonnal tudja a választ - hálózati forgalom csökkenése - gyors névfeloldás A tárolás idejét a zóna adminisztrátora adja meg a zóna leírásánál TTL – Time To Live Ennyi másodpercig tárolják a cache szerverek az adatokat
Névszerver felosztása ●
Caching only
●
Autoritatív (látató)
●
Forwarder
●
Slave
Caching only
●
Nem illetékes (autoritatív) egyetlen névnél sem, csak klienseknek oldja fel a neveket
Autoratív
●
Amelyek nevekhez tartozó címeket (amiről eddig szó volt.
Forwarder
●
Saját cache-ével egészítjük ki saját szerverünk cache-ét
Slave
●
Csak forwardert használ a nevek feloldására (egyet vagy többet)
Lame delegálás ●
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.
DNS adatbázis rekordtípusai ● ● ● ● ● ● ● ● ●
SOA – Start Of Authority A -- Address NS – Name Server Glue rekord – speciális A rekord CNAME – Canonical NAME MX – Mail eXchanger TXT – TeXT HINFO – Hardware INFOrmation PTR – PoinTeR
SOA - Start of Authority rekord, zóna kezdő rekord ●
●
● ● ● ● ●
A SOA rekord adja meg egy zónára vonatkozó közös információkat. valami.hu. SOA gep.valami.hu. mester.valami.hu. ( 1999093001 ;Serial nr. 86400 ;Refresh 1800 ;Retry 604800 ;Expire 43200) ;TTL
SOA rekord – első sor
valami.hu. SOA gep.valami.hu mester.valami.hu - zóna neve - elsődleges névszerver - emailcím úgy kapjuk, hogy az első pont karaktert (amit nem előz meg egy (backslash \) at jelre (@) cseréljük
SOA rekord – második sor ●
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
SOA rekord – harmadik sor ●
●
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
SOA rekord – negyedik sor ●
1800
; Retry
Másodpercben megadott szám ●
Ha frissítés nem sikerült mennyi idő múlva próbálkozzunk újra
SOA rekord – ötödik sor ●
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
SOA rekord – hatodik sor ●
43200
; TTL
Másodpercben megadott szám ●
A zóna rekordjaira vonatkozó alapérték
TTL értékek ●
Fontos az ésszerű beállítás Szokásos értékek: - refresh 86400
1 nap
- retry
1 óra
3600
- expire 604800 1 hét - TTL ●
86400
1 nap
Ha gyors változásvárható a TTL-et érdemes kicsire venni.
Hiba ●
Ha az expire idő nem nagyobb mint a refresh akkor a másodlagos szerver nem fogja szolgáltatni az adatokat
TTL értékek könnyebben ●
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 rekord
●
Domain névhez rendelünk egy IP címet
●
pl: pandora.bme.hu. A
195.199.17.8
A rekord II. ●
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!
NS rekord ●
A névszerverek címe Kettő szokott lenni: Egyik maga a master szerver, a másik a Slave szerver
●
Pl: IN NS gep.osztaly.valami.hu. IN NS gep.osztaly.masvalami.hu
Név szerver ●
Ma már kötelező két névszerver megadása
●
A két DNS szervernek különböző hálózatban kell lennie!
Glue rekord -– Idegen (ragadvány) A rekord ●
A delegált zóna egyik névszervere az adott zónában van. Pl.: gep.osztaly.valami.hu -nak saját DNS szervere van, mégis meg kell adni ezt feljebb a valami.hu zónában is!
●
Különben csapdába kerülünk!
●
Konkrétan: gep.osztaly
A
195.166.12.1
CNAME rekord ●
A hostnak becenevet adhatunk vele pl: www
CNAME
gep
gep.valahol.hu ekkor így is elérhető: www.valahol.hu
MX rekord ●
A domainbe érkező leveleket fogadó szerver címe IN MX
10 mail.valahol.hu
IN MX
20 masik.valahol.hu
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.
TXT rekord ●
Tetszőleges szöveget írhatunk ide. Megjegyzés stb.
HINFO rekord ●
Hardverről szokás (lehetne szokás, nem szokás) írni ide információkat
PTR rekord ●
Cím név feloldásra -> inverz feloldás
●
Az in-addr.arpa domain alá tartozó ág szolgálja a IP címek feloldását
●
Pl: 8.2.166.195.in-addr-arp IN PTR valami.hu
Domain akarunk magunknak I. ●
Meg kell néznünk van-e ilyen domain http://domain.hu
●
Slave szerver szolgálatót keresünk
●
Regisztrátort keresünk
●
Az Mastert mi szolgáltatjuk: beállítjuk a szerverünkön
Domain akarunk magunknak ●
Meg kell néznünk van-e ilyen domain http://domain.hu
●
Várakozási lista
-> 2 hét
●
Ha nincs Slave szerver a regisztrátor nem csinálja meg a delegálást! .hu domainre gondolok
DNS szerver programok ●
BIND
●
mydns-mysql
●
mydns-pgsql
●
pdns-server
BIND - Berkeley Internet Name Domain ●
Jelen nagy verziók: BIND8 BIND9
●
apt-get install bind9 (rendelkezésre áll a 8-as verzió bind csomagban, ne tévesszük össze)
BIND9 konfig fájlok I. ●
/etc/bind/
Minden zónát fel kell vennünk a /etc/bind/named.conf fájlban (A TOP level domainek elérhetősége alapból konfigurálva van)
BIND9 konfig fájlok II. ●
/etc/bind/named.conf.options fájl globálisa bind egészére vonatkozó beállításokat tartalmazza
directory opció ●
Egy könyvtárra mutat
●
A zónafájlok helye ehhez a könyvtárhoz képest ralatívan értendők.
●
Esetünkben ezért így helyes: /var/cache/bind
forwarders opció ●
Ha TOP level domainek lekérdezése helyett az ISP szervereitől akarunk lekérdezni DNS-t a gyorsabb elérés érdekében (mivel azok a névszerverek közelebb vannak), akkor ide írjuk azok IP címét.
Query-source address * port 53;
●
A 8.3 bindtól tetszőleges port megadható amelyen a bind figyeli a kéréseket.
BIND9 konfig fájlok III. ●
Minden zónának kell külön ún. zónafájlt csinálni, melyek szokásos helye (ez állítható a /etc/bind/named.conf fájlban), a /var/cache/bind vagy /var/lib/named Debian alatt a /var/cache/bind automatikusan létrejön
●
Itt két újabb könyvtár létrehozása szokásos. Master és slave. A master könyvtárban tároljuk azokat a zónákat amelyeknek Master szervere vagyunk, és értelemszerűen a slave könyvtárban azoknak a zónáknak a fájljait tesszük amelyeknek slave vagyunk.
Zónafájlok helye ●
mkdir /var/cache/bind/master
●
mkdir /var/cache/bind/slave
valahol.hu zóna bejegyzése ●
mcedit /etc/bind/named.conf zone „valahol.hu” in { type master; notify yes; fájl „master/valahol.hu.zone”; };
valahol.hu zóna bejegyzése A zóna neve ●
zone „valahol.hu” in {
Master típusú zóna
type master; notify yes;
fájl „master/valaho.hu.zone”; };
A Slave szervernek nem kell a refresh lejáratára figyelni, maga kezdeményezheti a frissítést
A zónafájl helye
valahol.hu zóna bejegyzése II. ●
A zónafájloknak szokásos kiterjesztése .zone A fájl neve a zóna nevével egyezik (opcionális, de szokás és ésszerű).
touch /var/cache/bind/valahol.hu.zone
valami.hu.zone fájl
●
$TTL 3D
@ IN SOA gep.valahol.hu hostmaster.valaho.hu( 2006092401 8H 2H 4W 1D) IN
NS
IN
MX
gep
IN
A
www
IN
mail IN
gep.valaho.hu 10
mail.valahol.hu 195.166.22.8
CNAME gep CNAME gep
postmaster@valahol.hu
●
DNS szerverünkön működnie kell a postmaster@valahol.hu e-mail címnek. E nélkül a regirsztrátorok nem fogadják el kérelmünket.
Technikai ellenőrzés
●
http://www.domain.hu/domain/regcheck
Technikai ellenőrzés ●
.hu domain esetén 2 hét várakozási idő
●
A regisztrátor csak akkor delegálja a toplevel szervereken a domainünket, ha lefut a regchek, azaz a technikai ellenőrzés sikeres
BIND újraindítása ●
Új zóna esetén: /etc/init.d/bind9 reload
●
Ha változtatunk egy zónán: rndc reload
Ellenőrző eszközök ●
host
kiszolgáló lekérdezése
●
dig
kiszolgáló tesztelése
●
dlint
●
nslookup kiszolgáló interaktív lekérdezése
hiba ellenőrző
dig ●
Kiszolgáló tesztelése
Megadjuk neki melyik névszerver beállításaira vagyunk kíváncsiak, és melyik domain-re.
Postmaster ellenőrzése ●
telnet localhost 25
●
Telnet 127.0.0.1
●
Megnézzük a postaládát Ha távolról lépünk be, akkor nem kell megnézni, ha nincs ilyen e-mail cím akkor nem fogadja el, hacsak nem vagyunk OpenRelay
Inverz zóna
mcedit /etc/bind/named.conf zone „22.165.195.in-addr.arpa” in { type master; notify yes; fájl „master/159.166.228.zone”; };
Zóna fájl mcedit
/var/cache/bind/master/195.166.22.zone
$TTL 3D
@ IN SOA gep.valahol.hu hostmaster.valahol.hu( 2006092401 8H 2H
4W IN NS
8 IN PTR
1D)
gep.valahol.hu
gep.valahol.hu
PTR ellenőrzése
host 195.166.22.8
Irodalom http://szabilinux.hu/dns/index.html http://www.domain.hu http://www.domain.hu/domain/ekezetes.html http://www.nic.hu