ALTE DOCUMENTE
|
||||||
Sistemul numelor de domenii: DNS
Fiecare sistem din cadrul retelei Internet are un nume de masina, care, împreuna cu numele domeniului, defineste un nume unic al acestuia. Numele de masina permit referirea mai usoara la un calculator, în locul adresei de retea a acestuia. Rezolvarea (translarea) în ambele sensuri a numelui, respectiv adresei se realizeaza prin intermediul sistemului numelui de domenii (DNS). Translarea adresei IP în nume se numeste rezolvare inversa (reverse).
Sistemul DNS nu este altceva decât o uriasa baza de date distribuita pe tot globul. Aceasta este implementata de catre asa-numitele servere DNS, care furnizeaza informatii despre unul sau mai multe domenii. Pentru fiecare zona exista cel putin doua servere de nume care contin informatiile despre masinile din cadrul domeniului. Primul server este denumit server DNS primar, si este acela care încarca configurarile zonelor DNS din fisierele de configurare, iar celelalte -servere DNS secundare, care transfera informatiile despre zone de la serverul primar.
Pentru a micsora timpul de rezolvare a adreselor si pentru a reduce traficul prin legatura Internet, serverul de nume stocheaza informatiile obtinute în urma cererilor într-un cache local.
Serverele DNS care gestioneaza toate informatiile despre masinile din cadrul unei zone se numesc autoritare pentru respectiva zona si reprezinta serverele DNS primare descrise mai sus. De asemenea, un server DNS poate sa nu fie autoritar decât pentru masina locala, si este numit server caching-only.
O informatie din baza de date DNS este denumita înregistrare de resursa, RR (Resource Record). Fiecare înregistrare are asociat un tip care descrie tipul de informatie pe care o reprezinta 151e415b si o clasa care specifica la ce tip de retea se aplica. Un exemplu tipic de înregistrare de resursa este înregistrarea de tip A, care asociaza un nume de domeniu cu o adresa IP.
Serverul ce ofera servicii DNS pe masinile UNIX este named. Acesta face parte din pachetul BIND, dezvoltat initial de Paul Vixie, întretinut în acest moment de catre Internet Software Consortium. Daemonul named se configureaza prin intermediul fisierului /etc/named.conf si prin intermediul asa-numite\orfisiere de definire a zonelor.
Trebuie instalate pachetele bind, bind-utils si eventual caching-nameserver.
Sistemul numelor de domenii poate fi configurat utilizând interfata grafica W/K/cow/(meniul System :: Configure DNS).
Fisierul /etc/named.conf este alcatuit din mai multe declaratii. Declaratiile au o sintaxa asemanatoare cu cea din limbajul C:
Administrarea si configurarea sistemelor Linux
// comentarii cuvânt_cheie ;
allow-recursion specifica masinile carora li se permite sa efectueze cereri
recursive; allow-transfer specifica masinile carora li se permite sa primeasca transferuri
de zona;
blackhole lista de masini de la care cererile sunt refuzate;
listen-on specifica interfetele si porturile pe care named va raspunde la
cereri. Daca portul nu este specificat, va fi considerat implicit
53. De exemplu: listen-on port 53 ; query-source stabileste adresa IP si portul utilizate pentru transmiterea cererilor nerezolvate altor servere DNS. Poate fi utilizat si caracterul wildcard "*". De exemplu: query-source address
port *;
cleaning-interval intervalul de timp la care serverul va sterge înregistrarile expirate, exprimat în minute. Implicit: 60. Valoarea O dezactiveaza stergerea;
interface-interval intervalul de timp la care serverul va reciti lista de interfete active. Daca s-a adaugat o interfata, aceasta va fi adaugata la lista de interfete pe care se primesc cereri (evident, daca acest lucru este permis de optiunea listen-on). Daca o interfata a fost stearsa, aceasta va fi eliminata si din lista de interfete. Implicit: Daca are valoarea O, citirea listei de interfete va fi efectuata doar la pornirea serverului named;
statistics-interval intervalul de timp la care serverul va jurnaliza statisticile. Implicit: 60;
max-ncache-ttl specifica durata de timp cât raspunsurile negative sunt memorate, exprimata în secunde. Implicit: 10.800 (3 ore).
Declaratia zone
Exista cinci tipuri de zone:
master serverul detine originalul informatiilor despre zona si furnizeaza
raspunsuri
autoritare pentru aceasta;
slave zona este o
copie a unei zone master. Lista masters specifica
una sau mai multe adrese IP pe care serverul le va contacta
Administrarea si configurarea sistemelor Linux
pentru a-si actualiza informatiile despre zona. Daca este
specificat parametrul_/?/e (recomandat), informatiile vor fi scrise
în fisierul respectiv;
stub este asemanatoare cu zona slave, cu exceptia faptului
ca se
copiaza doar înregistrarile NS si nu toata zona;
forward este utilizata pentru a redirectiona toate cererile catre
alte
servere;
hint setul initial de servere-radacina este specificat prin
aceasta
zona. Atunci când porneste serverul named, va utiliza aceasta
lista pentru a gasi un server-radacina si a obtine cea mai recenta
lista de servere-radacina.
Numele zonei poate fi urmat optional de o clasa. Daca aceasta nu este specificata, este considerata in (de la Internet), în mod uzual nu sunt utilizate alte clase. Declaratia mai contine diferite optiuni, dupa cum urmeaza:
allow-query vezi optiunea similara la Options;
allow-transfer vezi optiunea similara la Options;
notify vezi
optiunea similara la Options.
Declaratia aci
\ceasta declaratie defineste o lista de acces (Access Con/rol List). List.. ..dun. x-finita cu aci înainte de a fi utilizata. Listele predefinite sunt any, none, localhost si localnets (descrise mai sus).
Declaratia key
Aceasta declaratie defineste un identificator de cheie care poate fi utilizata în cadrul declaratiei server, pentru a asocia o metoda de autentificare cu un anumit server DNS.
Declaratia trusted-keys
Se utilizeaza în sistemul de securitate DNSSEC, definit în RFC 2065. Informatii despre acest sistem pot fi obtinute de la adresa
https://www.ietf.org/ids.by.wg/dnssec.html.
Setari avansate ale sistemului
Declaratia server
Defineste caracteristicile asociate cu un server DNS aflat la distanta.
Declaratia controls
Declara canalele de control utilizate de administratorii de sistem pentru a modifica functionarea serverului DNS local.
Pentru detalii privind fisierul de configurare named, recomandam consultarea
paginii de manual mân named. conf.
Prezentam în cele ce urmeaza un fisier /etc/named. conf:
options ;
category security ;
category lame-servers ;
category queries ;
category config ,
// configuratia pentru server caching-only zone " . " ;
Administrarea si configurarea sistemelor Linux
zone "O . O . 127 . in-addr . arpa" ( type master; file "named. local"; allow-update ;
// zona nemesis.ro zone "nemesis . ro" {
type master;
file "nemesis . ro. zone";
Fiecare fisier de definire a unei zone are asociat un domeniu, numit origine. Acesta este numele domeniului specificat cu optiunile cache si primary. In cadrul unui fisier principal, pot fi specificate domenii si nume de masini relative la acest domeniu. Un nume specificat în fisierul de configurare este considerat absolut daca se termina cu un punct (".")> altfel este considerat ca fiind relativ la origine. Originea poate fi referita utilizând caracterul "@".
Informatiile continute de un fisier principal sunt divizate în înregistrari de resursa (RR). Acestea sunt reprezentate în urmatorul format:
| [ domeniu ] [ ttl ] [ clasa ] tip data
Câmpurile sunt separate prin tab-uri sau spatii. O intrare poate continua pe mai multe linii. Comentariile încep cu "; ".
domeniu numele domeniului la care se aplica intrarea. Daca nu este
specificat, este considerat ca fiind domeniul din precedenta înregistrare;
ttl informatiile sunt memorate o perioada limitata de timp, dupa
care sunt sterse din cache. Acest timp de expirare este denumit TTL (Time To Live) si este exprimat în secunde. Este un numar zecimal, format din maxim 8 digiti. Daca nu este specificat, este considerat ca fiind valoarea câmpului minim din înregistrarea SOA precedenta;
clasa clasa de adrese; trebuie sa fie IN. Daca nu este specificata, este
considerata clasa din înregistrarea precedenta;
tip tipul înregistrarii. Poate fi: A, SOA, PTR sau NIS;
data contine informatiile asociate înregistrarii. Formatul acestui
câmp depinde de tipul înregistrarii.
Tipul înregistrarii poate fi:
SOA Descrie o zona de autoritate (Start Of Authority). Semnaleaza ca
înregistrarile ce urmeaza contin informatii autoritare pentru
Setari avansate ale sistemului
domeniu. Toate fisierele principale incluse de directiva primary trebuie sa contina o înregistrare SOA pentru aceasta zona. Câmpul data contine urmatoarele câmpuri:
origine: numele absolut al masinii care
serveste ca server
DNS primar pentru acest domeniu;
contact: adresa de e-mail a persoanei care
administreaza
domeniul, având semnul "@" înlocuit cu ".";
serial: un numar reprezentând versiunea fisierului de
descriere a zonei, în zecimal. Acest numar trebuie
incrementat de fiecare data când sunt modificate
informatii
în /ona. O conventie des utilizata este de
a folosi data
modificarii plus un numar format din doua
cifre semnificând
ca s-au facut modificari în timpul zilei
respective. Acest
numar serial este utilizat de serverele DNS secundare
pentru
a sesiza modificarile de informatii;
interval_actualizare: intervalul de timp la care se face
verificarea zonei de catre serverele secundare, exprimat în
secunde. Este un numar zecimal cu
maxim 8 digiti. Pentru
retele unde aceste informatii
se modifica rar, poate fi de
ordinul zilelor;
interval_reîncercare: intervalul de timp la
care se reîncearca
verificarea zonei de catre serverele secundare
daca aceasta
esueaza, exprimat în secunde. Valoarea sa este
în mod nor
mal de ordinul a l ora;
timp _expir are: timpul dupa care
serverele secundare trebuie
sa renunte la toate informatiile despre
zona daca nu au reusit
sa contacteze serverul primar, exprimat în secunde,
în mod
normal este de circa l luna;
minim: valoarea TTL implicita pentru
înregistrarile care nu o
specifica. Aceasta specifica durata maxima
de timp cât alte
servere DNS pot memora înregistrarea în cache. Daca
nu se
produc frecvent modificari, valoarea sa poate fi de l sapta
mâna.
A Asociaza o adresa IP cu un nume de masina. Pentru fiecare
nume de masina trebuie sa existe doar o singura înregistrare de tip A. Numele de masina specificat este cel oficial sau autorizat {canonical). Toate celelalte nume de masina sunt considerate pseudonime si pot fi specificate cu ajutorul înregistrarii de tip CNAME (vezi infra).
NS Specifica serverul primar si toate serverele secundare ale zonei.
Câmpul data contine numele serverului DNS.
CNAME Asociaza un pseudonim cu numele autorizat al unei masini.
Administrarea si configurarea sistemelor Linux
PTR Asociaza nume din domeniul in-addr.arpa cu nume de masina.
Este utilizat pentru asocierea inversa (reverse mapping) a adreselor IP cu nume de masina. Numele de masina trebuie sa fie cel autorizat.
MX Stabileste un agent de posta electronica (mail exchanger).
Sintaxa este:
[ domeniu ] [ ttl ][ clasa ] MX preferinta masina Un agent de transport care trimite un mesaj catre domeniu încearca toate masinile care au o înregistrare MX, pâna când mesajul este transmis cu succes, în ordinea crescatoare a câmpului preferinta.
Fisierul /var/named/named.ca este redat mai jos:
Acest fisier contine informatii despre serverele DNS radacina necesare pentru a initializa cache-ul de servere DNS
Acest fisier este disponibil la serviciile de înregistrare InterNIC ca FTP anonymous pe serverul ftp.rs.internic.net în fisierul /domain/named.root
formerly NS.INTERNIC.NET
.ROOT-SERVERS.NET. formerly NS1.ISI.EDU
.ROOT-SERVERS.NET. formerly C.PSI.NET
.ROOT-SERVERS.NET. formerly TERP.UMD.EDU
.ROOT-SERVERS.NET. formerly NS.NASA.GOV
.ROOT-SERVERS.NET. formerly NS.ISC.ORG
F.ROOT-SERVERS.NET.
IN NS
A
NS A |
NS A |
NS A |
NS A |
NS A |
A.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.
Setari avansate ale sistemului
formerly NS-NIC.DDN.MIL
.ROOT-SERVERS.NET. formerly AOS.ARL.ARMY.MIL |
3600000 NS G.ROOT-SERVERS.NET. 3600000 A
.ROOT-SERVERS.NET. formerly NIC.NORDU.NET
3600000 NS H.ROOT-SERVERS.NET. 3600000 A
NS I.ROOT-SERVERS.NET. A |
NS J.ROOT-SERVERS.NET. A NS K.ROOT-SERVERS.NET. A NS L.ROOT-SERVERS.NET. A |
.ROOT-SERVERS.NET. temporarily housed at NSI (InterNIC)
.ROOT-SERVERS.NET. 3600000
housed in LINX, operated by RIPE NCC
.ROOT-SERVERS.NET. 3600000
temporarily housed at ISI (IANA)
.ROOT-SERVERS.NET. 3600000
housed in Japan, operated by WIDE
M. ROOT-SERVERS.NET. End of File
NS M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
Fisierul/var/named/localhost.zone:
$TTL 86400 $ORIGIN localhost. 1D IN SOA
1D IN NS
1D IN A
@ root (
l
3H
15M
1W
1D )
; numarul serial
; interval actualizare
; interval reîncercare
; timp expirare
; minim
Administrarea si configurarea sistemelor Linux
Fisierul /var/named/named. local:
$TTL 86400
@ IN SOA
NS PTR
delta.nemes is.ro.
8H
4H
IM
1D )
delta.nemesis.ro. localhost.
root.delta.nemesis.ro.
; numarul serial
; interval actualizare
; interval reîncercare
; timp expirare
; minim
Fisierul/var/named/nemesis.ro.zone:
$TTL 1D |
IN |
SOA |
nemesis . ro . 1D 2H 1W 1D ) |
root.nemesis.ro. ; numarul serial ; interval actualizare ; interval reîncercare ; timp expirare ; minim |
||
|
IN |
NS |
ns. nemesis. |
ro. |
||
|
IN |
MX |
|
|
|
.nemesis . ro. |
nemesis . ro . |
IN |
A |
|
|
|
|
ns |
IN |
A |
|
|
|
|
delta |
IN |
A |
|
|
|
|
WWW |
IN |
A |
|
|
|
|
ftp |
IN |
A |
|
|
|
|
|
IN |
A |
|
|
|
|
|