Konfigurácia DNS

Je mnoho spôsobov, akými sa dá nakonfigurovať BIND9. Najčastejšie sa jedná o konfiguráciu v podobe menného servera s dočasným úložiskom mien (caching nameserver), primárneho hlavného menného servera (primary master) a sekundárneho hlavného menného servera (secondary master).

  • V prípade servera s dočasným úložiskom mien BIND9 nájde odpoveď na požiadavku a zapamätá si ju a poskytuje ju pri ďalších požiadavkách.

  • Ako primárny hlavný menný server BIND9 číta zo súboru dáta o staniciach zóny a je autoritatívnym serverom pre celú zónu.

  • Sekundárny hlavný menný server BIND9 získava dáta o zóne z iného autoritatívneho menného servera zóny.

Prehľad

Konfiguračné súbory DNS sú uložené v priečinku /etc/bind. Hlavný konfiguračný súbor je /etc/bind/named.conf.

Riadok include hovorí o súbore, ktorý obsahuje nastavenia DNS. Riadok directory v súbore /etc/bind/named.conf.options hovorí o priečinku, v ktorom bude DNS hľadať súbory. Všetky súbory, ktoré BIND používa, sú zapísané pomocou relatívnej cesty ku tomuto priečinku.

V súbore /etc/bind/db.root sú zapísané hlavné koreňové menné servery z celého sveta. Zoznam serverov sa mení, preto je potrebné súbor /etc/bind/db.root občas aktualizovať. To sa zvyčajne udeje pri aktualizácii balíka bind9. Riadky zone definujú hlavný server, ktorého nastavenia sú uložené v súbore definovanom riadkom file.

Je možné konfigurovať server aj tak, aby bol súčasne menným serverom s dočasným úložiskom mien, primárnym hlavným serverom a sekundárnym hlavným serverom. Server môže poskytovať štartovaciu autoritu - Start of Authority (SOA) pre jednu zónu a zároveň poskytovať sekundárnu službu inej zóne. Súčasne môže všetkým staniciam v lokálnej sieti LAN poskytovať službu dočasného úložiska mien.

Menný server s dočasným úložiskom

Predvolená konfigurácia je nastavená na server s dočasným úložiskom. Všetko čo potrebujeme urobiť, je pridanie IP adries DNS serverov, ktoré získame od poskytovateľa internetového pripojenia. V súbore /etc/bind/named.conf.options odpoznámkujeme a zmeníme nasledujúce nastavenie:

forwarders {
1.2.3.4;
5.6.7.8;
};
[Note]

Adresy 1.2.3.4 a 5.6.7.8 nahraďte IP adresami menných serverov od poskytovateľa internetového spojenia.

Teraz reštartujeme DNS server, aby sa zmeny uplatnili. Do príkazového riadka zadáme:

sudo /etc/init.d/bind9 restart

Informácie o tom, ako nastavenie otestujeme, sa nachádzajú v časti “dig” .

Primárny hlavný menný server

V tejto časti BIND9 nastavíme ako primárny hlavný server pre doménu nieco.sk. Jednoducho nahradíme nieco.sk naším FQDN (úplným kvalifikovaným menom domény).

Priamy zónový súbor

Ak chceme v BIND9 vytvoriť DNS zónu a premeniť ho na primárny hlavný menný server, najskôr upravíme súbor /etc/bind/named.conf.local:

zone "nieco.sk" {
type master;
file "/etc/bind/db.nieco.sk";
};

Teraz použijeme vzorový zónový súbor ako šablónu na vytvorenie nášho súboru /etc/bind/db.nieco.sk:

sudo cp /etc/bind/db.local /etc/bind/db.nieco.sk

Otvoríme nový zónový súbor /etc/bind/db.nieco.sk, zmeníme localhost. na FQDN nášho servera spolu s bodkou "." na konci. Zmeníme 127.0.0.1 na IP adresu menného servera a root.localhost na platnú emailovú adresu, ale miesto znaku zavináč "@" použijeme bodku "." a bodku "." necháme aj na konci adresy.

Vytvoríme tiež A záznam pre ns.nieco.sk. - adresu menného servera:

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.nieco.sk. spravca.nieco.sk. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.nieco.sk.
@ IN A 127.0.0.1
@ IN AAAA ::1
ns IN A 192.168.1.10

