Published on

DNS a gyakorlatban

Authors
  • avatar
    Name
    Bartók Dániel
    Twitter

A múltheti kitérőt követően, még egy alkalom erejéig visszatértünk a DNS világához, hogy lekerekítsük a témát (legalábbis egy időre). A mai alkalommal vesszük mindazt, amit az eddigi két alkalom során megismertünk és megnézzük, hogyan lehet a névfeloldási folyamaton és a DNS rekordokon fogást venni Unix eszközök használatával.

A haladó bejegyzés megértéséhez szükséges előképzettség:

Az alábbi bejegyzések ismerete:

Unix eszközök:

  • nslookup1

  • dig2

DNS feloldás a gyakorlatban

Az alapozó bejegyzésben megismertük, hogyan zajlik a névfeloldási folyamat és milyen eszközök vesznek benne részt. Amennyiben Unix típusú (Linux, macOS) rendszert használunk, az esetek nagy részében előtelepítve megtalálható a dig vagy az nslookup eszköz. Ezek használatával könnyedén megtudhatjuk egy-egy domain-hoz tartozó IP címet. Amennyiben a zsebinformatikus IP címét szeretnénk így megtudni azt megtehetjük a következő parancsokkal. Az nslookup esetén egyszerűen megadjuk a keresett címet. A dig esetén a cím előtt megadjuk a DNS rekord típusát is, ez esetünkben az A címrekord lesz.

nslookup zsebinformatikus.hu
dig A zsebinformatikus.hu

Az első parancs kimenete egyszerűbbnek tűnik a másodiknál. A Server és Address mezőkben a lekérdezés során használt DNS szerver neve és címe szerepel. Rajta keresztül tudhatjuk meg a zsebinformatikus névhez tartozó IP címet. Ezt a DNS szervert általában az internet szolgáltató állítja be a routerben. Haladóbb szinten akár saját DNS szervert is használhatunk. Ezt főleg az egyes reklámblokkolók esetén szokták alkalmazni, de erről majd egy későbbi bejegyzésben. A Non-authoritative answer résznél kapjuk meg az IP címet vagy címeket, hiszen most esetünkben jól látszik, hogy a keresett címhez kettő darab IP cím is tartozik.

Ugyanez látható a második parancs kiadásánál is, egy picit másabb formában. A Question section részben látható, hogy mi volt pontosan a lekérdezésünk. Zsebinformatikus.hu. -ot keressük amely egy A típusú rekord. Emlékszünk ugye? Először elmegyünk a gyökér névszerverhez, melyet a cím végén található pont reprezentál (.), utána a legfelső szintű tartományi kiszolgálóhoz, ez lesz a .hu, végül az autoritatív névszerver mondja meg a keresett névhez tartozó IP címet vagy címeket. Az Answer section részben kapjuk meg a választ a kérdésünkre, az IP címet. A Query time megmondja, hogy meddig tartott a kérésünk feldolgozása, a Server résznél látszik a használt DNS szerver neve és címe és a When szekcióban pedig a lekérdezés időpontja.

DNS name resolving with unix tools

DNS rekordok a gyakorlatban

Most pedig nézzük meg, hogyan lehet a fent ismertetett eszközökkel lekérdezni DNS rekordokat.

  1. CNAME

    Sajnos a legtöbb esetben csak akkor tudjuk lekérni az összes kanonikus névrekordot, ha adminisztrátori jogosultsággal rendelkezünk az adott domain felett. Amennyiben van ilyen jogunk az adott domain-hez, akkor a fenti képhez hasonló eredményt kapunk, ha a Non-authoritative answer résznél az IP cím mellett megjelenik egy canonical name mező, akkor tudhatjuk, hogy az éppen lekért név egy alias, a mezőben megjelent névre.

  2. MX

    Ezzel szemben a levelezési rekordok publikusak, így azokat az alábbi parancsokkal lekérhetjük. Az első parancs lefutásánál három sort kapunk eredményül, a mail exchanger utal a rekord típusára, az utána álló szám a prioritási sorrendet mondja meg ahol mindig a kisebb jut először szóhoz, végül a levelezőszerver címe látható.

    Ugyanez látható a másik parancs futtatásakor is, eltérés, hogy itt a rekord típus neve

    nslookup -q=mx zsebinformatikus.hu
    dig MX zsebinformatikus.hu
    
    DNS MX record with unix tools
  3. TXT

    A fentihez teljesen hasonlóan lehet lekérdezni a szöveges rekordot. Egyedüli különbség itt is csak annyi, hogy a típus neve hogyan jelenik meg az egyes parancsok futtatásánál.

    nslookup -q=txt zsebinformatikus.hu
    dig TXT zsebinformatikus.hu
    
     DNS TXT record with unix tools
  4. SOA

    Végezetül pedig még megmutatnám a nyilvántartási rekord lekérdezését. Itt az első eszköz olvashatóbban adja vissza az értékeket, hiszen itt szépen felsorolva jeleníti meg az elsődleges névszerver címét, a rendszergazda e-mail címét, a zóna sorozatszámát és a frissítési paramétert is (origin, mail addr, serial, retry).

    Ezzel szemben a másodiknál csak az egyes értékeket láthatjuk.

    nslookup -q=soa zsebinformatikus.hu
    dig SOA zsebinformatikus.hu
    
     DNS SOA record with unix tools

Jól látszik, hogy a két eszköz között igazából csak nüansznyi különbségeket lehet felfedezni, így abban a kérdésben, hogy ki melyiket használja a szimpátia dönt. Személy szerint, ha a munkám során DNS-t érintő információt vagy problémát kell felkutatnom én az nslookup eszközt szoktam használni.

Kedves Olvasó, ezzel a végére értünk a háromrészesre tervezett DNS-t ismertető bejegyzés sorozatnak. Ha csak egy dolgot vinnél el ebből, az legyen a névfeloldási folyamat. Erről még a hetekben fog érkezni egy kis animáció, hogy ha az idő múltával kopnának az emlékek a folyamatot illetően, a videó segítsen gyorsan feleleveníteni azt. :)

Footnotes

  1. Az nslookup unix eszköz leírása

  2. A dig unix eszköz leírása

Támogass egy kávéval