Žilinská univerzita > Fakulta riadenia a informatiky > Katedra informačných sietí

Konfigurácia DNS servera

Nastavenie DNS servera

Tento návod je platný pre systém debian 6 a vychádza z http://deja-vix.sk/sysadmin/dns.html. Veľa teoretických poznatkov je preskočených, preto je vhodné prečítať si pôvodný návod.

 

Inštalácia

Inštalácia je veľmi jednoduchá, pretože budeme využívať softvér z repozitárov. Softvér potrebný pre realizáciu dns servera sa nazýva bind9.

 

apt-get install bind9
 

Štandardné nastavenia

 
Pre jednoduchosť uvažujme doménu (zonu) "simpledomain.sk", ktorú bude náš DNS server spravovať. V tejto zóne budeme chcieť vyžívať ako IPv4 tak IPv6 preklady a ich reverzné preklady. Základnom konfigurácie jednotlivých zón sú zónové súbory. Malo by sa dodržiavať nepísané pravidlo, že pre každú zónu by mal byť práve 1 zónový súbor. Tento zónový súbor môže byť lokalizovaný ľubovoľne v súborovom systéme, len ho treba potom v konfigurácii správne prilinkovať. Hlavným konfiguračným súborom je súbor /etc/bind/named.conf . V aktuálnej verzii bindu tento súbor pripája ďalšie 3 súbory - named.conf.default-zones  named.conf.local  named.conf.options.
 
named.conf.options
Súbor obsahuje rôzne nastavenia pre DNS server. Pre nás sú zaujímavé najmä tieto nastavenia.
 
options {
 
//pracovny adresar
directory "/var/named/";
 
//toto je komentar
 
//dns servery na ktore sa nas dns obrati ak nebude vediet
//splnit poziadavku na preklad
//spravidla dns servery providera
forwarders {
158.193.152.2;
};
 
 
//vhodne zadefinovat
//forward only;
auth-nxdomain no;    # conform to RFC1035
 
//pocuvanie na IPv6
listen-on-v6 { any; };
};
 
 
named.conf.local
V tomto okamihu pre nás nezaujímavý.
 
named.conf.default-zones
V tomto súbore sa definujú práve jednotlivé zóny a zónové súbory. Príklad pre definovanie zóny simpledomain.sk s reverznými dns, by mohol vyzerať nasledovne:
 
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
 
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
 
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
 
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
 
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
 
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
 
zone "simpledomain.sk"{
type master;
file "/var/bind/primary/simpledomain.sk.zone";
};
 
zone "56.168.192.in-addr.arpa"{
type master;
file "/var/bind/primary/simpledomain.sk.reverse";
};
 
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.d.0.f.ip6.arpa"{
type master;
file "/var/bind/primary/simpledomain.sk.ipv6reverse";
};
 

Vytvorenie zónových súborov

Zónové súbory sú lokalizované v adresári /var/bind/primary resp. /var/bind/secondary, v závislosti na tom, či sme pre danú doménu primárny (master) dns server, alebo sekundárny (slave).
 
mkdir -p /var/bind/primary
mkdir -p /var/bind/secondary
 
V týchto adresároch potom môžme vytvoriť jednotlivé zónové súbory.
 
cd /var/bind/primary
nano simpledomain.sk.zone
 
Súbor simpledomain.sk.zone bude predstavovať zónový súbor pre našu doménu simpledomain.sk. Namiesto editora nano, je možné použiť ľubovoľný iný editor (mcedit, vim, ..). Súbor simpledomain.sk.zone by mal vyzerať nasledovne:
 
