<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bobica Alexandru &#187; DNS</title>
	<atom:link href="http://alexbobica.com/tag/dns/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexbobica.com</link>
	<description>Unix&#38;Network&#38;Firewall Administrator</description>
	<lastBuildDate>Mon, 25 Jan 2010 10:09:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>DNS Reverse Mapping</title>
		<link>http://alexbobica.com/2009/01/dns-reverse-mapping/</link>
		<comments>http://alexbobica.com/2009/01/dns-reverse-mapping/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 10:00:40 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Aplicaţii&Servicii]]></category>
		<category><![CDATA[configurare DNS server]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS Reverse Mapping]]></category>

		<guid isPermaLink="false">http://alexbobica.com/?p=558</guid>
		<description><![CDATA[Inverse queries O interogare inversă mapează un RR pentru un domeniu. Un exemplu de acest gen de query ar fi: &#8220;Care este numele de domeniu pentru acestă înregistrare de tip MX?&#8221;. Totuşi acest fel de interogări au fost întotdeauna un serviciu opţional pentru DNS, iar name serverele puteau livra un răspuns NOTIMP (Not implemented). Prima [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Inverse queries</strong></p>
<p>O interogare inversă mapează un RR pentru un domeniu. Un exemplu de acest gen de query ar fi: &#8220;Care este numele de domeniu pentru acestă înregistrare de tip MX?&#8221;. Totuşi acest fel de interogări au fost întotdeauna un serviciu opţional pentru DNS, iar name serverele puteau livra un răspuns <em>NOTIMP (Not implemented)</em>. Prima oară eşti tentat să zici că acest fel de interogări află hostul în funcţie de un IP. Dar acest proces de fapt se cheamă reverse mapping sau reverse lookup şi foloseşte interogări recursive şi iterative cu un domeniu special IN-ADDR.ARPA.</p>
<p><strong>DNS Reverse Mapping</strong></p>
<p>Până acum am vorbit despre interogări normale de tipul &#8220;îţi dau numele hostului, află-mi IP-ul&#8221;, dar trebuie să discutăm şi despre cele de genul &#8220;îţi dau IP-ul, află-mi hostul&#8221;. Aceste tipuri de queries sunt folosite din motive de securitate. De exemplu, multe sisteme de mailing folosesc acest feature  de reverse mapping pentru a asigura o atentificare corectă.<br />
Astfel, pentru a putea implementa reverse mapping-ul folosinf interogări normale recursive şi nerecursive (iterative), băieţii au definit un domeniu special numit IN-ADDR.ARPA.</p>
<p>Trebuie să discutăm un pic despre acest domeniu.</p>
<p>Structura normală a unui nume de domeniu porneşte cu de la &#8220;root&#8221;. Un nume de domeniu este scris de la stânga la dreapta, dar structura acestuia se desfăşoara de la dreapta la stânga: <em>nume_de_domeniu = www.alexbobica.com</em><br />
Cea mai înaltă &#8220;structură de stat&#8221; din domeniul de mai sus este TLD-ul (Top-Level Domain) <em>.com</em>; următoarea în grad este <em>.alexbobica</em> (Second-Level Domain); lebăda cea slabă şi urâtă este <em>www</em>, care de fapt reprezintă numele hostului şi este definit într-un fişier zonă.<br />
Pentru a putea folosi o adresă IPv4 într-o interogare trebuie să o traducem într-un nume de domeniu. Să zicem că avem următorul IP: 192.168.100.15. Acest IP defineşte o adresă de host, 15, în reţeaua 192.168.100.x. În acest caz, cea mai importantă parte se află la stânga şi nu la dreapta, adică 192.<br />
Soluţia este simplă. Pentru a creea un nume de domeniu, inversează ordinea adresei şi foloseşte ca şi SLD partea cu IN-ADDR iar ca TLD partea cu ARPA. Ce rezultă?</p>
<p><em>IPv4: 192.168.100.15<br />
Network: 192.168.100 &#8211; omitem hostul (15)<br />
Inversul network-ului: 100.168.192<br />
Adăugăm în domeniul IN-ADDR.ARPA: 100.168.192.IN-ADDR.ARPA</em></p>
<p>Am terminat? Nu. Mai trebuie să creăm şi un fişier zonă care să descrie toate hosturile folosind RR-uri de tip PTR. Fişierul zonă va arăta ceva de genul:</p>
<p><em>$TTL  2d<br />
$ORIGIN  100.168.192.IN/ADDR.ARPA<br />
@      IN      SOA      ns1.alexbobica.com. hostmaster.alexbobica.com.  (<br />
2009012700 ; sn = serial number<br />
12h             ; refresh<br />
15m            ; retry<br />
3w              ; expiry<br />
2h              ; min = minimum<br />
)<br />
IN      NS      ns1.alexbobica.com.<br />
IN      NS      ns2.blogoperativa.com.<br />
5     IN      PTR     ns1.alexbobica.com.<br />
15   IN      PTR     www.alexbobica.com</em></p>
<p>That&#8217;s all folks&#8230;for now! To be continued! <img src='http://alexbobica.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://alexbobica.com/2009/01/dns-reverse-mapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intrările de tip A şi CNAME</title>
		<link>http://alexbobica.com/2008/12/intrarile-de-tip-a-si-cname/</link>
		<comments>http://alexbobica.com/2008/12/intrarile-de-tip-a-si-cname/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 14:50:55 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Aplicaţii&Servicii]]></category>
		<category><![CDATA[A Resource Record]]></category>
		<category><![CDATA[canonical name]]></category>
		<category><![CDATA[CNAME Resource Record]]></category>
		<category><![CDATA[configurare DNS server]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS alias]]></category>

		<guid isPermaLink="false">http://alexbobica.com/?p=271</guid>
		<description><![CDATA[Resource Record-ul de tip A defineşte adresa IPv4 a unui host dintr-un domeniu sau zonă. Resursa echivalentă pentru IPv6 este AAAA. De la ce vine A? De la Address. Sintaxa folosită pentru genul acesta de intrări este următoarea: name      ttl      class      rr      ipv4 Hai să dăm şi un exemplu de folosire: ns1        IN      A      192.168.100.1 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Resource Record-ul de tip A</strong> defineşte adresa IPv4 a unui host dintr-un domeniu sau zonă. Resursa echivalentă pentru IPv6 este AAAA. De la ce vine A? De la Address. Sintaxa folosită pentru genul acesta de intrări este următoarea:</p>
<p><strong>name      ttl      class      rr      ipv4</strong></p>
<p>Hai să dăm şi un exemplu de folosire:</p>
<p><em>ns1        IN      A      192.168.100.1<br />
mail           IN           A           192.168.100.2<br />
alex           IN           A           192.168.100.3<br />
www         IN           A    192.168.100.4</em></p>
<p>Atributele folosite în sintaxa resursei sunt aceleaşi ca şi în cazul celorlalte RR-uri, aşa că nu are rost să mai repetăm încă o dată acelaşi lucru. Singurul care rămâne neexplicat este atributul <em>ipv4</em>, dar sunt sigur că ştiţi despre ce este vorba. Da, aţi ghicit, este vorba despre clasica adresă de IP pe care o ştim cu toţii.</p>
<p>Vă amintiţi cum declaram RR-urile de tip NS şi MX? Dacă da, mai trebuie să mai ştiţi un lucru. Acele &#8220;name-uri&#8221; din declararea resurselor (<em>mail</em> sau <em>ns1</em>) trebuie să aibă o intrare de tip A corespunzătoare. Să fiu mai clar&#8230;Orice host pe care vrem să îl facem vizibil public, trebuie definit printr-o intrare de tip A.</p>
<p>Este permis de asemenea să avem acelaşi IP asignat pe mai multe nume. Dacă să zicem că ţinem un web server şi un name server pe aceeaşi maşină va trebui să adăugăm intrările de tip A următoare:</p>
<p><em>ns1          IN          A            192.168.100.2<br />
mail        IN          A            192.168.100.3<br />
alex        IN          A            192.168.100.4<br />
www      IN          A     192.168.100.2</em></p>
<p>Poate unii dintre voi vă întrebaţi dacă este permis să avem mai multe adrese IPv4 pentru un singur host. Normal că da. Ok. Păi şi atunci ce IP ne livrează aplicaţia de DNS când o întrebăm despre IP-ul hostului respectiv? Care dintre adresele IP ni se trimite? Păi softul de DNS ne poate trimite adresele random sau poate face load balancing (round-robin).</p>
<p><strong>Resource Record de tip CNAME</strong></p>
<p>CNAME-ul defineşte un alias pentru un host deja existent şi definit de un A RR.</p>
<p>Sintaxa prin care creăm un alias este:  <strong>name      ttl      class      rr      canonical-name</strong></p>
<p>Şi repede băgăm un exemplu:   <em>ftp      IN      CNAME      ftp.blogoperativa.com.</em></p>
<p>Prin ce am scris mai sus am creat un alias pentru <em>ftp.blogoperativa.com.</em>, şi anume <em>ftp.alexbobica.com.</em>. Am considerat directiva <strong>$ORIGIN</strong> ca fiind <em>alexbobica.com.</em>. Atributului canonical-name din sintaxa de mai sus i se mai spune şi &#8220;real name&#8221;.</p>
<p>Resursele CNAME sunt folosite atunci când asignăm un nume de serviciu unui host, de exemplu, dacă un host se cheamă alex şi pe el rulează un server web şi unul de ftp, atunci pentru a defini aceste două servicii folosim CNAME-urile:</p>
<p><em>ftp          IN      CNAME      alex<br />
www         IN         CNAME             alex<br />
alex           IN          A                                192.168.100.2</em></p>
<p>În general, doar două cazuri necesită neapărat folosirea de intrări CNAME. Atunci când un &#8220;real name&#8221; face parte dintr-un domeniu extern şi atunci când vrem &#8220;să apelăm&#8221; un site folosind &#8220;www.alexbobica.com&#8221; şi &#8220;alexbobica.com&#8221;.</p>
<p>Pentru cel de-al doilea caz, aveţi exemplul de mai jos:</p>
<p><em>;  definim IP-ul în care este rezolvat alexbobica.com<br />
IN             A                           192.168.100.2<br />
;  creăm aliasul www.alexbobica.com care pointează înspre alexbobica.com<br />
www                IN        CNAME               alexbobica.com.</em><br />
Cam atât deocamdată despre aceste două resurse. Bineînţeles că ar fi mult mai multe lucruri de spus, dar vom vorbi despre ele pe parcurs.</p>
<p>Va urma&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://alexbobica.com/2008/12/intrarile-de-tip-a-si-cname/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Directiva $ORIGIN şi SOA Resource Record</title>
		<link>http://alexbobica.com/2008/11/directiva-origin-si-soa-resource-record/</link>
		<comments>http://alexbobica.com/2008/11/directiva-origin-si-soa-resource-record/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 18:48:11 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Aplicaţii&Servicii]]></category>
		<category><![CDATA[$ORIGIN]]></category>
		<category><![CDATA[$ORIGIN directive]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[configurare DNS server]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS server]]></category>
		<category><![CDATA[Domain Name System]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[named.conf]]></category>
		<category><![CDATA[SOA Resource Record]]></category>
		<category><![CDATA[SOA RR]]></category>

		<guid isPermaLink="false">http://alexbobica.com/?p=166</guid>
		<description><![CDATA[Data trecută în cadrul serialului &#8220;DNS&#8221; am vorbit despre directiva $TTL. Astăzi vom merge mai departe şi vom vorbi despre alte două elemente ce fac parte dintr-un fişier zonă. Directiva $ORIGIN este standardizată prin RFC-ul 1035 şi defineşte numele de domeniu ce va fi &#8220;alăturat&#8221; oricărui nume incomplet (numit şi unqualified name) definit într-un RR. [...]]]></description>
			<content:encoded><![CDATA[<p>Data trecută în cadrul serialului &#8220;DNS&#8221; <img src='http://alexbobica.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  am vorbit despre directiva $TTL. Astăzi vom merge mai departe şi vom vorbi despre alte două elemente ce fac parte dintr-un fişier zonă.</p>
<p>Directiva $ORIGIN este standardizată prin RFC-ul 1035 şi defineşte numele de domeniu ce va fi &#8220;alăturat&#8221; oricărui nume incomplet (numit şi unqualified name) definit într-un RR. Acest proces prin care se &#8220;adaugă&#8221; o valoare oricărui nume care nu se termină &#8220;printr-un punct (.)&#8221; a reprezentat, reprezintă şi va reprezenta o sursă de confuzie şi o grămadă de nervi.</p>
<p>Despre ce este vorba? Păi dacă avem un nume ce apare într-un Resource Record şi nu se termină cu un (.), atunci ultima directivă $ORIGIN sau singura care există va fi adăugată acestui nume. Dacă numele se finalizează cu un (.) atunci avem de a face cu un FQDN (Fully Qualified Domain Name) şi nu va fi adăugat nimic acestuia. Punctul care &#8220;închide&#8221; un FQDN mai este numit şi root-ul acestui domain tree.</p>
<p>Sintaxa acestei directive este:</p>
<blockquote><p><em>$ORIGIN domain-name</em></p></blockquote>
<p>Dacă ne întoarcem la ultimul exemplu de zone file avem de a face cu <em><strong>$ORIGIN alexbobica.com.</strong></em></p>
<p>&#8220;Variabila&#8221;<em> domain-name</em> din sintaxa de mai sus este întotdeauna un FQDN (adică se termină cu &#8220;punct&#8221;).</p>
<p>Directivele $ORIGIN se pot folosi în orice moment şi în orice loc într-un fişier zonă. Un exemplu mai jos:</p>
<blockquote><p>$ORIGIN alexbobica.com.<br />
;toate RR-urile de aici începînd li se va adăuga <em>alexbobica.com.</em><br />
&#8230;.<br />
&#8230;.<br />
$ORIGIN blogoperativa.com.<br />
;toate RR-urile de aici începînd li se va adăuga <em>blogoperativa.com.</em></p></blockquote>
<p>Totuşi (bineînţeles că există un &#8220;totuşi&#8221; <img src='http://alexbobica.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  ) această directivă nu este obligatorie. <a href="http://en.wikipedia.org/wiki/BIND" target="_blank"><strong>BIND</strong></a>-ul (aplicaţia de DNS) va lua ca şi valoare a acestei directive numele zonei definit în fişierul de configurare, adică <strong>named.conf</strong> (o să vorbim şi despre acesta very soon).</p>
<p><strong>SOA Resource Record</strong></p>
<p>Acest RR (foarte important) defineşte caracteristicile cheie şi atributele pentru zonă sau domeniu şi este standardizat prin RFC-ul 1035. Sintaxa pentru SOA RR este următoarea:</p>
<blockquote><p>name   ttl  class  rr  name-server  e-mail  sn  refresh  retry  expiry  min</p></blockquote>
<p>Ne întoarcem din nou la fişierul zonă dat exemplu în materialele anterioare şi &#8220;scoatem&#8221; de acolo acest SOA RR:</p>
<blockquote><p>@      IN      SOA    ns1.alexbobica.com.    hostmaster.alexbobica.com.  (<br />
2008111800  ; sn = serial number<br />
3h               ; refresh time<br />
15m             ; retry = update retry<br />
3w               ; expiry<br />
3h                ; min = minimum<br />
)</p></blockquote>
<p>Avem două reguli în ceea ce priveşte acest RR:</p>
<p>- de obicei este definit prin mai multe linii şi în acest caz trebuie să folosim parantezele &#8220;( )&#8221; dar poate fi scris şi într-o linie.</p>
<p>- ca să separăm field-urile putem folosi &#8220;space&#8221; sau &#8220;tab&#8221;. De obicei se foloseşte &#8220;tab-ul&#8221; pentru a păstra un layout mai curat şi pentru a observa mai uşor, când este cazul, câmpurile lipsă.</p>
<p>Să analizăm puţin chestiile care apar în sintaxa SOA RR.</p>
<p>Avem <strong>name</strong>. În exemplul nostru, noi folosim simbolul &#8220;<strong>@</strong>&#8221; ce ţine locul valorii curente a directivei $ORIGIN.<br />
Urmează apoi <strong>ttl</strong>. Nu avem definit nimic pentru acest parametru, aşa că se foloseşte valoarea default pentru zonă (2d sau 172800 secunde) derivată din $TTL.<br />
La rând <strong>class</strong>. În exemplu folosim ca şi valoare pentru acest atribut <strong>IN</strong>, adică defineşte clasa ca fiind Internet.<br />
Ce este cu atributul<strong> name-server</strong>? Presupun că vă daţi seama că se referă la <strong>Primary Master name server</strong> pentru zona respectivă. În cazul nostru este vorba despre ns1.alexbobica.com.<br />
Name serverul definit aici trebuie apelat de asemena şi printr-un RR de tip NS. Vom vorbi şi despre acesta.<br />
Avem apoi <strong>e-mail</strong>. Defineşte adresa de e-mail administrativă pentru această zonă. In our case: hostmaster@alexbobica.com.</p>
<p>Urmează acum <strong>sn</strong>, sau serial numberul asociat cu acestă zonă. Acest serial number trebuie updatat de fiecare dată când operăm o schimbare în domeniu şi poate lua orice valoare între 0 şi 4294967295. Prin convenţie se foloseşte un format de genul <em>yyyymmddss</em>. Adică anul, luna, ziua şi un număr care se incrementează dacă se operează mai multe schimbări în aceeaşi zi. Această valoare a sn-ului este folosită în operaţiile de transfer ale zonelor pentru a ne da seama dacă o zonă a fost schimbată sau nu.</p>
<p><strong>Refresh</strong>-ul este o valoare care atunci când este atinsă, name serverul slave pentru această zonă va încerca şi va citi RR-ul SOA de pe name serverul master. Dacă valoarea sn-ului este mai mare decât cea de pe slave, o operaţiune de transfer de zonă este iniţiată.</p>
<p>Atributul <strong>expiry</strong> defineşte timpul în secunde după care înregistrările unei zone nu mai sunt autoritare. Ce înseamnă pentru BIND acest lucru? Că înregistrările nu mai sunt valide şi nu mai răspunde diferitelor queries pentru zona respectivă. De aceea când acest expiry time este atins, slave name serverul va încerca să &#8220;contacteze&#8221; master name serverul pentru zona respectivă, iar în cazul unui eşec va repeta încercarea la fiecare interval de timp definit prin atributul <strong>retry</strong>.  Dacă contactul este realizat, contorizarea atributelor <strong>refresh</strong> şi <strong>expiry</strong> se va reseta. În schimb dacă acest contact nu este realizat şi timpul definit prin <strong>expiry</strong> a fost atins, slave-ul se va opri din a răspunde oricărui query venit de la clienţi.</p>
<p>Şi în sfârşit ultima caracteristică, <strong>min</strong>-ul, defineşte perioada de timp în care răspunsurile negative pot fi &#8220;cached&#8221; de către slave name server.</p>
<p>Cam atât. Deocamdată. <img src='http://alexbobica.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  O să continuăm cu restul &#8220;piticilor&#8221; peste câteva zile.</p>
<p>Vă salut!</p>
]]></content:encoded>
			<wfw:commentRss>http://alexbobica.com/2008/11/directiva-origin-si-soa-resource-record/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Directiva $TTL</title>
		<link>http://alexbobica.com/2008/11/directiva-ttl/</link>
		<comments>http://alexbobica.com/2008/11/directiva-ttl/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 23:35:53 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Aplicaţii&Servicii]]></category>
		<category><![CDATA[$ORIGIN]]></category>
		<category><![CDATA[$TTL directiva]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Domain Name System]]></category>
		<category><![CDATA[name server]]></category>
		<category><![CDATA[zone file]]></category>

		<guid isPermaLink="false">http://alexbobica.com/?p=156</guid>
		<description><![CDATA[Salutare naţiuneee! Doarme cineva la ora asta? Hmmm? Aşa&#8230;nimeni nu doarme, exact cum credeam. A venit timpul să continuăm seria dedicată serviciului de DNS cu încă un articol. Întâi de toate să punem repede aici un model de configurare standard a unui fişier zonă. Mai apoi vom lua rând pe rând în materialele care vor [...]]]></description>
			<content:encoded><![CDATA[<p>Salutare naţiuneee! <img src='http://alexbobica.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  Doarme cineva la ora asta? Hmmm? Aşa&#8230;nimeni nu doarme, exact cum credeam.<br />
A venit timpul să continuăm seria dedicată serviciului de DNS cu încă un articol.</p>
<p>Întâi de toate să punem repede aici un model de configurare standard a unui fişier zonă. Mai apoi vom lua rând pe rând în materialele care vor urma fiecare RR şi îl vom diseca după bunul nostru plac. Să începem.</p>
<blockquote>
<p style="text-align: left;">$TTL  2d<br />
$ORIGIN  alexbobica.com.<br />
@      IN      SOA      ns1.alexbobica.com. hostmaster.alexbobica.com. (<br />
2008111800<br />
12h<br />
15m<br />
3w<br />
2h<br />
)<br />
IN     NS       ns1.alexbobica.com.<br />
IN     NS       ns2.blogoperativa.com.<br />
3w   IN     MX  10  mail.alexbobica.com.<br />
IN     MX  20  mail.blogoperativa.com.</p>
<p style="text-align: left;">ns1     IN      A         192.168.1.2<br />
mail     IN      A         192.168.1.4<br />
blog     IN      A         192.168.1.6<br />
www    IN      A         192.168.1.7<br />
ftp       IN    CNAME    ftp.alexbobica.com.</p>
</blockquote>
<p style="text-align: left;">În acest exemplu, zona <strong>alexbobica.com</strong> are următoarele caracteristici:</p>
<p style="text-align: left;">- zona dispune de două name servere, unul hostat în acest domeniu (ns1.alexbobica.com) iar celălalt extern (ns2.blogoperativa.com);</p>
<p style="text-align: left;">- zona are la dispoziţie două servere de mail, la fel, unul în acelaşi domeniu altul într-un domeniu extern;</p>
<p style="text-align: left;">- în această zonă este prezent un serviciu web intern www.alexbobica.com;</p>
<p style="text-align: left;">- mai este prezent şi un server de FTP (ftp.alexbobica.com);</p>
<p style="text-align: left;">- în zonă este prezent doar un singur host public (blog.alexbobica.com).</p>
<p style="text-align: left;">Cred că este destul de intuitiv pentru voi din ce cauză avem nevoie de două servere de DNS şi două de mail. Redundanţă. Asta încercăm să obţinem. În mod normal, în cazul companiilor mai mici, cel de-al doilea server, fie el de mail sau name server, se află în acelaşi site. E ok şi aşa&#8230;nu este nimic greşit. Dar recomandabil ar fi ca backup-urile pentru mail şi name service să fie furnizate de către maşini exterioare sitului principal. Dar să revenim la RR-urile şi directivele noastre.</p>
<p style="text-align: left;">Prima directivă despre care o să vorbim mai în detaliu este <strong>directiva $TTL</strong>.</p>
<p>Această directivă este standardizată prin RFC-ul 2038 şi defineşte valoarea default TTL (Time to Live) pentru orice Resource Record (RR) care nu are un TTL specificat deja. Dar ce înseamnă de fapt TTL în contextul serviciul de DNS? Înseamnă timpul (secunde) în care un name server sau un resolver poate păstra în cache o înregistrare. Sintaxa pentru această directivă este următoarea:<br />
<strong><br />
$TTL timpul-în-secunde</strong></p>
<p>În exemplul de mai sus observăm cum este definit acest TTL: <strong>$TTL 2d</strong><br />
O să ziceţi: &#8220;Păi stai puţin, că tu ai zis că e vorba de secunde.&#8221; <strong>d</strong> este forma scurtă specifică BIND-ului pentru zi (day). Conform RFC 2038 formatul echivalent pentru 2d este <strong>$TTL 172800.</strong><br />
Timpul în secunde poate lua valori între 0 (adică nu se face cache) şi 2147483647 (68 de ani adicătelea). Sfatul specialiştilor este ca să folosim o valoarea mai mare de o zi iar pentru RR-urile care se schimbă foarte rar să folosim o valoarea echivalentă mai multor săptămâni.</p>
<p>Această valoare a TTL-ului influenţează două caracteristici operaţionale ale DNS-ului:</p>
<p>-<strong>Access load</strong>: adică cu cât TTL-ul va fi mai mic, cu atît mai dese vor fi query-urile către DNS server, astfel încărcarea operaţională pe name serverul respectiv va fi mai mare;<br />
- <strong>Change propagation</strong>: adică replicarea sau propagarea schimbărilor de pe name server către toţi userii. Mda. Ce formulare am găsit şi eu. <img src='http://alexbobica.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  Vreau să spun că TTL-ul reprezintă timpul maxim în care o schimbare se propagă din DNS server către toţi utilizatorii.</p>
<p>Ca şi sfat pentru utilizarea acestei directive. Atunci când avem de făcut schimbări sau update-uri în zonă, de exemplu intrări de tip A (IP-uri) sau servicii noi adăugate, este recomandabil să setăm acest TTL mai mic (să zicem undeva la 12h sau 43200). După ce terminăm de implementat aceste change-uri putem reveni la o valoare mai mare a TTL-ului.</p>
<p>Directiva $TTL trebuie pusă în faţa oricărui Resource Record (RR) pentru care vrem să fie aplicat.</p>
<p>Şi cu asta punem punct aici. Materialul următor va veni mai repede şi vom continua discuţia cu directiva <strong>$ORIGIN</strong> şi <strong>SOA Resource Record</strong>. Vom vorbi despre acestea mai  în detaliu decât am facut-o până acum.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexbobica.com/2008/11/directiva-ttl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zone files şi Resource Records (RR)</title>
		<link>http://alexbobica.com/2008/10/zone-files-si-resource-records-rr/</link>
		<comments>http://alexbobica.com/2008/10/zone-files-si-resource-records-rr/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 20:02:56 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Aplicaţii&Servicii]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[CNAME]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS server]]></category>
		<category><![CDATA[fişier zonă]]></category>
		<category><![CDATA[MX]]></category>
		<category><![CDATA[name server]]></category>
		<category><![CDATA[Resource Records]]></category>
		<category><![CDATA[RR]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[zone file]]></category>

		<guid isPermaLink="false">http://alexbobica.com/?p=132</guid>
		<description><![CDATA[Un fişier zonă (zone file) descrie un domain name prin caracteristici, hosturi şi servicii din domeniul respectiv într-un fel care poate fi folosit de către aplicaţia de DNS. Configurarea greşită a unui zone file poate face un domeniu unreachable, trimiterea mailurilor să fie total anapoda şi chiar redirectarea clienţilor tăi spre un site concurent cu [...]]]></description>
			<content:encoded><![CDATA[<p>Un fişier zonă (zone file) descrie un domain name prin caracteristici, hosturi şi servicii din domeniul respectiv într-un fel care poate fi folosit de către aplicaţia de DNS.</p>
<p>Configurarea greşită a unui zone file poate face un domeniu unreachable, trimiterea mailurilor să fie total anapoda şi chiar redirectarea clienţilor tăi spre un site concurent cu cel al tău. Fără glumă şi vorbind foarte serios, poţi intra în necazuri mari greşind aici. Gândiţi-vă că răspunsurile la queries venite dinspre un DNS prost configurat pot fi păstrate în cache de către alte sisteme DNS ore, zile şi chiar săptămâni. Remedierea unor astfel de probleme ia mult timp de obicei&#8230;şi gândeşte-te cam cum ar reacţiona un client de-al tău dacă nu ar putea folosi anumite servicii. Ar fi un adevărat dezastru.</p>
<p>În acest material m-am gândit să vorbim puţin despre RR-urile şi directivele folosite într-o zonă. Să începem discuţia cu stabilirea formatului unei zone.</p>
<p>Fişierele zonă sunt fişiere text care pot fi citite sau editate folosind orice editor standard. Ele pot conţine trei tipuri de intrări:</p>
<p>- <strong>comentarii</strong>: toate aceste comentarii încep cu &#8220;<strong>;</strong>&#8221; şi continuă până la sfârşitul unei linii.</p>
<p>- <strong>directive</strong>: încep cu simbolul &#8220;<strong>$</strong>&#8221; şi sunt folosite pentru a controla procesarea unui fişier zonă.</p>
<p>- <strong>resource records</strong> (RR-uri): sunt folosite pentru a putea defini caracteristicile, proprietăţile sau entităţile unui domeniu. RR-urile se pot pune doar pe o singură linie, cu menţiunea că intrările închise de paranteze se pot întinde pe mai multe linii.</p>
<blockquote><p>; exemplu comentariu</p>
<p>$TTL 12h      ;directivă</p>
<p>$ORIGIN example.com.</p>
<p>; SOA (Start of Authority) record &#8211; defineşte zona</p>
<p>; exemplu de RR care se întinde pe mai multe linii</p>
<p>; folosind parantezele</p>
<p>@      IN      SOA      ns1.alexbobica.com.      hostmaster.alexbobica.com.      (</p>
<p>2008102800   ;   se = serial number</p>
<p>3h                   ;   ref = refresh</p>
<p>15m                ;   ret = update retry</p>
<p>3w                  ;    ex = expiry</p>
<p>2h20m            ;   min = minimum</p>
<p>)</p>
<p>; un RR pe o singură linie</p>
<p>IN      NS      ns1.alexbobica.com.</p>
<p>s.a.m.d</p></blockquote>
<p>În general fişierele zonă conţin următoarele RR-uri şi directive:</p>
<p>-directiva <strong>$TTL</strong>: defineşte noţiunea de TTL(Time to Live) &#8211; perioada pe care un server de DNS poate păstra în cache un RR. Această directivă este obligatorie</p>
<p>- directiva <strong>$ORIGIN</strong>: defineşte domain name-ul pentru zona respectivă. Directiva este opţională.</p>
<p>- <strong>SOA RR</strong>: trebuie să apară ca primul RR într-un fişier zonă şi descrie caracteristicile globale ale unei zone sau ale unui domeniu. Acest RR este obligatoriu.</p>
<p>- <strong>Name Server(NS) RR</strong>: defineşte name serverele care sunt autoritare pentru zona sau domeniul respectiv. Trebuie să fie minim două NS RR într-un fişier zonă. RR-urile de tip NS pot &#8220;descrie&#8221; name servere din acelaşi domeniu sau din alt domeniu extern. RR-urile NS sunt obligatorii.</p>
<p>- <strong>The Mail Exchange (MX) RR</strong>: definesc serverele de mail din domeniu. Acest RR este opţional.</p>
<p>- <strong>The Address (A) RR</strong>: se foloseşte pentru a defini toate adresele IP ale hosturilor (sau serviciilor) care există în zonă şi trebuiesc să fie publice. Ne referim la adrese IPv4&#8230;cele IPv6 sunt definite folosind RR-ul AAAA (numit şi <strong>Quad A RR</strong>). Acest tip de RR este opţional.</p>
<p>- <strong>The CNAME RR</strong>: cu ajutorul acestor RR-uri definim aliasurile &#8211; cu un nume alias putem apela un alt host. Şi acest RR este opţional.</p>
<p>Mai există şi alte tipuri de Resource Records dar cele enumerate mai sus pot defini un fişier zonă complet funcţional.</p>
<p>Cam atât deocamdată&#8230;în următoarele articole related to DNS vom aprofunda toate aceste RR-uri şi vom mai încerca câteva exemple de configurare a unul fişier zonă.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexbobica.com/2008/10/zone-files-si-resource-records-rr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Componentele sistemului DNS</title>
		<link>http://alexbobica.com/2008/10/componentele-sistemului-dns/</link>
		<comments>http://alexbobica.com/2008/10/componentele-sistemului-dns/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 18:18:31 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Aplicaţii&Servicii]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS server]]></category>
		<category><![CDATA[Resource Records]]></category>
		<category><![CDATA[RRs]]></category>
		<category><![CDATA[stub resolver]]></category>
		<category><![CDATA[zone file]]></category>

		<guid isPermaLink="false">http://alexbobica.com/?p=106</guid>
		<description><![CDATA[În acest material vom continua discuţia începută despre DNS. Voi încerca cu ajutorul documentaţiei de specialitate şi a cunoştiinţelor mele să dezvoltăm în special conceptul de &#8220;zone file&#8221;. Un sistem DNS include trei componente: 1. date ce descriu domeniile (zone files) 2. unul sau mai multe servere de DNS 3. un resolver Un singur name [...]]]></description>
			<content:encoded><![CDATA[<p>În acest material vom continua discuţia începută despre DNS. Voi încerca cu ajutorul documentaţiei de specialitate şi a cunoştiinţelor mele să dezvoltăm în special conceptul de &#8220;zone file&#8221;.</p>
<p>Un sistem DNS include trei componente:</p>
<p>1. date ce descriu domeniile (zone files)</p>
<p>2. unul sau mai multe servere de DNS</p>
<p>3. un resolver</p>
<p>Un singur name server poate suporta unul sau mai multe domenii. Datele pentru fiecare domeniu, sau zonă, descriu proprietăţile globale ale unui domeniu şi hosturile (sau serviciile). Aceste date sunt sub formă de text &#8211; Resource Records (RRs) &#8211; şi sunt organizate în zone files.</p>
<p>Formatul acestor fişiere zonă şi a RRs-urilor este standardaizat, deci este folosit în orice aplicaţie de DNS. Ce face un software DNS? Păi să vedem:</p>
<p>- citeşte fişierele zonă (zone files)</p>
<p>- citeşte un fişier de configurare, primind tot felul de instrucţiuni de la acest fişier. Ex.: să facă cache sau nu.</p>
<p>- răspunde requesturilor (queries) de la clienţii locali sau cei remote.</p>
<p>Să ne întoarcem la componentele sistemului DNS şi să stabilim ce este un resolver. Chestia asta este o aplicaţie sau o librărie care este instalat(ă) pe fiecare host şi care este în stare &#8220;să traducă&#8221; requestul unui user. Ex. : requestul pentru <strong><a href="http://www.alexbobica.com" target="_blank">www.alexbobica.com</a></strong> va fi &#8220;tradus&#8221; de către resolver într-un query spre serverul de DNS. Deşi acest resolver este ceva foarte complex, cele instalate pe sistemele Windows sau *nix sunt doar nişte &#8220;stub resolvers&#8221;, adică presupun o implementare mai simplă. Mai pe înţelesul tuturor, un web browser foloseşte o librărie de stub resolver pentru &#8220;a transforma&#8221; un URL într-o adresă IP.</p>
<p>Cele mai importante din acest material sunt fişierele zonă (zone files). Rolul lor este &#8220;să împartă&#8221; numele de domeniu în nişte entităţi operaţionale (hosturi, servere de mail, servicii). Un zone file descrie acea parte dintr-un domeniu care este utilizată de către aplicaţia de DNS.</p>
<p>Fişierele zonă conţin următoarele tipuri de Resource Records (RRs):</p>
<p>1. Start of Authority (SOA) Resource Record &#8211; o intrare obligatorie în orice zone file</p>
<p>2. Address (A) Resource Records &#8211; toate hosturile din acea zonă</p>
<p>3. MX Resource Records &#8211; serverele de mail din domeniu</p>
<p>4. NS Resource Records &#8211; name serverele autoritare pentru domeniul respectiv</p>
<p>Închei acest material cu un exemplu de zone file. În următoarele materiale despre DNS vom detalia fiecare linie din înşiruirea de mai jos&#8230;</p>
<blockquote><p>$TTL 2d    # TTL-ul default pentru zonă</p>
<p>$ORIGIN alexbobica.com.</p>
<p>#SOA record &#8211; reprezintă caracteristicile principale ale zonei</p>
<p>@    IN    SOA    ns1.alexbobica.com.  hostmaster.alexbobica.com.  (</p>
<p>2008101001 ; sn = serial number</p>
<p>12h               ; refresh</p>
<p>15m              ; retry = update retry</p>
<p>3w                ; expiry</p>
<p>2h                ; min = minimum</p>
<p>)</p>
<p>; NS RRs pentru domeniu</p>
<p>IN    NS    ns1.alexbobica.com.</p>
<p>; mail server RRs pentru zonă</p>
<p>3w  IN    MX   10   mail.alexbobica.com.</p>
<p>;hosturi din domeniu (acestea sunt inclusiv serverele de mail sau DNS)</p>
<p>ns1    IN    A    192.168.100.1</p>
<p>mail   IN    A    192.168.100.2</p>
<p>alex   IN    A    192.168.100.3</p></blockquote>
<p>Sper că aţi înţeles câte ceva din ce am încercat să dezvolt aici. Oricum pe parcursul viitoarelor materiale, lucrurile vor deveni din ce în ce mai clare şi mai logice.</p>
<p>Alex</p>
]]></content:encoded>
			<wfw:commentRss>http://alexbobica.com/2008/10/componentele-sistemului-dns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNS &#8211; Domain Name System</title>
		<link>http://alexbobica.com/2008/05/dns-domain-name-system/</link>
		<comments>http://alexbobica.com/2008/05/dns-domain-name-system/#comments</comments>
		<pubDate>Thu, 29 May 2008 21:29:19 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Aplicaţii&Servicii]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS server]]></category>
		<category><![CDATA[Domain Name System]]></category>
		<category><![CDATA[Second-Level Domain]]></category>
		<category><![CDATA[SLD]]></category>
		<category><![CDATA[TLD]]></category>
		<category><![CDATA[Top-Level Domain]]></category>

		<guid isPermaLink="false">http://alexbobica.com/?p=39</guid>
		<description><![CDATA[De fiecare dată când primiţi un mail, de fiecare dată când accesaţi o pagină web, folosiţi DNS-ul. De fapt, peste 2 miliarde de astfel de cereri solicită root-serverele de DNS în fiecare zi. Fiecare dintre aceste 2 miliarde vin de la un DNS ce suportă un grup local de useri. Internetul, sau orice altă reţea, [...]]]></description>
			<content:encoded><![CDATA[<p>De fiecare dată când primiţi un mail, de fiecare dată când accesaţi o pagină web, folosiţi DNS-ul. De fapt, peste 2 miliarde de astfel de cereri solicită root-serverele de DNS în fiecare zi. Fiecare dintre aceste 2 miliarde vin de la un DNS ce suportă un grup local de useri.</p>
<p>Internetul, sau orice altă reţea, funcţionează alocînd un IP local sau global fiecărui endpoint(host, server, router, interfaţă,etc.). Fără această posibilitate de asignare a unui nume unei resurse anume, de fiecare dată când am vrea să accesăm o resursă din reţea, de exemplu situl www.abcdefg.com, ar trebui să ştim adresa ei IP, cum ar fi 192.168.100.122. Cu sute de milioane de hosturi şi cu încă vreo 50 de milioane de situri, este cam imposibil&#8230;nu? <img src='http://alexbobica.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Ar fi chiar dificil chiar şi pentru câteva zeci de hosturi şi resurse.</p>
<p>Pentru a rezolva această problemă, conceptul de &#8220;name servers&#8221; a fost creat la mijlocul anilor &#8217;70, astfel încât anumite atribute ale unei resurse, în acest caz adresa IP, să fie păstrate într-o locaţie bine-cunoscută, ideea principală fiind că este mult mai uşor de memorat un nume decât o adresă numerică.</p>
<p>Când într-o reţea este prezent un name server, orice host are nevoie să ştie doar adresa IP a acelui server şi numele resursei, numele unui site de exemplu ce se vrea accesat. Folosind această informaţie, poate afla adresa(sau orice atribut sau proprietate) resursei interogînd (querying) name serverul. Resursele pot fi adăugate, mutate, schimbate, sau şterse într-o singură locaţie, din name server, iar noile informaţii fiind imediat disponibile pentru fiecare host ce foloseşte acest name server. Name serverul este o simplă bază de date ce traduce numele în proprietăţi(adrese IP) şi vice versa. Name serverele simplifică managementul unei reţele şi totodată face ca o reţea să fie mai dinamică şi receptivă la schimbări.</p>
<p>Totuşi pot exista şi probleme&#8230;Dacă name serverul nostru nu este disponibil din orice motiv, hosturile din reţea nu pot accesa nicio resursă. Avem de a face astfel cu un name server ca şi resursă critică. Astfel că ar fi bine dacă am avea mai mult de un name server în caz de outage. Soluţia iniţială a disponibilităţii name serverului a fost introducerea de <strong>Primary</strong> şi <strong>Secondary</strong> name servere. Aşa de important este acest serviciu de DNS, că astăzi putem vedea liste de câte 3,4 sau mai multe servere de DNS.</p>
<p>Cu cât reţeaua noastră creşte mai mult, începem să construim un număr serios de nume în serverul nostru de DNS. Astfel se ridică 3 probleme importante:</p>
<p>1. <strong>Organizare</strong>: găsirea unei intrări în baza de date devine din ce în ce mai greoaie când căutăm prin milioane de nume. Ne trebuie o metodă de indexare şi organizare a numelor.</p>
<p>2. <strong>Scalability</strong>: Dacă fiecare host accesează DNS-ul, încărcătura devine foarte ridicată. Este necesar un procedeu de a &#8220;împrăştia&#8221; încărcătura pe mai multe name servere.</p>
<p>3. <strong>Management</strong>: Cu cât creşte numărul de înregistrări în baza noastră de date, problema managementului devine una stringentă, deoarece mai mulţi administratori încearcă să updateze înregistrările în acelaşi timp. Avem nevoie de o metodă de separare(delegating) a administrării acestor nume(resurse).</p>
<p>Nevoia de a satisface aceste 3 cerinţe a condus la crearea şi evoluţia Internet Domain Name System.</p>
<p>Internet&#8217;s Domain Name System este o implementare specifică a conceptului de name server, optimizat pentru a face faţă condiţiior din Internet. Avem 3 cerinţe:</p>
<p>-nevoia de ierarhizare a numelor;</p>
<p>-nevoia de împărţire a încărcării operaţionale a name serverelor;</p>
<p>-nevoia de delegări diferite pentru administrarea name serverelor.</p>
<p><strong>Domenii şi delegare</strong></p>
<p>DNS-ul foloseşte o structură de tip tree(ierarhică) pentru nume. În vârful &#8220;copacului&#8221; <img src='http://alexbobica.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  este nodul <strong>root</strong>, urmat de <strong>Top-Level Domains</strong> (TLDs), apoi de <strong>Second-Level Domains</strong> (SLD) şi tot aşa&#8230;cu câte nivele dorim, fiecare separate de un punct(.).</p>
<p>De cele mai multe ori, root-ul este reprezentat cu un punct(.).</p>
<p>TLD-urile  sunt împărţite în două tipuri:</p>
<p>1. <strong>Generic Top-Level Domains</strong> (gTLD): de exemplu, <strong>.com</strong>, <strong>.edu</strong>, <strong>.net</strong>, <strong>.org</strong>, <strong>.mil</strong>, etc.</p>
<p>2. <strong>Country Code Top-Level Domains</strong> (ccTLD): de exemplu, <strong>.us</strong>, <strong>.ca</strong>, <strong>.tv</strong>, <strong>.uk</strong>, <strong>.ro</strong>, etc.</p>
<p>Mai jos aveţi o schemă care sper să fie cât de cât edificatoare în ce priveşte ierarhizarea domeniilor:</p>
<p><a href="http://alexbobica.com/wp-content/uploads/2008/05/dns.jpg"><img class="aligncenter size-full wp-image-40" title="dns" src="http://alexbobica.com/wp-content/uploads/2008/05/dns.jpg" alt="" width="500" height="218" /></a></p>
<p>Ceea ce denumim în mod curent nume de domeniu, este format dintr-o combinaţie de SLD şi TLD, scris de la stânga la dreapta cu cel mai inferior nivel din ierarhie scris în stânga şi cu cel mai înalt în dreapta: <strong>sld.tld .</strong></p>
<p>Termenul de Second-Level Domain vine de la nodul definit la al doilea nivel al ierarhiei. La fel şi cu Third-Level Domain. Să luam un domeniu exemplu: exemplu.com.  Care este SLD-ul? Păi SLD-ul este &#8220;exemplu&#8221;, iar TLD-ul este &#8220;com&#8221;&#8230;iar &#8220;punctul&#8221; de la sfârşit este chiar root-ul.</p>
<p>Cam atât pentru început despre DNS&#8230;sper că aţi înţeles cam ce înseamnă acest serviciu foarte important. O să continuăm în materialele următoare să îl aprofundăm, configurăm, etc.</p>
<p>Numai bine vă urez!</p>
]]></content:encoded>
			<wfw:commentRss>http://alexbobica.com/2008/05/dns-domain-name-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