Číslo označené poznámkou Serial je potrebné zvýšiť po každej úprave zónového súboru. Ak urobíme viacero zmien pred tým, ako reštartujeme  BIND9, stačí číslo Serial zvýšiť len raz.

Teraz stačí pridať DNS záznamy na koniec zónového súboru. Viac informácii o pridávaní záznamov sa nachádza v časti “Najčastejšie typy záznamov”.

[Note]

Mnoho administrátorov používa v čísle Serial dátum zmeny súboru, napríklad 0107200700 čo predstavuje ddmmyyyyss (kde ss je poradové číslo zmeny v danom dni)

Po vykonaní zmien v zónovom súbore, je potrebné BIND9 reštartovať, aby sa zmeny prejavili:

sudo /etc/init.d/bind9 restart

Reverzný zónový súbor

Teraz keď sme nastavili preklad mien na IP Adresy, je potrebné zadefinovať aj reverznú zónu. Reverzná zóna umožňuje systému DNS prekladať adresy na mená.

Otvoríme súbor /etc/bind/named.conf.local a pridáme nasledujúce nastavenia:

zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};
[Note]

Čísla 1.168.192 prvými troma oktetmi adresy siete, ktorú používate. Tiež podľa toho upravte aj meno zónového súboru /etc/bind/db.192. Na konci by mal byť posledný oktet siete, ktorú používate.

Teraz vytvoríme súbor /etc/bind/db.192 podľa vzorového súboru:

sudo cp /etc/bind/db.127 /etc/bind/db.192

Teraz súbor /etc/bind/db.192 otvoríme a zmeníme tie isté nastavenia ako v súbore /etc/bind/db.nieco.sk:

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.nieco.sk. spravca.nieco.sk. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
10 IN PTR ns.nieco.sk.

Číslo Serial v reverznej zóne je potrebné tiež zvýšiť pri každej zmene. Pre každý A záznam, ktorý sme vytvorili /etc/bind/db.nieco.sk je potrebné vytvoriť PTR záznam v /etc/bind/db.192.

Po dokončení úpravy reverzného zónového súboru reštartujeme BIND9:

sudo /etc/init.d/bind9 restart

Sekundárny hlavný menný server

Ak sme už nakonfigurovali primárny hlavný server, môžeme nakonfigurovať aj sekundárny hlavný server, ktorý zaistí dostupnosť menného servera v prípade, že sa primárny server stane nedostupným.

Najskôr na primárnom serveri povolíme prenos zóny. Pridáme nastavenie allow-transfer do definície priamej aj reverznej zóny v súbore /etc/bind/named.conf.local:

zone "nieco.sk" {
type master;
file "/etc/bind/db.nieco.sk";
allow-transfer { 192.168.1.11; };
};

zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
allow-transfer { 192.168.1.11; };
};
[Note]

Adresu 192.168.1.11 nahraďte IP Adresou sekundárneho menného servera.

Potom na sekundárnom servery nainštalujeme balík bind9 rovnaký spôsobom ako na primárnom serveri. Otvoríme súbor /etc/bind/named.conf.local a pridáme nasledujúce deklarácie priamej a reverznej zóny:

zone "nieco.sk" {
type slave;
file "/var/cache/bind/db.nieco.sk";
masters { 192.168.1.10; };
};

zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/db.192";
masters { 192.168.1.10; };
};
[Note]

Adresu 192.168.1.10 nahraďte IP adresou primárneho menného servera.

Reštartujeme BIND9 na sekundárnom serveri:

sudo /etc/init.d/bind9 restart

V súbore /var/log/syslog by sme mali vidieť niečo podobné tomuto:

slave zone "nieco.sk" (IN) loaded (serial 6)
slave zone "100.18.172.in-addr.arpa" (IN) loaded (serial 3)
[Note]

Poznámka: Zóna sa prenesie iba vtedy, ak číslo Serial na primárnom serveri je väčšie ako na sekundárnom.

[Note]

Predvolený priečinok pre súbory neautoritatívnej zóny je /var/cache/bind/. Tento priečinok je tiež nastavený v AppArmor tak, aby do neho démon named mohol zapisovať. Viac informácií o AppArmor sa nachádza v časti “AppArmor”.