{ }
menu zespół linki Logowanie
Stabilny hosting
BSDGuru zawdzięcza
firmie Datanet.pl
Hosting BSDGuru.org - DataNet.pl

Konfiguracja named'a

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:
       ServerAdmin admin@domena.pl
        DocumentRoot /www/domena
        ServerName <a href="http://www.falochron.domena.pl<br />
" title="www.falochron.domena.pl<br />
">www.falochron.domena.pl<br />
</a>        ServerAlias falochron.domena.pl

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.

Autor: 
Falochron
Porozmawiaj o tym artykule na forum: 

quex, pon., 25/02/2008 - 01:35