Úvod do DNS

DNS (Domain name system) obecně se stará o překlad domény na IP adresu, která je použitelná pro směrování, vytváří stromovou strukturu DNS serverů, které shromažďují informace o doménách a  k nim patřící IP adresy. Protokol pomocí kterých si mezi sebou DNS servery vyměňují informace používá port 53 TCP/UDP.

Použití s protokolem SIP

Pro VOIP se SIP je hlavní úlohou DNS serveru překládat namapované telefonní čísla podle e164 na SIP URI (Uniform resource identifier) , což je tzv. e164 resolving, DNS server pak musí umět používat NAPTR záznamy a pro směrování SIP URI potom SRV záznamy. Pro tuto funkci se hodí daemon BIND.
NAPTR záznamy vrací na určitou e164 doménu, SIP identifikátor. SIP URI vypadá následovně:

 sip:uživatel@doména

Pokud je ovšem doména neznámá, zeptá se server DNS na SRV (service) záznam pro danou doménu, a DNS odpoví příslušnou adresu, na které je SIP server obsluhující tuto doménu.

Jako první se po instalaci BIND nastaví v souboru host.conf v adresáři /ETC pořadí použití služeb, takže se nastaví:

order bind


V souboru resolv.conf se připíše k IP adresám nadřazených DNS serverů jméno lokální domény

domain asterisknas.vsb.cz

V souboru resolv.conf se zapíše IP adresa DNS serveru

nameserver 158.196.142.10

 
V souboru named.conf.local v adresáři /ETC/BIND se definují lokální zóny, podle domény nebo IP adresy se rozhodne, která databáze se použije.

 zone “projekt9.cz” {
                type master;
                file “/etc/bind/db.projekt9”;
};

zone “142.196.158.in-addr.arpa” {
                type master;
                file “/etc/bind/db.projekt9rev”;
};

zone “e164.arpa” {
                type master;
                file “/etc/bind/db.e164”;
};

 

Máme tedy 3 zóny a k nim 3 soubory.

Soubor db.projekt9 bude odpovídat na dotazy na IP adresy lokálních domén pomocí svých A záznamů.

Má následující obsah:

$TTL 608400
$ORIGIN cz.
PROJEKT9           3600      IN SOA  asterisknas.projekt9.cz. (
                                       9
                                       208800
                                       1800
                                       2000000
                                       60480 )
           IN           NS          asterisknas.projekt9.cz.

$ORIGIN projekt9.cz.
localhost                         3600      IN           A             127.0.0.1
ser                                  3600      IN           A             158.196.142.14
asterisknas                     3600      IN           A             158.196.142.10

 
soubor db.projekt9rev pro zpětné záznamy

$TTL 608400
@            3600      IN SOA  asterisknas.projekt9.cz. ser.projekt9.cz. (
                            9
                            208800
                            1800
                            2000000
                            60480 )

               IN           NS          asterisknas.projekt9.cz.
10           IN           PTR        asterisknas.projekt9.cz.
14           IN           PTR        ser.projekt9.cz.

Nakonec soubor db.e164 obsahující převody telefonních čísel na SIP URI nebo navíc i H323.

$TTL 608400

$ORIGIN e164.arpa.

@            3600      IN SOA  asterisknas.projekt9.cz. 1.9.6.9.5.0.2.4.e164.arpa.(
                                               9
                                               208800
                                               1800
                                               2000000
                                               60480 )              

                IN           NS          asterisknas.projekt9.cz.
 

$ORIGIN 5.1.0.1.1.9.6.9.5.0.2.4.e164.arpa.
IN NAPTR 100 10 “u” “E2U+SIP” “!^.*$!sip:1015@ser.projekt9.cz!” .
IN NAPTR 200 10 “u” “E2U+H323” “!^.*$!h323:1015@ser.projekt9.cz!” .
 

$ORIGIN 8.1.0.1.1.9.6.9.5.0.2.4.e164.arpa.
IN NAPTR 100 10 “u” “E2U+SIP” “!^.*$!sip:1018@ser.projekt9.cz!” .
IN NAPTR 200 10 “u” “E2U+H323” “!^.*$!h323:1018@ser.projekt9.cz!” .
 

$ORIGIN 4.3.2.1.1.9.6.9.5.0.2.4.e164.arpa.
IN NAPTR 100 10 “u” “E2U+SIP” “!^.*$!sip:1234@asterisk.projekt9.cz!” .
IN NAPTR 200 10 “u” “E2U+H323” “!^.*$!h323:1234@asterisk.projekt9.cz!” .

 

$ORIGIN 8.7.6.5.1.9.6.9.5.0.2.4.e164.arpa.
IN NAPTR 100 10 “u” “E2U+SIP” “!^.*$!sip:5678@asterisk.projekt9.cz!” .
IN NAPTR 200 10 “u” “E2U+H323” “!^.*$!h323:5678@asterisk.projekt9.cz!” .

 

Nakonec můžeme bind restartovat příkazem /etc/init.d/bind restart a případné chyby můžeme najít zapsané v souboru /var/log/daemon.log.