$ORIGIN .
$TTL 86400      ; zivotnost zaznamu 1 den
simpledomain.sk           IN SOA  ns.simpledomain.sk. adresa_spravcu.mojadomena.sk. (
                                2003013101 ; serial
                                86400      ; refresh (1 day)
                                21600      ; retry (6 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                3600       ; minimum (1 hour)
                                )
                        NS      ns.simpledomain.sk.
                        MX      10 ns.simpledomain.sk.
$ORIGIN simpledomain.sk.
$TTL 86400      ; 1 day
ns       IN   A       192.168.56.1
mail            IN   CNAME   ns
www             IN   CNAME   ns
ftp             IN   CNAME   ns
test            IN   A       192.168.56.2
ipv6 IN   AAAA    f0d8::1
 
Takto zadefinovaný zónový súbor zabezpečí nasledovné preklady.
 
ns.simpledomain.sk - 192.168.56.1
mail.simpledomain.sk - 192.168.56.1
www.simpledomain.sk - 192.168.56.1
ftp.simpledomain.sk - 192.168.56.1
test.simpledomain.sk - 192.168.56.2
ipv6.simpledomain.sk - f0d8::1
 
Reverzný zónový súbor by mal vyzerať nasledovne.
vim simpledomain.sk.reverse
 
$ORIGIN .
$TTL 86400      ; 1 day
56.168.192.in-addr.arpa IN SOA  ns.simpledomain.sk. adresa_spravcu.mojadomena. (
                                2003013101 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.simpledomain.sk.
$ORIGIN 56.168.192.in-addr.arpa.
1                IN   PTR     ns.simpledomain.sk.
2                IN   PTR     test.simpledomain.sk.
 
Reverzný zónový súbor pre IPv6
vim simpledomain.sk.ipv6reverse
 
$ORIGIN .
$TTL 86400      ; 1 day
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.d.0.f.ip6.arpa IN SOA  ns.simpledomain.sk. adresa_spravcu.mojadomena. (
                                2003013101 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.simpledomain.sk.
$ORIGIN 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.d.0.f.ip6.arpa
1.0.0.0              IN   PTR     ipv6.simpledomain.sk.
 

Zavedenie nastavení

 
Ak chceme aby sa tieto nastavenia prejavili, je nutné reštartovať dns daemona. Tento krok je nutný po akejkoľvek zmene konfiguračných súborov. 
 
service bind9 restart
 
Na obrazovke, by sa malo zobraziť, či tento krok prebehol úspešne alebo nie. Pre detailnejšie výpisy odporúčam na vedľajšej konzole mať zapnuté vypisovanie logov
 
tail -f /var/log/syslog
 
Ak reštart prebehol úspešne, tak by mal dns server pracovať správne. Ako zistiť, že pracuje správne zistíte v sekcii testovanie.
 

Bezpečnosť

 
Veľmi dobrou bezpečnostnou politikou je nechať bežať dns server pod inými právami ako sú rootovské a navyše v oddelenom súborovom systéme. Pre bližšie informácie (a pre všeobecný rozhľad) odporúčam preštudovať vyššie uvedený link. 
 

Vyhradený používateľ

 
Vo väčšine prípadov toto za vás spraví inštalácia sama. Overenie:
 
grep bind /etc/passwd
bind:x:105:107::/var/cache/bind:/bin/false
 

Adresárová štruktúra

 
Keďže chceme, aby bol daný daemon v určitom adresári, potrebujeme mu všetky potrebné súbory pripraviť. 
cd /var/bind
mkdir dev
mkdir etc
mkdir -p var/bind/primary
mkdir -p var/run/bind
chown bind:bind var/run/bind
 

Premiestnenie jednotlivých súborov

 
cd /var/bind/
cp /etc/localtime /var/bind/etc/
ln -s /etc/bind/rndc.key /var/bind/etc/bind/rndc.key
chgrp bind /var/bind/etc/rndc.key
chmod g+r /var/bind/etc/rndc.key
 
mkdir /var/bind/etc/bind
mv /etc/bind/*.* /var/bind/etc/bind/
mv /var/bind/primary/*.* /var/bind/var/bind/primary
cp /var/bind/etc/bind/rndc.key /etc/bind
 

Vytvorenie špeciálnych zariadení

 
cd /var/bind/dev
mknod -m 666 /var/bind/dev/null c 1 3
mknod -m 644 /var/bind/dev/random c 1 8 
 

Úprava štandardných nastavení binda

 

Súbor /etc/default/bind9 upravte nasledovne
 
# startup options for the server
OPTIONS="-u bind -t /var/bind"
 

Testovanie

 

V mojom prípade ma dns server adresu 192.168.56.101
 
$ nslookup ns.simpledomain.sk 192.168.56.101
Server: 192.168.56.101
Address: 192.168.56.101#53
 
Name: ns.simpledomain.sk
Address: 192.168.56.1
 
$ nslookup test.simpledomain.sk 192.168.56.101
Server: 192.168.56.101
Address: 192.168.56.101#53
 
Name: test.simpledomain.sk
Address: 192.168.56.2
 
$ nslookup 192.168.56.1 192.168.56.101
Server: 192.168.56.101
Address: 192.168.56.101#53
 
1.56.168.192.in-addr.arpa name = ns.simpledomain.sk.
 
$ nslookup 192.168.56.2 192.168.56.101
Server: 192.168.56.101
Address: 192.168.56.101#53
 
2.56.168.192.in-addr.arpa name = test.simpledomain.sk.
 
 
$ dig @192.168.56.101 -t  AAAA ipv6.simpledomain.sk
 
; <<>> DiG 9.7.3 <<>> @192.168.56.101 -t AAAA ipv6.simpledomain.sk
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35654
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
 
;; QUESTION SECTION:
;ipv6.simpledomain.sk. IN AAAA
 
;; ANSWER SECTION:
ipv6.simpledomain.sk. 86400 IN AAAA f0d8::1
 
;; AUTHORITY SECTION:
simpledomain.sk. 86400 IN NS ns.simpledomain.sk.
 
;; ADDITIONAL SECTION:
ns.simpledomain.sk. 86400 IN A 192.168.56.1
 
;; Query time: 2 msec
;; SERVER: 192.168.56.101#53(192.168.56.101)
;; WHEN: Mon Feb 20 10:54:08 2012
;; MSG SIZE  rcvd: 99
 
$ dig @192.168.56.101 -x f0d8::1
 
; <<>> DiG 9.7.3 <<>> @192.168.56.101 -x f0d8::1
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46376
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
 
;; QUESTION SECTION:
;1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.d.0.f.ip6.arpa. IN PTR
 
;; ANSWER SECTION:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.d.0.f.ip6.arpa. 86400 IN PTR ipv6.simpledomain.sk.
 
;; AUTHORITY SECTION:
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.d.0.f.ip6.arpa. 86400 IN NS ns.simpledomain.sk.
 
;; ADDITIONAL SECTION:
ns.simpledomain.sk. 86400 IN A 192.168.56.1
 
;; Query time: 2 msec
;; SERVER: 192.168.56.101#53(192.168.56.101)
;; WHEN: Mon Feb 20 10:54:35 2012
;; MSG SIZE  rcvd: 157
 

 

 

Skupiny:

CHYBA V KONFIGURACII !!!!!!!!!!!

V konfiguracii suboru "named.conf.options" je chyba.

Parameter directory "/var/named/"; je chybny.

V tejto konfiguracii to ma byt directory "/var/bind/";