BIND 8 czyli serwer nazw (DNS)
Instalujemy:
cd /usr/ports/net/bind8
make install && make clean
Po zainstalowaniu naszego nameda zerknijmy na pliki konfiguracyjne,
standardowo znajdują się w /etc/namedb/.
named.conf :
options {
directory "/etc/namedb";
Informuje demona w jakim katalogu znajdują się pliki konfiguracyjne.
};
zone "domena.pl" {
type master;
file "domena.hosts";
allow-update { none; };
allow-transfer { 111.111.111.111; };
notify yes;
};
zone "druga-domena.pl" {
type master;
file "druga.hosts";
allow-update { none; };
allow-transfer { 111.111.111.111; };
notify yes;
};
Tak wygląda mniej więcej plik konfiguracyjny domen, jakie mamy do naszej
dyspozycji.
- type master - określa czy serwer jest primary dla danej domeny
- type slave - określa czy serwer jest secondary dla danej domeny
- allow-transwer - określa serwer secondary i tam będą kierowane nasze
pliki konfiguracyjne domen (domena.hosts oraz druga.hosts)
W przypadku, gdy named.conf znajduje się na serwerze
secondary dla naszej domeny, plik ten będzie wyglądał następująco:
options {
directory "/etc/namedb";
};
zone "domena..pl" {
type slave;
file "domena.hosts";
masters { 111.111.111.112; };
};
zone "druga_domena.pl" {
type slave;
file "druga.hosts";
masters { 111.111.111.112; };
};
I to wystarcza by teraz zabrać się za pliki konfiguracyjne naszych domen
domena.pl oraz druga-domena.pl - jeżeli taką posiadamy.
Pliki te należy stworzyć w katalogu takim jak zdefiniowaliśmy w pliku
named.conf czyli /etc/namedb/ i będą ona wyglądały następująco:
/etc/namedb/domena.hosts
$TTL 3600
@ IN SOA domena.pl. root.domena.pl. (
2002100501; numer seryjny,
; należy pamiętac o 32 bitowym rozmiarze.
10800 ; odświerzanie
3600 ; powtórna próba odświeżenia
3600000 ; ważność
86400 ) ; minimalnie
$ORIGIN domena.pl.
IN NS ns1.domena.pl.
IN NS ns2.domena.pl.
IN NS określa serwery nazw dla naszej domeny
IN MX 0 mail.domena.pl.
IN MX określa host gdzie znajduje się serwer poczty dla naszej domeny
@ IN A 111.111.111.110
Lokalizujemy nasz serwer aby pracował jako domena.pl
alfa IN A 111.111.111.112
bravo IN A 111.111.111.113
ns2 IN A 111.111.111.111
Przypisujemy adresy ip dla naszych komputerów w sieci
ns1 IN A 111.111.111.110
mail IN A 111.111.111.110
pop3 IN A 111.111.111.110
smtp IN A 111.111.111.110
www IN A 111.111.111.110
Jak widać powyżej, przypisaliśmy kilka hostów do jednego adresu IP -
w tym przypadku jest to nasz serwer, który jest serwerem primary
dla naszej domeny oraz obsługuje www oraz pocztę.
www.falochron IN A 111.111.111.110
falochron IN A 111.111.111.110
W ten sposób stworzyliśmy użytkownikowi falochron adres
www.falochron.domena.pl
Tak ale to nie wszystko, teraz skoro poruszyłem temat WWW zerknijmy
na chwilkę do pliku /usr/local/etc/apache/httpd.conf:
<VirtualHost 111.111.111.110:80>
ServerAdmin admin@domena.pl
DocumentRoot /www/domena
ServerName www.falochron.domena.pl
ServerAlias falochron.domena.pl
</VirtualHost>
Powróćmy do naszego nameda i zajmijmy się teraz domeną odwrotną,
czyli popularny REV DNS. W tym celu naszym ulubionym vi edytujemy
plik /etc/namedb/named.conf i dodajemy tam następujący wpis:
zone "111.111.111.in.addr.arpa"
type master;
file "111.111.111.reverse"
allow-update { none; };
allow-transfer { 111.111.111.111;};
notify yes;
Teraz zobaczmy co mamy w pliku konfiguracyjnym domeny odwrotnej /etc/namedb/111.111.111.reverse:
@ IN SOA domena.pl. root.domena.pl. (
2002100501 ; numer seryjny, należy pamiętac
; o 32 bitowym rozmiarze.
10800 ; odświeżanie
3600 ; powtórna próba odświeżenia
3600000 ; ważność
86400 ) ; minimalnie
IN NS ns1.domena.pl.
IN NS ns2.domena.pl.
110 IN PTR mail.domena.pl.
Tutaj przypisaliśmy główny host, którym jest nasz
serwer (/etc/rc.conf , /etc/hosts).
111 IN PTR ns2.domena.pl.
112 IN PTR alfa.domena.pl.
113 IN PTR bravo.domena.pl.
Powyżej umieściliśmy odpowiednie wpisy dla naszych hostów w domenie domena.pl .
114 IN PTR delta.druga-domena.pl.
115 IN PTR echo.druga-domena.pl.
Jak widać adresy IP 111.111.111.114 oraz 111.111.111.115 przypisane są do
domeny domena-druga.pl, a plik konfiguracyjny dla tej domeny będzie
wyglądać następująco:
$TTL 3600
@ IN SOA druga-domena.pl. root.druga-domena.pl. (
---cięcie---
$ORIGIN druga-domena.pl.
IN NS ns1.domena.pl.
IN NS ns2.domena.pl.
delta IN A 111.111.111.114
echo IN A 111.111.111.115
www IN A 111.111.111.110
Przypisaliśmy www.druga-domena.pl do adresu IP który jest obsługiwany przez nasz demon HTTPD.
Jak to jest z tymi VHOSTAMI? (virtual hosts)
Zakładamy , że poproszono nas o "wydelegowanie" irc.vhost.domena.pl na adres
IP 222.222.222.64 , zatem do pliku /etc/namedb/domena.hosts wstawiamy
odpowiednią linię:
irc.vhost IN A 222.222.222.64
I z naszej strony to wszystko. Właściciel adresu IP 222.222.222.64 w swoim
pliku konfiguracyjnym domeny odwrotnej, załóżmy, że
/etc/namedb/222.222.222.reverse, powinien umieścić następujący wpis:
64 IN PTR irc.vhost.domena.pl.
Oczywiście należy jeszcze w pliku /etc/rc.conf dodać odpowiedni wpis:
ifconfig_fxp0_alias0="inet 222.222.222.64 netmask 255.255.255.255"
W przypadku wydelegowania domeny IN NS sprawa
wygląda bardzo podobnie lecz zamiast:
irc.vhost IN A 222.222.222.64
wpiszemy:
irc.vhost IN NS ns1.tpsa.pl.
Do automatycznego startu nameda podczas uruchomiania systemu konieczny jest wpis w /etc/rc.conf:
named_enable="YES"
Można również dodać linę:
named_flags="-u bind -g bind"
Wiąże się z tym dodanie użytkownika bind i grupy bind.
Dla porządku, jeżeli w /etc/login.conf mamy stworzoną klasę daemon,
przypisujemy go tam (pw usermod -L daemon -n bind.
Restartujemy naszego nameda.
Jak widać nie używałem w tym opisie IN CNAME lecz IN A w przypadku aliasów www.
Nadmienię również ze artykuł ten zawiera niezbędne minimum by mógł sprawnie
pracować nasz serwer nazw.
Adam Domański Falochron
|