Dynamic DNS si utilitatea acestuia

Dynamic DNS este un sistem care permite ca inregistrarile unui domeniu (hosturi, alias-uri, NS, MX, CNAME etc.) tinute de catre un server de nume sa fie actualizate in timp real. Cel mai des, acest sitem este folosit pentru a permite asignarea unui nume de domeniu (host) unui IP alocat dinamic (eg. prin DHCP). In acest fel este posibila stabilirea unei conexiuni intre o locatie oarecare din internet si masina gazda fara a fi nevoie a fi folosita adresa IP. Uzual se foloseste la rularea unei aplicatii de tip server pe un calculator care are o adresa IP publica asignata dinamic de catre furnizorul de servicii internet, cum este de altfel in majoritatea ISP-urilor.

Bineinteles ca inregistrarile dns sunt stocate nu numai pe serverele autoritative si root-servere, dar si in dns-cache-urile ISP-urilor unde timpul de expirare poate ajunge pana la 72 ore. Ideea este insa ca schimbarea adresei IP generata dinamic sa declanseze un update corespunzator in serverul autoritativ (SOA) al domeniului respectiv, fara interventie umana, automat. Acesta prezinta un avantaj major in cazul aplicatiilor rulate remote, cand nici macar nu stim ce adresa va fi alocata la distanta pentru a putea folosi direct adresa ip sau pentru a realiza o inregistrare statica.

Serviciul Dynamic DNS este furnizat pe scara larga de majoritatea furnizorilor de DNS hosting. Acestia memoreaza IP-ul intr-o baza de date si furnizeaza un program de tip client care are rolul de a trimite actualizarea IP-ului alocat dinamic. Acest program pote fi un software instalat pe calculatorul cu IP dinamic sau poate fi implementat in broadband-routere (linksys, zyxell etc.)

Pentru a implementa dynamic DNS este necesara setarea timpului maxim de caching al domeniului la o valoare neobisnuit de mica de cateva minute. In acest fel este prevenita stocarea vechii adrese de IP (inainte de schimbarera acesteia in mod dinamic) pentru o perioada mare de catre serverele de dns caching ale ISP-urilor. Asadar la fiecare noua conexiune va fi contactat direct serverul de nume al domeniului. Bineinteles ca aceasta modalitate de apelare va genera trafic suplimentar, dar in acelasi timp este singura posibilitate de a realiza efectiv acest serviciu.
In prezent Dynamic DNS este integrat in Active Directory in Windows 2003 Server. De asemenea poate fi implementat pe linux cu ultimele versiuni de bind.
Dynamic DNS este documentat de RFC 2136 si RFC 2845.

Generic termenul de dynamic DNS se refera la orice mecanism care permite schimbarea unei inregistrari pe serverul dns de catre clientul dns insusi. Prin urmare in multe cazuri ale unor furnizori de servicii de tip dynamic DNS, update-ul de catre clienti nu este facut dupa cum este descris in RFC 2136 si 2845. De exemplu programul ddclient trimite cereri de tip HTTP GET furnizorului de Dynamic DNS care ulterior va genera o modificare a inregistrarii DNS.
Folosirea Dynamic DNS conform cu RFC 2136 si nsupdate ca utilitar de DDNS protocol ridica si unele probleme de securitate, de autentificare criptata, etc. Mai exact clientul interactioneaza direct cu serverul DNS ceea ce este destul de periculos si relativ mai greu de implementat pentru client. De aceea este mult mai simpla si mai comoda implementarea oferita de furnizorii „comerciali” de dynamic DNS, care pur si simplu pun la dispozitie un client de Dynamic DNS si datele de autentificare (user/parola). In acest caz update-ul se face mai intai in baza de date a furnizorului de servicii, autentificarea se face prin http si ulterior se va updata si inregistrarea DNS in serverul de nume.

Surse:

  • http://www.ietf.org/rfc/rfc2136.txt?number=2136
  • http://www.ietf.org/rfc/rfc2845.txt?number=2845
  • traducere, adaptare si completare din „The Free Encyclopedia” Wikipedia