Ú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.