DNS

Úloha

  1. Aktualizujte si zoznam inštalačných balíčkov
  2. Zistite obsah súboru /etc/resolv.conf Kto je momentálne DNS server?
  3. Zistite ako rýchle dokáže školský server previesť www.plesnik.sk na IP adresu. Dotaz opakujte a vysvetlite čo sa stalo.
  4. Teraz zistite akú IP adresu má ftp.plesnik.sk Zase porovnajte čas odpovede a vysvetlite prečo je podstatne kratšia ako predchvíľou.
  5. Zistite názov balíka ktorý vie robiť vlastný DNS server a nainštalujte ho
  6. Po inštalácii skontrolujte či DNS server beži. A ak áno nastavte váš server aby ho používal.
  7. Zistite akú IP adresu dostanete od DNS servera ak pingnete www.sosst.sk Zapamätajte si aj ako dlho to trvá.
  8. Nastavte aby váš DNS server používal virtuálny vindows ktorý máte v doméme samby. Overte že prevod doménových mien funguje.
  9. Nastavte tzv caching DNS server. Nastavte aby používal ako nadradený server školský DNS (10.3.56.9) Tiež nastavte aby server obsluhoval iba počítače z lokálnej školskej siete.
  10. Overte funkčnosť opäť pingnutím www.sosst.sk Vidíte tam nejaký rozdiel?

Teória

Principy fungování DNS: doménový strom, kategorie TLD a alternativní stromy
Principy fungování DNS: role různých typů serverů při řešení dotazů
Principy fungování DNS: život jednoho dotazu

Nástroj rndc (Remote Name Daemon Control)

Nástroj rndc je v podstate „diaľkové ovládanie“ pre tvoj BIND9 server. Umožňuje ti komunikovať s bežiacim DNS serverom bez toho, aby si ho musel neustále reštartovať (čo by vymazalo celú tvoju prácne nazbieranú cache).

Funguje to cez lokálny port (štandardne 953) a používa digitálny podpis (zdieľaný kľúč), aby sa k serveru nepripojil niekto cudzí.

1. Základné príkazy, ktoré musíš poznať

2. Sledovanie štatistík a cache (Cvičenie)

Ak chceš vidieť, čo presne tvoj server „vie“, môžeš obsah cache vyexportovať do súboru:

  1. Dump cache do súboru:
    sudo rndc dumpdb -cache
  2. Pozri si výsledok:

    Súbor sa uloží do /var/cache/bind/named_dump.db.

    sudo cat /var/cache/bind/named_dump.db

3. Ako je rndc zabezpečený?

BIND9 pri inštalácii na Debiane automaticky vygeneruje kľúč v súbore /etc/bind/rndc.key. Ten vyzerá približne takto:

key "rndc-key" {
    algorithm hmac-sha256;
    secret "nejaký-zašifrovaný-reťazec-znakov==";
};
Dôležité: Tento kľúč musí poznať aj server aj klient, inak dostaneš chybu connection refused.

4. Prečo je to lepšie ako systemctl restart?

Akcia Restart (systemctl) Reload (rndc)
Stav servera Vypne sa a zapne Zostáva bežať
DNS Cache Úplne sa vymaže Zostáva zachovaná
Rýchlosť Pomalšie (studený štart) Okamžité

Postup

  1. Vypíšte si súbor /etc/resolv.conf Určite aký sa používa primárny DNS server a aký je záložný DNS server
  2. Pre zistenie času odpovede použite príkaz
    dig @10.3.56.9 www.plesnik.sk
  3. Teraz opakujte príkaz pre
    dig @10.3.56.9 ftp.plesnik.sk
  4. Nainštalujte balík bind9 Skontrolujte či služba beží normálne
  5. Otestujte či funguje prevod doménového mena na IP adresu na vašom serveri.
    dig @localhost www.plesnik.sk
    Príkaz opakujte a sledujte čas odpovede.
  6. Nastavte v súbore /etc/resolv.conf ako primárny dns server váš lokálny DNS server (127.0.0.1) a ako záložný nastavte školský DNS server (10.3.56.9) (Súbor treba vhodným spôsobom upraviť)
  7. Vyskúšajte či je prevod doménového mena na IP adresu funkčné napríklad príkazom
    ping www.dsl.sk
  8. skuste príkazy:
    dig @localhost www.sosst.sk
    ping www.sosst.sk
  9. Spustite si svoj virtuálny Windows počítač. Prihláste sa ako administrátor a skontrolujte v nastavení siete IP adresu DNS či je nastavená na váš server. Overte prístupom z prehliadača na nejakú www stránku či prevod doménového mena na IP adresu funguje
  10. Pre istotu si urobte zálohu súboru /etc/bind/named.conf.options príkazom
    cp /etc/bind/named.conf.options /etc/bind/named.conf.options.bak
  11. Upravte obsah súboru /etc/bind/named.conf.options
    acl "trusted" { 127.0.0.0/8; 10.3.0.0/16; # skolska lokalna siet }; options { directory "/var/cache/bind"; // Toto povie BINDu, aby robil rekurziu recursion yes; // Toto povie BINDu, PRE KOHO ju má robiť allow-recursion { trusted; }; // Kto sa môže pýtať na záznamy v cache allow-query { trusted; }; forwarders { 10.3.56.9; //nadradeným DNS serverom je skolsky DNS server }; dnssec-validation auto; };
  12. Skontrolujte si či je syntax konfiguračných súborov pre named v poriadku.
    named-checkconf
    A potom reštartujte službu bind9.