DNS
Úloha
-
Aktualizujte si zoznam inštalačných balíčkov
-
Zistite obsah súboru /etc/resolv.conf
Kto je momentálne DNS server?
-
Zistite ako rýchle dokáže školský server previesť www.plesnik.sk
na IP adresu. Dotaz opakujte a vysvetlite čo sa stalo.
-
Teraz zistite akú IP adresu má ftp.plesnik.sk
Zase porovnajte čas odpovede a vysvetlite prečo je podstatne kratšia ako predchvíľou.
-
Zistite názov balíka ktorý vie robiť vlastný DNS server a nainštalujte ho
-
Po inštalácii skontrolujte či DNS server beži. A ak áno nastavte váš server aby ho používal.
-
Zistite akú IP adresu dostanete od DNS servera ak pingnete www.sosst.sk
Zapamätajte si aj ako dlho to trvá.
-
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.
-
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.
-
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ť
sudo rndc status – Zistíš, či server beží, koľko má v pamäti záznamov a aké sú štatistiky.
sudo rndc reload – Ak zmeníš konfiguračný súbor alebo súbor zóny, toto ich načíta bez prerušenia prevádzky.
sudo rndc flush – Úplne vymaže celú cache. Užitočné, ak si niečo zle nastavil.
sudo rndc flushname google.com – Vymaže z cache len konkrétnu doménu.
2. Sledovanie štatistík a cache (Cvičenie)
Ak chceš vidieť, čo presne tvoj server „vie“, môžeš obsah cache vyexportovať do súboru:
- Dump cache do súboru:
sudo rndc dumpdb -cache
- 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
-
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
-
Pre zistenie času odpovede použite príkaz
dig @10.3.56.9 www.plesnik.sk
-
Teraz opakujte príkaz pre
dig @10.3.56.9 ftp.plesnik.sk
-
Nainštalujte balík bind9
Skontrolujte či služba beží normálne
-
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.
-
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ť)
-
Vyskúšajte či je prevod doménového mena na IP adresu funkčné napríklad príkazom
ping www.dsl.sk
-
skuste príkazy:
dig @localhost www.sosst.sk
ping www.sosst.sk
-
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
-
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
-
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;
};
-
Skontrolujte si či je syntax konfiguračných súborov pre named v poriadku.
named-checkconf
A potom reštartujte službu bind9.