Documente Academic
Documente Profesional
Documente Cultură
student
Andrei Gabriel-Adrian
CUPRINS
3. Configurarea BIND9................................................................................................5
3.1 Configurarea serverul de tip Caching.........................................................................5 3.2 Configurarea serverului de tip Master principal.......................................................8 3.3 Configurarea serverului de tip Master secundar.....................................................10 3.4 Pornirea, oprirea i restartarea serviciului BIND9..................................................11 3.5 Starea serverului BIND9............................................................................................11
6. Troubleshooting......................................................................................................16
6.1 Probleme comune........................................................................................................16 6.2 Incrementarea numerelor serial................................................................................16
Bibliografie..................................................................................................................17
Introducere
Domain Name System (DNS) este un sistem distribuit de pstrare i interogare a unor date arbitrare ntr-o structur ierarhic. Cea mai cunoscut aplicaie a DNS este gestionarea domeniilor n Internet. Caracteristicile sistemului de nume (DNS) sunt: folosete o structur ierarhizat; deleag autoritatea pentru nume; baza de date cu numele i adresele IP este distribuit.
Fiecare implementare TCP/IP conine o rutin software (name resolver) specializat n interogarea serverului de nume (DNS) n vederea obinerii translatrii nume/adres IP sau invers. Exist 2 tipuri de rezoluie de nume: rezoluie recursiv (name resolverul cere serverului de nume s fac translatarea); rezoluie iterativ (name resolverul cere serverului de nume s i furnizeze adresa IP a unui server care poate face translatarea). Tipic, procesul de rezoluie a numelor se desfoar astfel: Name resolverul primete de la o aplicaie client TCP/IP un nume; acesta formuleaz o interogare primului server de nume din lista serverelor, Serverul de nume (DNS) determin daca este mandatat (autorizat) pentru domeniul respectiv (dac exist configurat o zon DNS care conine numele respectiv). Dac este autorizat, transmite rspunsul clientului. Dac nu, transmite o interogare altui server de nume pentru un rspuns autorizat; obine rspunsul autorizat i transmite clientului un rspuns neautorizat; totodat stocheaz rspunsul local pentru a rspunde la alte cereri pentru acelai nume. Resolverul de nume transmite rspunsul aplicaiei utilizator i l pstreaz ntrun cache pentru o anumit perioad; Dac name resolverul nu primete un rspuns ntr-un anumit timp, transmite cererea urmtorului server de nume din list. Cnd lista este epuizat, va genera o eroare.
funcionrii ca un domain name nregistrat serverul secundar asigur faptul ca zonele DNS sunt disponibile, chiar dac serverul principal este offline.
mail www
IN CNAME IN A
www 1.2.3.4
3. Configurarea BIND9
Fiierele de configurare pentru BIND9 sunt stocate n : /etc/bind/ Principalele fiiere de configurare sunt urmtoarele : /etc/bind/named.conf /etc/bind/named.conf.options /etc/bind/named.conf.local
face prin decomentarea i modifcarea urmtoarele linii din fiierul /etc/bind/named.conf.options: [...] forwarders { 101.102.103.104; 105.106.107.108; }; [...] Numerele 101.102.103.104 i 105.106.107.108 reprezint adresele IP ale serverului DNS ale ISPului. Urmtorul pas este restartarea aplicaiei bind prin urmtoare comand: sudo /etc/init.d/bind9 restart Dac ai instalat pachetul dnsutils poi testa configuraia folosind comanda dig: dig -x 127.0.0.1 Dac totul a decurs cum trebuie data de ieire ca arat cam aa : ; <<>> DiG 9.5.1-P2.1 <<>> -x 127.0.0.1 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25213 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.0.0.127.in-addr.arpa. ;; ANSWER SECTION: 1.0.0.127.in-addr.arpa. 0 IN IN PTR localhost.
PTR
;; Query time: 28 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Sun Jan 17 16:23:32 2010 ;; MSG SIZE rcvd: 63 Comanda dig poate fi folosit i pe alte domenii, ca de exemplu;
dig google.com ; <<>> DiG 9.5.1-P2.1 <<>> google.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31469 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;google.com. IN ;; ANSWER SECTION: google.com. 32 google.com. 32 google.com. 32 google.com. 32 IN IN IN IN A A A A A 209.85.129.104 209.85.129.99 209.85.129.103 209.85.129.147
;; Query time: 41 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Sun Jan 17 16:37:47 2010 ;; MSG SIZE rcvd: 92
Dac folosii comanda dig pe un domeniu de mai multe ori, se va observa o mbuntire a Query time ntre prima i a doua folosire : Prima folosire: ; <<>> DiG 9.5.1-P2.1 <<>> google.com ... ;; Query time: 41 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Sun Jan 17 16:37:47 2010 ;; MSG SIZE rcvd: 92
; <<>> DiG 9.5.1-P2.1 <<>> google.com ... ;; Query time: 38 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Sun Jan 17 16:37:49 2010 ;; MSG SIZE rcvd: 108 Query time : 38 msec Acest lucru se mtmpl datorit cachingului efectuat de server.
Trebuie s incrementezi numrul serial de fiecare dat cnd modifici fiierul zone. Dac faci mai multe schimbri nainte de a restarta BIND9, incrementeaz serialul o dat. Poi aduga nregistrri DNS n josul zonei. Dup schimbrile efectuate n fiierul zone, va trebui s restartezi serviciul BIND9 pentru ca schimbrile s aib efect : sudo /etc/init.d/bind9 restart Pentru configurarea serverului este necesar i un fiier reverse zone pentru trecerea de la o adres ip la un nume. Pentru acest se vor adaug urmtoarele linii n fiierul /etc/bind/named.conf.local : zone "1.168.192.in-addr.arpa" { type master; notify no; file "/etc/bind/db.192"; }; Urmtorul pas este crearea unui fiier db.192 : sudo cp /etc/bind/db.127 /etc/bind/db.192 n care vom avea de fcut aproximativ aceleai modificri ca n fiierul /etc/bind/db.nume.com : ; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns.nume.com. admin.nume.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns. 10 IN PTR ns.nume.com.
Pentru fiecare nregistrare de tip A fcut n fiierul etc/bind/db.example.com, una de tip PTR va trebui fcut n fiierul /etc/bind/db.192. Dup crearea fiierul reverse zone se va da un restart serviciul BIND9: sudo /etc/init.d/bind9 restart
logging { channel query.log { file "/var/log/query.log"; // Set the severity to dynamic to see all the debug messages. severity dynamic; }; };
Mediul Chroot Creeai urmtoare structur de directoare $ sudo mkdir -p /chroot/named $ cd /chroot/named $ sudo mkdir -p dev etc/namedb/slave var/run
Setai permisiunea pentru mediul chroot. $ sudo chown root:root /chroot $ sudo chmod 700 /chroot $ sudo chown bind:bind /chroot/named $ sudo chmod 700 /chroot/named Copiai fiierul de configurare bind. $ sudo cp /etc/named.conf /chroot/named/etc Dai permisiunea de scriere utilizatorului bind pentru directorul /chroot/named/etc/namedb/slave. $ sudo chown bind:bind /chroot/named/etc/namedb/slave Aici este locul unde fiierele pentru zonele slave vor fi inute. Astfel este sporit securitate, oprind atacatorul s modifice fiiere din zona principal, dac acesta reuete s acceseze serverul cu utilizatorul bind. Toate numele fiierelor slave din fiierul /chroot/named/etc/named.conf vor avea nevoie de nume de directoare ctre directorul slave. Iat un exemplu : zone my.zone.com. { type slave; file slaves/my.zone.com.dns; masters { 10.1.1.10; }; }; Creeai dispozitivele necesare serviciului BIND9 $ sudo mknod /chroot/named/dev/null c 1 3 $ sudo mknod /chroot/named/dev/random c 1 8 Permitei accesul utilizatorului bind ctre directorul /chroot/named/var/run unde vor fi stocate date statistice. $ sudo chown bind:bind /chroot/named/var/run
Configurarea BIND9 Editai opiunea startup ce se gsete n /etc/default/bind9. Schimbai liniile : /etc/default/bind9: OPTIONS=-u bind cu : /etc/default/bind9: OPTIONS="-u bind -t /var/named -t /chroot/named -c /etc/named.conf" Opiunea t schimb directorul iniial cu /chroot/named. Opiunea c spune BIND9 c fiierul de configurare se gsete n /etc/named.conf. Fiierul name.conf trebui s arate n felul urmtor : /chroot/named/etc/named.conf: options { directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; };
Ultimul pas este configurarea syslod Daemon a sistemului Ubuntu. /etc/init.d/sysklogd: [...] SYSLOGD="-u syslog -a /chroot/named/dev/log" [...] Restartai serverul syslog i BIND9 $ sudo /etc/init.d/sysklogd restart $ sudo /etc/init.d/bind9 restart
6. Troubleshooting
6.1 Probleme comune
Cea mai bun soluie de rezolvae a problemelor de instalare i configurare este s aveti fiiere de nregistrare (log), fiiere ce sunt o surs de indicii i informaii despre problema pe care o avei i despre cum poate fi ea rezolvat.
Bibliografie
Liu, Cricket, DNS & BIND Cookbook, Editura O'Reilly, Statele Unite ale Americii, 2002 Liu, Cricket, Albitz, Paul, DNS and BIND, 5th Edition, Editura O'Reilly, Statele Unite ale Americii, 2006 http://www.bind9.net/manuals