Situatie
Se doreste instalarea si configurarea serverului DNS (Bind9) in Ubuntu.
Solutie
Pasi de urmat
1. Instalare Bind
Pentru instalare folosim comanda sudo apt-get install bind9 bind9utils bind9-doc
Pentru pornire, oprire, restartare server: sudo service bind9 start | stop | restart
2. Setare optiuni de pornire server in /etc/default/bind9
Exemplu: OPTIONS=”-4 -u bind”
-u user = userul neprivilegiat sub care ruleaza, trebuie sa existe
-4 = ofera doar servicii ipv4
-6 = ofera doar servicii ipv6
Optiunile -4 si -6 sunt mutual exclusive.
3. Fisierul principal de configurare este /etc/bind/named.conf
Acesta include o serie de alte fisiere si anume:
/etc/bind/named.conf.options -> optiuni generale ale serverului
/etc/bind/named.conf.local -> contine zonele locale pt. care serverul este autoritativ
/etc/bind/named.conf.default-zones -> contine info. despre zonele standard precum root(.), localhost, 127.0.0.1 etc
a) exemplu /etc/bind/named.conf.options Fisierul contine optiuni uzuale, folosite de cele mai multe servere. Liniile care incep cu # reprezeinta comentarii.
#se poate defini un astfel de ACL (Access Control List), care face referire la o serie de IP-uri
# sau retele. Ne vom referi la acest ACL in alte optiuni care vor urma
acl goodclients { 192.168.0.0/24 localhost; localnets; };
options {
#named trebuie sa aiba access r/w la acest director. Daca vom face
#referire la cai relative in alte fisiere de configurare ale serverului,
#caile respective vor fi relative la acest director directory “/var/cache/bind”;
#alte servere DNS (in general ale ISP-ului) catre care serverul nostru
#va pasa recursiv query la care nu are raspuns
forwarders { 8.8.8.8; 8.8.4.4; };
#IP-ul serverului slave care se poate conecta la acest master pt. zone transfer
allow-transfer { 192.168.0.15; };
#IP-urile clientilor care pot face query recursive (ne referim la alc-ul) definit mai devreme.
allow-recursion { “goodclients”; };
#IP-urile pe care asculta serverul
listen-on { 127.0.0.1; 192.168.0.13; };
allow-query { !192.168.0.1; any; };
};
b) /etc/bind/named.conf.local
In acest fisier sunt definite domeniile pt. care serverul nostru este autoritativ. Exista delegare de autoritate de la serverul domeniului superior (Exemplu: .ro)
In acest exemplu vom configura serverul Bind autoritativ pentru domeniul exemplu.ro
zone “exemplu.ro” {
type master;
file “/etc/bind/zones/exemplu.ro.txt”;
};
Fisierul zone pt. domeniul autoritativ: /etc/bind/zones/exemplu.ro.txt
$TTL 3h
@ SOA ns1.exemplu.ro. admin.exemplu.ro. ( 3 3h 5m 3w 1h )
NS ns1.exemplu.ro.
MX 10 ns1.exemplu.ro.
ns1.exemplu.ro. A 192.168.0.1
www CNAME ns1.exemplu.ro.
mail A 192.168.0.2
login A 192.168.0.10
server CNAME www
Pingback: Listă cu servere DNS publice și gratuite – Cristian Moldovan blog