Log in


Forgot your password?
prijatelji LUGoNSa
gnu.gif
linuxzasve.jpg
hulk.jpg
zextras_logo.png
 
You are here: Home / Uputstva / Opšte / Jednostavan DNS server

Jednostavan DNS server

by Goran Mekić last modified Apr 17, 2012 01:50 PM
Kratko upustvo za konfiguraciju DNS servisa

Za ovo vam je potreban paket bind. Nakon instalacije, napravite okruženje za chroot (može i bez njega, ali je ovako sigurnije). Evo šta treba da uradite:

# groupadd named (na nekim distribucijama se ova grupa pravi pri instalaciji bind paketa)
# useradd -g named named (na nekim distribucijama se ovaj nalog pravi pri instalaciji bind paketa)
# cd /var
# mkdir named
# cd named
# mkdir -p dev etc etc/bind pri sec var var/bind var/bind/pri var/run var/run/named
# cp /etc/localtime etc
# cd dev
# mknod zero c 1 5
# mknod random c 1 8
# chmod 666 random zero
# cd ../var/bind
# ln -s named.ca root.cache
# chown -R named:named /var/named

Posle ovoga treba da napravite nekoliko konfiguracionih fajlova. Samo ću ih prekopirati ovde jer su dobro komentarisani.

/var/named/etc/bind/rndc.key:

key "rndc-key" {
        algorithm hmac-md5;
        secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";
};

Ovaj fajl možete i sami napraviti komandom rndc-confgen. Tačnije, ta komanda će izbaciti mnogo više od konfiguracije koja je gore data. Ono što treba da uradite je da prekopirate sam ključ (niz slova i brojeva iza reči secret) umesto onoga koji je dat. Korisna opcija za rndc-confgen je -b N, gde je N broj bitova ključa od 1 do 512 (izaberite 512, ako možete, obzirom da to nije podrazumevana vrednost za ovu opciju).

/var/named/etc/bind/named.conf:

# Ključ koji je potreban da bi se kontrolisao DNS
key mykey {
# Kojim algoritmom se (de)šifruje
algorithm hmac-md5;
# Vrednost ključa (mora biti ista kao u rndc.key fajlu)
secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";
};


# Kome ćemo dozvoliti ažuriranje DNS servera
acl "home" { 192.168.0.0/24; 127.0.0.1;};


# Opšte opcije
options {
# Direktorijum u kome ćemo držati ZONE fajlove
directory "/var/bind/";

# PID fajl DNS servera
pid-file "/var/run/named/named.pid";

# "Upiti" će biti dozvoljeni svima iz HOME grupe
allow-query { "home"; };

# Ako moj DNS ne zna gde je nešto, pitaj tuđ DNS
# Ovo je IP DNS-a PTT provajdera, pa ga zamenite IP
# adresama Vašeg provajdera
forwarders { 212.62.32.1; 212.62.32.5; };

# Sa kojih IP adresa/opsega da odgovara na upite
listen-on { 127.0.0.1; 192.168.0.0/24; };
};

# Kontrole
controls {
# Slušaj na portu 953 za IP 127.0.0.1 (localhost)
inet 127.0.0.1 port 953

# Dozvoli ažuriranje sa 127.0.0.1 i 192.168.0.1 (IP mog DHCP i DNS servera)
# po ključu MYKEY
allow { 127.0.0.1; 192.168.0.1; } keys { "mykey"; };
};

# Zona u kojoj će se Vaše mašine nalaziti
zone "aurora.local" {
# Ovo je primarni DNS server za ovu zonu
type master;

# Ne šalji obaveštenje drugim DNS serverima (ne postoji sekundarni DNS)
notify no;

# Fajl u kome je definisana ova zona
file "/var/bind/pri/aurora.local";

# Dozvoli ažuriranje sa ključem MYKEY
allow-update { key mykey; };
};


# Sve isto što i gornja zona, samo za reverzni DNS
zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/var/bind/pri/aurora.local.rev";
allow-update { key mykey; };
};


# root zona ima listu domain name servera kojih ima ih trinaest i oni kontrolišu
# root domene (*.com, *.org....), statički su i konfigurisani su kao chashing only
# jer i kad pitate Vaš dns on (neki put) mora da pita nekog ko već zna
zone "." {
type hint;
file "named.ca";
};

/var/named/var/bind/named.ca:

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC
;       under anonymous FTP as
;           file                /domain/named.cache
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    Jan 29, 2004
;       related version of root zone:   2004012900
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     192.228.79.201
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; operated by VeriSign, Inc.
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
;
; operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
;
; operated by ICANN
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File

/var/named/var/bind/pri/aurora.local:

$ORIGIN .
$TTL 86400 ; 1 day
aurora.local IN SOA aurora.local. pljuca.aurora.local. (
2006131004 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS pljuca.aurora.local.
$ORIGIN aurora.local.
$TTL 7200 ; 2 hours

pljuca A 192.168.0.1

/var/named/var/bind/pri/aurora.local.rev:

$ORIGIN .
$TTL 86400 ; 1 day
0.168.192.in-addr.arpa IN SOA aurora.local. pljuca.aurora.local. (
2000107398 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3024000 ; expire (5 weeks)
86400 ; minimum (1 day)
)
NS pljuca.aurora.local.
$ORIGIN 0.168.192.in-addr.arpa.
$TTL 7200 ; 2 hours
1 PTR pljuca.aurora.local

Nakon što napravite sve ove fajlove (ispravite imena servera i domena, fajlovi su bukvalno prekopirana moja konfiguracija) pokrenite bind servis. Na različitim distribucijama se ovo različito radi. Ako želite, možete ručno pokrenuti komandu koja će startovati DNS server:

# named -u named -n 1 -t /var/named

Opcija -n 1 označava da imate 1 procesor, te promenite argument tako da odgovara broju Vaših procesora.

Sada možete nastaviti sa instalacijom i konfiguracijom DHCP servera.

Related content
Jednostavan DHCP server

Document Actions