Servrerul DNS
Programul BIND este cel care realizeaza instalarea si configurarea serverului DNS si se gaseste pt. download la https://www.isc.org/products/BIND/bind9.html .
DNS-ul realizeaza maparea numelor la ip- 545g63f uri (transformarea nume IP), si este o structura ierarhica de 13 servere care se ocupa cu zona "
DNS-ul lucreaza pe portul 53.
Ce s-a facut : cream un director in care vom dezarhiva BIND-ul. Dupa aceea scoatem drepturile de pe toate fisierele in afara de named. In directorul /usr/local cream directorul named. Acesta va fi radacina pe care o va vedea DNS-ul. Un hacker care va trece de dns va vedea numai diretorul named., neputand sa vada sistemul. Noi ne punem loga ca user neprivilegiat. "conceptul de chroot"
Tipuri de DNS:
servere forwarders (cache only) - sint serverele care raspund recursiv intrebarilor fara a fi autoritare pe vreo zona.
DNS master - poate fi doar unul si e un server autoritar (bitul AA setat pe 1) pe o zona. Deci acesta va contine fisierul cu datele despre zonele pe care este autoritar
DNS slave - pot fi oricite si sint servere de backup pentru eventualitatea cind pica masterul (de obicei 1 master si 1-2 slave-uri)
stelh servers - tot servere master pe o zona, si este folosit doar pentru a mentine in siguranta o copie a fisierelor de pe master. De obicei nu sint vizibile decit masterului
www = este o conventie de nume !!
Instalarea DNS-ului
se creeaza directorul /usr/local/named
se dezarhiveaza fisierul bind-9.2.2.tar.gz
se ruleaza scriptul configure pentru configurarea in vederea compilarii
parametrul -prefix=director spune ca la instalare toate fisierele BIND-ului vor fi instalate intr-o structura de directoare in prefixul stabilit
daca se da cu prefixul /usr/local/named si dam chroute in acest director, nu va gasi fisierele de configurare, localizate in mod normal in /etc/..., in acest director pentru ca el va crea in directorul /usr/local/named un alt director /usr/local/named/etc/... unde va avea fisierele de configurare.
apoi se da make ; make install, unde make face compilarea efectiva, iar make install face plasarea unde trebuie a fisierelor (in cadrul sistemului) "plasarea binarelor"
in urma acestor comenzi, BIND-ul s-a instalat.
BIND-ul nu vine default cu un fisier de configurare
in /usr/local/named/etc vom plasa fisierul named.conf (facut de Dragos)
editam acest fisier : 1. Options = setari generale ale serverului 2. Zone = setari specifice zonelor
deschidem o alta consola si creeam un director dbase in /usr/local/named/var
directory "var/dbase" specifica directorul (raportindu-se la radacina) in care vor fi cautate datele despre zona
allow-transfer ; - specifica adresele slave
allow-query ... - cui permite sa raspunda
allow-recursion... - cui va raspunde recursiv
forwarders... - se poate specifica o lista cu forwarderele
forward yes;
la noi dispar si in loc se pune "recursion no;" - nu are recursivitate
-notify - daca vrei sa notifici serverele slave despre schimbari in fisierele configurare
-zone "."
-type hint; transforma serverul si intr-un forwarder, dar isi da in
-file... cap recursion care va fi yes.
-dig @ns.ns1.xnet.ro . ns care e redirectionat in db.cache sau cache.zone, iar acest fisier se trece in file... de mai sus.
Cum arata
curs.ro.zone
......allow-transfer ;
......notify yes;
"0.168.192 in addr-arpa"
notify yes;
.ZONE = fisiere de configurare directa
TTL = time to live
-local.host.zone trebuie sa contina in cazul nostru:
IN SOA(start of Authority)
ns1.curs.ro - primul dns
adresa de mail a administratorului ([email protected].)
punctul de dupa ro : specifica (ca) nu i se va adauga domeniu, ci un nume complet
PTR = pointer la numele respectiv
NS record - dns-urile care sint autorizate pe domeniul respectiv
Obs.: Serverele de mail vor avea o inregistrare speciala dupa NS records in fisierul de configurare a zonei:
IN MX 10 mail1.curs.ro
IN MX 20 mail2.curs.ro
10, 20 = numai pentru ierarhie
-se adauga un user bind cu grup de baza bind, uid=53-gid, home director /usr/local/named si nu va avea shell
groupadd -g 53 bind
useradd -u 53 -g 53 -d /usr/local/named -s /bin/false bind
Scriptul named de pornire, oprire si restartare a DNS-ului:
#!/bin/bash
case "$1" in
start)
/usr/local/sbin/named -u bind -t /usr/local/named
echo "DNS Server (BIND 9.2.2) Started"
;;
stop)
/usr/local/sbin/rndc stop
echo "DNS Server (BIND 9.2.2) Stoped"
;;
restart)
/usr/local/sbin/rndc stop
echo "DNS Server (BIND 9.2.2) Stoped"
/usr/local/sbin/named -u bind -t /usr/local/named
echo "DNS Server (BIND 9.2.2) Started"
;;
*)
rndc = comanda
confgen -t /usr/local/named/ -a = genereaza cheia. Fara aceasta comanda serverul nu putea fi oprit decat cu kill
Link-urile de pornire si oprire a DNS-urilor se pun in: 2 link-uri de oprire in runlevelul 0 si 6, si 2 link-uri de oprire si oprire in runlevelul 3, iar comenzile sint:
ln -s ../init.d/named S53named pt. rc3.d
ln -s ../init.d/named K53named pt. rc3.d
ln -s ../init.d/named K53named pt rc0.d
ln -s ../init.d/named K53named pt rc6.d
apoi se da reboot si se vede daca e pornit DNS-ul cu comanda ps ax.
Killall -HUP pppd - deconectreaza modemult
Pentru conectare la net, exista 2 variante. In fisierul /usr/local/named/etc/named.conf se facu urmatoarele modificari / adaugari:
se configureaza cu zona ".": zone "." ;
in directiva options se specifica o lista de dns-uri de pe net in linia:
forwarders
Pentru a da net la un LAN se da comanda:
Iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
Scriptul de pornire, oprire si restartare pentru iptables este:
vi /etc/rc.d/init.d/iptables-rules
#!/bin/bash
case "$1" in
start)
iptables-start</etc/iptables-rules
;;
stop)
iptables-save>/etc/iptables-rules
;;
restart)
iptables-save>/etc/iptables-rules
iptables-start</etc/iptables-rules
;;
*)
echo .....
esac
exit 0
chmod a+x /etc/rc.d/init.d/iptables-rules
Link-urile de oprire, pornire, si restartare pentru iptables sint:
ln -s ../init.d/iptables-rules S9iptables-rules pt. rc3.d
ln -s ../init.d/iptables-rules S91iptables-rules pt. rc0.d
ln -s ../init.d/iptables-rules S91iptables-rules pt. rc6.d
Link-ut de pornire se pune inainte de a porni reteaua (S10) si link-urile de oprire se pun inainte de a se opri iptables si dupa ce se opreste reteaua. Link-ul de oprire nu se mai pune decit in rc0.d si rc6.d, in rc3.d nu se pune pentru ca daca se schimba runlevelul se opreste si regula.
|