Konferencia Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach 2012

Miesto konania: 
Žilina
Dátum akcie: 
2. - 4. júl 2012

Pozývame vás na konferenciu Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach 2012, ktorá sa uskutoční sa v dňoch 2. - 4. júla 2012 v areáli Žilinskej univerzity. Pozývame vás rovnako ako prednášajúcich, tak aj ako poslucháčov.

Riešenie problémov s DNS

Verzia pre tlačSend by emailPDF verzia
0
 
 

Táto časť hovorí o spôsoboch, akými môžeme zistiť príčiny vzniknutých problémov s DNS a BIND9.

Testovanie

resolv.conf

Ak chceme začať testovať BIND9, je potrebné pridať servery do zoznamu  menných serverov. Pre istotu primárny menný server nakonfigurujeme rovnako ako ostatné stanice. Otvoríme súbor /etc/resolv.conf a pridáme nasledujúce riadky:

nameserver	192.168.1.10 
nameserver	192.168.1.11 
[Note]

Môžete tiež pridať IP adresu sekundárneho servera pre prípad, že primárny nebude fungovať.

dig

Ak máme nainštalovaný balík dnsutils, môžeme otestovať nastavenie dns pomocou nástroja dig:

  • Po nainštalovaní BIND9 použijeme dig ako rozhranie so spätnou väzbou, aby sme sa uistili, či server načúva na porte 53. V príkazovom riadku zadáme:

    dig -x 127.0.0.1

    Mali by sme uvidieť riadky podobné týmto:

    ;; Query time: 1 msec 
    ;; SERVER: 192.168.1.10#53(192.168.1.10) 
  • Ak máme BIND9 nastavený ako menný server s dočasnou pamäťou, môžeme príkaz "dig" použiť na otestovanie rýchlosti odpovede na požiadavku:

    dig ubuntu.com

    Všimneme si čas požiadavky na konci výstupu:

    ;; Query time: 49 msec 

    Po opätovnom zadaní tej istej požiadavky by sme mali dostať oveľa kratší čas:

    ;; Query time: 1 msec 

ping

Teraz si ukážeme, ako môžeme otestovať DNS, či správne prekladá mená staníc. Použijeme na to nástroj ping, ktorý odošle ICMP echo požiadavku. Do príkazového riadka zadáme:

ping nieco.sk

V prípade, že menný server bude vedieť preložiť adresu ns.nieco.sk na IP adresu, mal by výstup vyzerať takto:

PING ns.nieco.sk (192.168.1.10) 56(84) bytes of data. 
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=0.800 ms 
64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=0.813 ms 

named-checkzone

Výborný spôsob, akým sa dajú otestovať zónové súbory, je použitie nástroja named-checkzone, ktorý sa nainštaloval pri inštalácii balíka bind9. Tento nástroj umožňuje zistiť, či je konfigurácia pred reštartovaním BIND9 správna a umožňuje robiť zmeny za behu.

  • Ak chceme otestovať náš priamy zónový súbor, zadáme toto:

    named-checkzone nieco.sk /etc/bind/db.nieco.sk

    Ak je všetko nastavené správne, mal by výstup vyzerať takto:

    zone nieco.sk/IN: loaded serial 6 
    OK 
  • Podobne môžeme otestovať aj reverzný zónový súbor:

    named-checkzone nieco.sk /etc/bind/db.192

    Výstup by mal vyzerať takto:

    zone nieco.sk/IN: loaded serial 3 
    OK 
[Note]

Čísla Serial sa budú vo Vašom prípade pravdepodobne odlišovať.

Záznamy

BIND9 má veľa rôznych nastavení týkajúcich sa zaznamenávania. Hlavné nastavenia sú dve. Nastavenie channel (kanál) hovorí o tom, kam pôjdu záznamy a nastavenie category (kategória) určuje, aké informácie budú zaznamenávané.

Ak nie sú nakonfigurované žiadne nastavenia, použije sa predvolené nastavenie:

logging { 
     category default { default_syslog; default_debug; }; 
     category unmatched { null; }; 
}; 

Táto časť hovorí o tom, ako nakonfigurovať BIND9 tak, aby odosielal debug (ladiace) správy súvisiace s DNS požiadavkami do samostatného súboru.

  • Najskôr nastavíme kanál tak, aby systém vedel kam má správy odosielať. Otvoríme súbor /etc/bind/named.conf.local a pridáme nasledujúce riadky:

    logging { 
        channel query.log {       
            file "/var/log/query.log"; 
            severity debug 3;  
        };  
    }; 
  • Potom nastavím kategóriu, aby systém odosielal všetky DNS požiadavky do súboru query.log:

    logging { 
        channel query.log {       
            file "/var/log/query.log";  
            severity debug 3;  
        };  
        category queries { query.log; };  
    }; 
[Note]

Poznámka: nastavenie debug môžete meniť v rozsahu 1 až 3. Ak ho nezadáte, použije sa úroveň 1.

  • Pretože démon named je spustený pod používateľom bind po vytvorení súboru /var/log/query.log musíme zmeniť jeho vlastníctvo:

    sudo touch /var/log/query.log
    sudo chown bind /var/log/query.log
  • Pred tým, ako bude môcť démon named zapisovať do nového log súboru, musíme aktualizovať profil AppArmor. Najskôr otvoríme súbor /etc/apparmor.d/usr.sbin.named a pridáme:

    /var/log/query.log w, 

    Potom nanovo načítame profil:

    cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -r

    Viac informácii o AppArmor sa dozviete v časti  “AppArmor”

  • Teraz reštartujeme BIND9 aby sa zmeny prejavili:

    sudo /etc/init.d/bind9 restart

Teraz by sme mali vidieť v súbore /var/log/query.log informácie o požiadavkách. Toto je len veľmi jednoduchá ukážka toho, ako sa konfigurujú nastavenia zaznamenávania systému BIND9. Podrobnejšie informácie sa dozviete v časti “Viac informacií”.