Hibaelhárítás

Ez a szakasz a DNS-sel és a BIND9-cel kapcsolatban fellépő problémák okának meghatározását segítő módszereket ismerteti.

Tesztelés

resolv.conf

A BIND9 tesztelésének első lépése a névkiszolgáló IP-címének felvétele egy gépnévfeloldóba. Be kell állítani az elsődleges névkiszolgálót, valamint még egy gépet az alapos ellenőrzés érdekében. Szerkessze az /etc/resolv.conf fájlt, és vegye fel a következőket:

nameserver	192.168.1.10
nameserver	192.168.1.11
[Megjegyzés]

Vegye fel a másodlagos névkiszolgáló IP-címét is arra az esetre, ha az elsődleges elérhetetlenné válna.

dig

Ha telepítette a dnsutils csomagot, akkor a dig nevű DNS-kikereső segédprogrammal tesztelheti a rendszert:

  • A BIND9 telepítése után használja a dig programot a visszacsatolási felületen, és győződjön meg róla, hogy az figyel az 53-as porton. Adja ki a következő parancsot:

    dig -x 127.0.0.1
    

    A parancs kimenetében a következőhöz hasonló sorokat kell látnia:

    ;; Query time: 1 msec
    ;; SERVER: 192.168.1.10#53(192.168.1.10)
    
  • Ha a BIND9-et gyorsítótárazó névkiszolgálóként állította be, akkor használja a „dig” programot egy külső tartományra a lekérdezési idő ellenőrzése érdekében:

    dig ubuntu.com
    

    Figyelje meg a lekérdezési időt a parancs kimenetének vége felé:

    ;; Query time: 49 msec
    

    A dig második kiadása után ennek javulnia kell:

    ;; Query time: 1 msec
    

ping

A DNS alkalmazások általi névfeloldásra való használatának bemutatása érdekében küldjön a ping segédprogrammal egy ICMP echo kérést. Adja ki a következő parancsot:

ping példa.hu

Ez teszteli, hogy a névkiszolgáló fel tudja-e oldani a ns.példa.hu nevet IP-címmé. A parancs kimenetének ehhez kell hasonlítania:

PING ns.példa.hu (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

A zónafájlok tesztelésére jó módszer a bind9 csomaggal telepített named-checkzone segédprogram használata. Ez a segédprogram lehetővé teszi a beállítások helyességének ellenőrzését a BIND9 újraindítása és a változtatások életbe lépése előtt.

  • A példa közvetlen zóna teszteléséhez adja ki a következő parancsot:

    named-checkzone példa.hu /etc/bind/db.példa.hu
    

    Ha minden megfelelően van beállítva, akkor a következőhöz hasonló kimenetet kell látnia:

    zone példa.hu/IN: loaded serial 6
    OK
    
  • A fordított zóna teszteléséhez adja ki a következőt:

    named-checkzone példa.hu /etc/bind/db.192
    

    A kimenetnek ehhez hasonlónak kell lennie:

    zone példa.hu/IN: loaded serial 3
    OK
    
[Megjegyzés]

A zónafájl Serial értéke valószínűleg el fog térni.

Naplózás

A BIND9 rengeteg naplózási beállítással rendelkezik. Két fő beállítás van: a channel beállítás megadja, hogy a naplók hova kerüljenek, a category beállítás pedig a naplózandó információkat.

Ha nincs beállítva a naplózás, akkor az alapértelmezés a következő:

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

Ez a szakasz a BIND9 beállítását ismerteti a DNS-lekérdezésekkel kapcsolatos hibakeresési üzenetek külön fájlba küldésére.

  • Első lépésként be kell állítani egy csatornát az üzenetek célfájljának megadásához. Szerkessze az /etc/bind/named.conf.local fájlt, és vegye fel a következőt:

    logging {
        channel query.log {      
            file "/var/log/query.log";
            severity debug 3; 
        }; 
    };
    
  • Ezután állítson be egy kategóriát az összes DNS-lekérdezés elküldéséhez a lekérdezésfájlba:

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

Megjegyzés: a debug beállítás 1 és 3 közti értékeket vehet fel. Ha nincs megadva a szint, akkor az alapértelmezés az 1.

  • Mivel a named démon a bind felhasználó nevében fut, ezért létre kell hozni a /var/log/query.log fájlt és jogosultságait módosítani kell:

    sudo touch /var/log/query.log
    sudo chown bind /var/log/query.log
    
  • Mielőtt a named démon írhatna az új fájlba, az AppArmor profilt frissíteni kell. Első lépésként szerkessze az /etc/apparmor.d/usr.sbin.named fájlt, és vegye fel a következőt:

    /var/log/query.log w,
    

    Töltse újra a profilt:

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

    Az AppArmorral kapcsolatos további információkért lásd az „AppArmor” szakaszt.

  • Most indítsa újra a BIND9 démont a változtatások életbe léptetéséhez:

    sudo /etc/init.d/bind9 restart
    

Látnia kell, hogy a /var/log/query.log fájl megtelik információkkal. Ez csak egy egyszerű példa a BIND9 naplózási lehetőségeinek bemutatására. A speciális beállításokért lásd a „További információk” szakaszt.