<?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>Blog despre resurse educaţionale din IT &#187; servere</title>
	<atom:link href="http://resurse-educationale.uv.ro/?feed=rss2&#038;tag=servere" rel="self" type="application/rss+xml" />
	<link>http://resurse-educationale.uv.ro</link>
	<description>Cu informatii pentru dezvoltare personala, dar şi pentru studentţi, elevi, profesori, webmasteri, programatori</description>
	<lastBuildDate>Fri, 27 Jan 2012 01:12:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>CUM SA administrati rapid un DNS. HOWTO</title>
		<link>http://resurse-educationale.uv.ro/?p=162</link>
		<comments>http://resurse-educationale.uv.ro/?p=162#comments</comments>
		<pubDate>Wed, 06 Apr 2011 12:29:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Servers]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[administrare]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[controler]]></category>
		<category><![CDATA[dialup]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[domen]]></category>
		<category><![CDATA[domeniu]]></category>
		<category><![CDATA[hosturi]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[isdn]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[named]]></category>
		<category><![CDATA[nume]]></category>
		<category><![CDATA[rezolutie]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[servere]]></category>
		<category><![CDATA[slip]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=162</guid>
		<description><![CDATA[DNS HOWTO Nicolai Langfeldt (janl@linpro.no), Jamie Norrish and others Version 3.1, 2001-01-18 Traducerea: Victor Plugaru(vuk@go.ro). Cu scuzele de rigoare pentru eventualele greseli si/sau inadvertente. CUM SA administrati rapid un DNS. ______________________________________________________________________ Cuprins 1. Preambul 1.1 Chestiuni legale 1.2 Credit si &#8230; <a href="http://resurse-educationale.uv.ro/?p=162">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>DNS HOWTO<br />
Nicolai Langfeldt (janl@linpro.no), Jamie Norrish and others<br />
Version 3.1, 2001-01-18<br />
Traducerea: Victor Plugaru(vuk@go.ro). Cu scuzele de rigoare<br />
pentru eventualele greseli si/sau inadvertente.</p>
<p>CUM SA administrati rapid un DNS.<br />
______________________________________________________________________</p>
<p>Cuprins</p>
<p>1. Preambul</p>
<p>1.1 Chestiuni legale<br />
1.2 Credit si cereri de suport.<br />
1.3 Dedicatie</p>
<p>2. Introducere.</p>
<p>3. Caching name server.</p>
<p>3.1 Pornirea lui named<br />
3.2 Resolvere<br />
3.3 Felicitari</p>
<p>4. Forwarding</p>
<p>5. Un domeniu simplu</p>
<p>5.1 Intai teorie seaca<br />
5.2 Propriul nostru domeniu<br />
5.3 Zona reverse<br />
5.4 Cuvinte de atentionare<br />
5.5 De ce nu functioneaza interogarile inverse.<br />
5.5.1 Zona reverse nu este investita.<br />
5.5.2 Aveti un subnet fara clase<br />
5.6 Servere slave (sclav)</p>
<p>6. Optiuni de securitate fundamentale.</p>
<p>6.1 Restrictionarea transferurilor pe zone<br />
6.2 Protectia in situatii de spoofing<br />
6.3 Rularea lui named ca non-root</p>
<p>7. Un exemplu real de domeniu</p>
<p>7.1 /etc/named.conf (sau /var/named/named.conf)<br />
7.2 /var/named/root.hints<br />
7.3 /var/named/zone/127.0.0<br />
7.4 /var/named/zone/land-5.com<br />
7.5 /var/named/zone/206.6.177</p>
<p>8. Intretinere</p>
<p>9. Conversia de la versiunea 4 la versiunea 8</p>
<p>10. Intrebari si raspunsuri</p>
<p>11. Cum sa deveniti un administrator DNS la scara mare.</p>
<p><span id="more-162"></span></p>
<p>______________________________________________________________________</p>
<p>1. Preambul</p>
<p>Cuvinte cheie: DNS, BIND, BIND 4, BIND 8, named, dialup, ppp, slip, ISDN,<br />
internet, domeniu, nume, rezolutie, hosturi, caching.</p>
<p>Acest document este parte din Proiectul Documentatiei Linux (Linux<br />
Documentation Project)</p>
<p>1.1. Chestiuni legale</p>
<p>(C)opyright 1995-2001 Nicolai Langfeldt, Jamie Norrish &amp; Co.<br />
Nu distribuiti modificand fara copyright, distribuiti liberi dar<br />
pastrati mesajul de copyright.</p>
<p>1.2. Credite si cereri de suport</p>
<p>Vreau sa multumesc lui Arnt Gulbrandsen caruia i-am cauzat suferinta<br />
cu aceste tiparituri si care mi-a oferit multe sugestii utile. Vreau<br />
sa multumesc de asemeni numeroselor persoane care mi-au trimis sugestii si<br />
note prin e-mail.</p>
<p>Acesta nu va fi niciodata un document final; va rog sa imi trimiteti<br />
e-mailuri despre problemele si succesele dumneavoastra. Puteti da o mana<br />
de ajutor la imbunatatirea acestui HOWTO. Asa ca va rog sa trimiteti<br />
comentarii si/sau sugestii la janl@linpro.no. Sau cumparati cartea mea<br />
despre DNS. Vedeti bibliografia despre informatii in legatura cu aceasta<br />
chestiune. Daca trimiteti un e-mail si asteptati raspunsuri, dati dovada de<br />
curtoazie si asigurati-va ca adresa de reply este corecta si functioneaza.<br />
Tot astfel, va rog sa cititi sectiunea &#8220;qanda&#8221; inainte de a-mi trimite<br />
e-mail. Inca un lucru, inteleg doar limbile norvegiana si engleza.</p>
<p>Acesta este un HOWTO (CUM_SA). L-am intretinut ca parte a LDP din 1995. Am<br />
scris, in timpul anului 2000 o carte pe aceiasi tema. Vreau sa spun ca,<br />
desi acest HOWTO este asemanator cartii din multe puncte de vedere, nu<br />
este o versiune redusa astfel incat sa promovez vinderea cartii. Veti gasi<br />
cartea in bibliografie in finalul acestui HOWTO. Cititorii acestui HOWTO<br />
m-au ajutat sa inteleg ceea ce e dificil de inteles in legatura cu<br />
DNS. Aceasta m-a ajutat la carte, iar cartea m-a ajutat de asemeni<br />
sa inteleg la ce ar servi acest HOWTO. Acest HOWTO a completat cartea.<br />
Cartea a completat versiunea 3 a acestui HOWTO. Multumirile mele<br />
editorului cartii, care si-a incercat norocul cu mine <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>1.3. Dedicatie</p>
<p>Acest HOWTO este dedicat lui Anne Line Norheim Langfeldt, desi dansa nu il<br />
va citi niciodata pentru ca nu e genul.</p>
<p>1. Introducere</p>
<p>Ce este si ce nu este aceasta.</p>
<p>DNS este Domain Name System (Sistemul Domeniului de Nume). DNS converteste<br />
numele masinilor (de calcul) in adrese IP pe care toate masinile de pe<br />
Internet le au.  Translateaza (sau &#8220;mapeaza&#8221; cum se zice in jargon) din<br />
nume in adrese si din adrese in nume, precum si alte cateva lucruri. Acest<br />
HOWTO documenteaza definirea acestor mapari folosind sisteme UNIX, cu<br />
cateva lucruri specifice Linux-ului.</p>
<p>O mapare este o simpla asociere intre doua lucruri, in acest caz un nume<br />
de masina, ca ftp.linux.org, si IP-ul masinii (sau adresa)<br />
199.249.150.4. DNS-ul contine de asemeni mapari si in alt sens, din<br />
IP catre numele masinii; aceasta se numeste &#8220;mapare inversa&#8221;</p>
<p>DNS este, pentru neinitiati (dumneavoastra <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , una dintre<br />
cele mai obscure domenii din administrarea retelelor. Din fericire, DNS nu<br />
este chiar asa de greu. Acest HOWTO va incerca sa va clarifice<br />
cateva lucruri. Descrie cum sa setati un server de nume DNS simplu,<br />
incepand doar cu un server cache si pana la a seta un sever DNS primar<br />
pentru domeniu. Pentru setari mai complexe consultati sectiunea &#8220;qanda&#8221;<br />
din acest document. Daca nu este descris acolo (ceea ce va trebuie),<br />
va trebui sa consultati documentatie &#8220;adevarata&#8221;. Voi reveni si voi arata<br />
in ce consta aceasta documentatie &#8220;adevarata&#8221; in &#8220;ultimul capitol&#8221;.</p>
<p>Inainte de a incepe ar trebui sa va configurati masina astfel incat sa<br />
puteti folosi telnet de la si catre aceasta masina si sa puteti face tot<br />
felul de conexiuni in retea, si in special sa puteti da telnet 127.0.0.1<br />
si sa reusiti sa intrati pe propria masina (ar trebui sa incercati<br />
asta chiar acum!). Va trebuie de asemeni fisierele /etc/nsswitch.conf,<br />
/etc/resolv.conf si /etc/hosts corecte, ca punct de plecare pentru ca nu<br />
le voi explica functiile aici. Daca nu aveti toate acestea configurate si<br />
in stare de functionare, Networking-HOWTO si/sau Networking-Overview-HOWTO<br />
explica cum sa le configurati. CItiti-le.</p>
<p>Cand spun &#8220;masina dumneavoastra&#8221; inteleg masina pe care vreti<br />
sa configurati DNS, nu orice alta masina pe care o aveti si care ar fi<br />
implicata in efortul de a pune la punct reteaua.</p>
<p>Presupun ca nu sunteti in spatele nici unui fel de firewall care blocheaza<br />
interogarile de nume. Daca sunteti in atare situatie, vedeti sectiunea<br />
&#8220;quanda&#8221;.</p>
<p>Serverul de nume in UNIX este indeplinit de un program numit named. Acesta<br />
este o parte a pachetului &#8220;BIND&#8221; coordonat de The Internet<br />
Software Cosortium. Named este inclus in majoritatea distributiilor de Linux<br />
si este de obicei instalat in /usr/sbin/named, de obicei dintr-un pachet<br />
BIND.</p>
<p>Daca aveti un named probabil ca il puteti si folosi. Daca nu aveti unul,<br />
puteti lua distributia binara de de pe un site ftp Linux, sau luati ultima<br />
si cea mai &#8220;tare&#8221; sursa de la &lt;ftp://ftp.isc.org/isc/bind/src/&gt;. Acest<br />
HOWTO se refera la BIND versiunea 8. Versiunea veche a acestui document,<br />
despre BIND 4 este inca disponibila la &lt;http://www.math.uio.no/~janl/DNS/&gt;.<br />
in caz ca folositi BIND 4. Daca paginile man ale named (chiar la sfarsit,<br />
in sectiunea FILES) fac referire la named.conf, aveti BIND 8. Daca fac<br />
referire la named.boot, aveti BIND 4. Daca aveti BIND 4<br />
si sunteti constient de problemele de securitate, ar fi bine sa faceti<br />
uprade la BIND 8. Acum.</p>
<p>DNS este o baza de date distribuita in retea. Aveti grija ce puneti in ea.<br />
Daca puneti &#8220;balarii&#8221; in ea, dumneavoastra si altii, tot &#8220;balarii&#8221;<br />
veti avea. Mentineti DNS-ul restrans si consistent si veti avea parte de<br />
servicii de buna calitate de la el. Invatati sa il folositi, administrati,<br />
depanati si veti fi inca un bun administrator, evitand ingenuncherea<br />
Internetului din cauza prostului management.</p>
<p>Indicatie: faceti copii de rezerva a tuturor fisierelor pe care va indic<br />
sa le modificati, daca le aveti deja, asa incat daca trecand<br />
prin acestea (configurari, modificari) nimic nu mai merge, sa puteti<br />
reveni la vechea dumneavoastra stare de functionare.</p>
<p>3. Caching name server</p>
<p>Un prim model de configurarie DNS, foarte util pentru dialup, modem<br />
de cablu si utilizatori ADSL.</p>
<p>In distributiile Redhat si inrudite puteti obtine aceleasi rezultate<br />
practice ca in prima sectiune a acestui HOWTO, instaland<br />
pachetul BIND, utilitarele bind si caching-nameserver-ul. Daca<br />
folositi Debian, instalati bind si bind-doc. Bine inteles ca<br />
doar instaland aceste pachete nu veti invata atat de mult ca si cand ati<br />
citi acest HOWTO. Asa ca instalati pachetele si verificati fisierele<br />
instalate.</p>
<p>Un server cache de nume va gasi raspunsuri la interogarile de nume si va<br />
memora aceste raspunsuri pentru data viitoare cand veti<br />
avea nevoie. Aceasta va scurta semnificativ timpul de asteptare urmatoarea<br />
data, in special daca aveti o conexiune lenta.</p>
<p>In primul rand aveti nevoie de un fisier numit /etc/named.conf<br />
(Debian: /etc/bind/named.conf). Acesta este citit cand named porneste.<br />
Deocamdata ar trebui sa contina pur si simplu:</p>
<p>______________________________________________________________________<br />
// Config file for caching only name server</p>
<p>options {<br />
directory &#8220;/var/named&#8221;;</p>
<p>// Uncommenting this might help if you have to go through a<br />
// firewall and things are not working out.  But you probably<br />
// need to talk to your firewall admin.</p>
<p>// query-source port 53;<br />
};</p>
<p>zone &#8220;.&#8221; {<br />
type hint;<br />
file &#8220;root.hints&#8221;;<br />
};</p>
<p>zone &#8220;0.0.127.in-addr.arpa&#8221; {<br />
type master;<br />
file &#8220;pz/127.0.0&#8243;;<br />
};<br />
______________________________________________________________________</p>
<p>Pachetele distributiilor Linux pot folosi diferite nume de fisiere<br />
pentru fiecare tip de fisier mentionat aici, cu toate acestea, continutul<br />
va fi identic.</p>
<p>Linia &#8220;directory&#8221; ii spune lui named unde sa caute fisiere. Toate fisierele<br />
named subsecvente vor fi relative la aceasta. pz este un director sub<br />
/var/named, de ex. /var/named/pz. /var/named este directorul corect<br />
potrivit Standardului de Fisiere Linux.</p>
<p>Fisierul /var/named/root.hints ar trebui sa contina urmatoarele: (daca<br />
execuati cut si paste dintr-o versiune electronica a acestui document,<br />
aveti in vedere ca nu trebuie sa existe spatii de inceput in acest fisier,<br />
de exemplu toate liniile trebuie sa inceapa cu un caracter<br />
non-blank. Anumite programe de procesare de text vor insera spatii<br />
la inceputul liniilor, cauzand confuzie. In acest caz va rog<br />
sa indepartati spatiile goale.)</p>
<p>______________________________________________________________________<br />
;<br />
; There might be opening comments here if you already have this file.<br />
; If not don&#8217;t worry.<br />
;<br />
.                       6D IN NS        M.ROOT-SERVERS.NET.<br />
.                       6D IN NS        I.ROOT-SERVERS.NET.<br />
.                       6D IN NS        E.ROOT-SERVERS.NET.<br />
.                       6D IN NS        D.ROOT-SERVERS.NET.<br />
.                       6D IN NS        A.ROOT-SERVERS.NET.<br />
.                       6D IN NS        H.ROOT-SERVERS.NET.<br />
.                       6D IN NS        C.ROOT-SERVERS.NET.<br />
.                       6D IN NS        G.ROOT-SERVERS.NET.<br />
.                       6D IN NS        F.ROOT-SERVERS.NET.<br />
.                       6D IN NS        B.ROOT-SERVERS.NET.<br />
.                       6D IN NS        J.ROOT-SERVERS.NET.<br />
.                       6D IN NS        K.ROOT-SERVERS.NET.<br />
.                       6D IN NS        L.ROOT-SERVERS.NET.<br />
;<br />
M.ROOT-SERVERS.NET.     6D IN A         202.12.27.33<br />
I.ROOT-SERVERS.NET.     6D IN A         192.36.148.17<br />
E.ROOT-SERVERS.NET.     6D IN A         192.203.230.10<br />
D.ROOT-SERVERS.NET.     6D IN A         128.8.10.90<br />
A.ROOT-SERVERS.NET.     6D IN A         198.41.0.4<br />
H.ROOT-SERVERS.NET.     6D IN A         128.63.2.53<br />
C.ROOT-SERVERS.NET.     6D IN A         192.33.4.12<br />
G.ROOT-SERVERS.NET.     6D IN A         192.112.36.4<br />
F.ROOT-SERVERS.NET.     6D IN A         192.5.5.241<br />
B.ROOT-SERVERS.NET.     6D IN A         128.9.0.107<br />
J.ROOT-SERVERS.NET.     6D IN A         198.41.0.10<br />
K.ROOT-SERVERS.NET.     6D IN A         193.0.14.129<br />
L.ROOT-SERVERS.NET.     6D IN A         198.32.64.12<br />
______________________________________________________________________</p>
<p>Fisierul descrie serverele de nume &#8220;radacina&#8221; din lume. Acestea se schimba<br />
in timp si trebuie mentinute permanent. Vedeti sectiunea &#8220;intretinere&#8221;<br />
despre cum sa mentineti la curent acest fisier.</p>
<p>Urmatoarea sectiune in named.conf este ultima zona. II voi explica<br />
utilizarea intr-un capitol ulterior. Deocamdata creati din aceasta un<br />
fisier numit 127.0.0 in subdirectorul pz (din nou, indepartati<br />
spatiile goale daca executati cut si paste).</p>
<p>______________________________________________________________________<br />
$TTL 3D<br />
@               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (<br />
1       ; Serial<br />
8H      ; Refresh<br />
2H      ; Retry<br />
4W      ; Expire<br />
1D)     ; Minimum TTL<br />
NS      ns.linux.bogus.<br />
1                       PTR     localhost.<br />
______________________________________________________________________</p>
<p>Pe urma, aveti nevoie de un fisier /etc/resolv.conf care sa arate cam asa:<br />
(indepartati spatiile!)</p>
<p>______________________________________________________________________<br />
search subdomain.your-domain.edu your-domain.edu<br />
nameserver 127.0.0.1<br />
______________________________________________________________________</p>
<p>Linia &#8220;search&#8221; specifica ce domenii ar trebui cautate pentru un nume de<br />
host la care vreti sa va conectati. Linia &#8220;nameserver&#8221; indica serverul<br />
dumneavoastra de nume, in acest caz propria dumneavoastra masina,<br />
daca acolo ruleaza named (127.0.0.1 e perfect, nu conteaza ca mai aveti si<br />
alta adresa IP). Daca doriti sa apara mai multe servere de nume, puneti<br />
cate o linie &#8220;nameserver&#8221; pentru fiecare. (Nota: named niciodata<br />
nu citeste acest fisier, ci rezolverul, programul care il utilizeaza<br />
pe named. Nota2 :in unele fisiere resolv.conf gasiti o linie &#8220;domain&#8221;. E<br />
in regula, dar nu folositi si &#8220;search&#8221; si &#8220;domain&#8221;, doar una dintre ele va<br />
merge).</p>
<p>Pentru a ilustra ce face acest fisier: daca un client incearca<br />
sa caute (hostul) &#8220;foo&#8221;, atunci foo.subdomeniu.domeniul-tau.edu este<br />
incercat primul, apoi foo.domeniul-tau.edu si apoi foo. Nu e de preferat<br />
sa puneti prea multe domenii in linia &#8220;search&#8221; pentru ca va dura mult sa<br />
le interogheze pe toate.</p>
<p>Exemplul de mai sus presupune ca apartineti domeniului<br />
subdomeniu.domeniul-tau.edu; atunci masina dumneavoastra este numita<br />
probabil masina-ta.subdomeniu.domeniul-tau.edu Linia &#8220;search&#8221; n-ar trebui<br />
sa contina TLD-ul dumneavoastra (Top Level Domain &#8220;edu&#8221;- Domeniul de Nivel<br />
Inalt) in acest caz. Daca aveti nevoie sa va conectati<br />
la hosturi din alt domeniu, in mod frecvent, puteti adauga acel domeniu in<br />
linia &#8220;search&#8221; astfel: (indepartati spatiile!)</p>
<p>______________________________________________________________________<br />
search subdomain.your-domain.edu your-domain.edu other-domain.com<br />
______________________________________________________________________</p>
<p>si asa mai departe. Evident, trebuie sa puneti nume reale de domeniu<br />
in locul celor din exemplu. Importat: observati lipsa punctelor de<br />
la sfarsitul numelor de domeniu.</p>
<p>3.1 Pornirea lui named</p>
<p>Dupa toate acestea este timpul sa pornim named. Daca folositi o conexiune<br />
dialup, conectati-va intai. Dati comanda &#8220;ndc start&#8221; si apasati Enter,<br />
fara nici o optiune. Daca nu merge asa, incercati &#8220;/usr/sbin/ndc start&#8221;.<br />
Daca tot nu merge, vedeti sectiunea &#8220;qanda&#8221;. Daca observati in<br />
fisierul mesajelor syslog (de obicei /var/adm/messages sau<br />
/var/log/messages) in timp ce porniti named (incercati tail -f<br />
/var/log/messages), ar trebui sa vedeti ceva asemanator :</p>
<p>(liniile care se incheie in \ continua pe linia urmatoare)</p>
<p>Dec 15 23:53:29 localhost named[3768]: starting.  named 8.2.2-P7 \<br />
Fri Nov 10 04:50:23 EST 2000^Iprospector@porky.\<br />
devel.redhat.com:/usr/src/bs/BUILD/bind-8.2.2_P7/\<br />
src/bin/named<br />
Dec 15 23:53:29 localhost named[3768]: hint zone &#8220;&#8221; (IN) loaded\<br />
(serial 0)<br />
Dec 15 23:53:29 localhost named[3768]:Zone &#8220;0.0.127.in-addr.arpa&#8221;\<br />
(file pz/127.0.0): No default TTL set using SOA\<br />
minimum instead<br />
Dec 15 23:53:29 localhost named[3768]: master zone\<br />
&#8220;0.0.127.in-addr.arpa&#8221; (IN) loaded (serial 1)<br />
Dec 15 23:53:29 localhost named[3768]:listening on [127.0.0.1].53 (lo)<br />
Dec 15 23:53:29 localhost named[3768]: listening on [10.0.0.129].53\<br />
(wvlan0)<br />
Dec 15 23:53:29 localhost named[3768]: Forwarding source address is\<br />
[0.0.0.0].1034<br />
Dec 15 23:53:29 localhost named[3769]: Ready to answer queries.</p>
<p>Daca sunt multe mesaje de eroare, trebuie sa fie o greseala<br />
pe undeva. Named va indica fisierul unde se afla greseala. Reveniti si<br />
verificati fisierul respectiv. Dati comanda &#8220;ndc restart&#8221; si ati<br />
rezolvat problema.</p>
<p>Acum puteti testa configurarea. In mod traditional, un program numit<br />
nslookup e folosit pentru aceasta. In mod curent, dig e recomandat.</p>
<p>$ dig -x 127.0.0.1</p>
<p>; &lt;&lt;&gt;&gt; DiG 8.2 &lt;&lt;&gt;&gt; -x<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 4<br />
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY:1, ADDITIONAL: 0<br />
;; QUERY SECTION:<br />
;;      1.0.0.127.in-addr.arpa, type = ANY, class = IN</p>
<p>;; ANSWER SECTION:<br />
1.0.0.127.in-addr.arpa.  1D IN PTR  localhost.</p>
<p>;; AUTHORITY SECTION:<br />
0.0.127.in-addr.arpa.   1D IN NS        ns.penguin.bv.</p>
<p>;; Total query time: 30 msec<br />
;; FROM: lookfar to SERVER: default &#8212; 127.0.0.1<br />
;; WHEN: Sat Dec 16 00:16:12 2000<br />
;; MSG SIZE  sent: 40  rcvd: 110</p>
<p>Daca ati obtinut aceasta, serviciul functioneaza. Speram. Daca treburile<br />
stau altfel, reveniti si verificati totul. De fiecare data cand moficati<br />
fisierul named.conf, trebuie sa reporniti named cu comanda ndc restart.</p>
<p>Acum puteti efectua o interogare. Incercati sa cautati o masina apropiata.<br />
pat.uio.no este apropiata de mine, la Universitatea din Oslo.</p>
<p>$ dig pat.uio.no</p>
<p>; &lt;&lt;&gt;&gt; DiG 8.2 &lt;&lt;&gt;&gt; pat.uio.no<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode:QUERY, status: NOERROR, id: 4<br />
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY:3, ADDITIONAL: 3<br />
;; QUERY SECTION:<br />
;;      pat.uio.no, type = A, class = IN</p>
<p>;; ANSWER SECTION:<br />
pat.uio.no.             1D IN A		 129.240.130.16</p>
<p>;; AUTHORITY SECTION:<br />
uio.no.                 1D IN NS        nissen.uio.no.<br />
uio.no.                 1D IN NS        ifi.uio.no.<br />
uio.no.                 1D IN NS        nn.uninett.no.</p>
<p>;; ADDITIONAL SECTION:<br />
nissen.uio.no.          1D IN A         129.240.2.3<br />
ifi.uio.no.             1H IN A         129.240.64.2<br />
nn.uninett.no.          1D IN A         158.38.0.181</p>
<p>;; Total query time: 112 msec<br />
;; FROM: lookfar to SERVER: default &#8212; 127.0.0.1<br />
;; WHEN: Sat Dec 16 00:23:07 2000<br />
;; MSG SIZE  sent: 28  rcvd: 162</p>
<p>De data aceasta dig a cerut lui named sa caute masina pat.uio.no.<br />
A contactat una dintre masinile server de nume indicate in fisierul<br />
root.hints si a cerut calea de acolo. Poate dura putin pana obtine<br />
rezultatul, dupa cum va trebui sa caute in domeniile din /etc/resolv.conf.<br />
Observati &#8220;aa&#8221; in linia &#8220;flags:&#8221;. Inseamna ca raspunsul este<br />
autoritativ, venit proaspat de la un server autoritativ. Voi explica<br />
ce inseamna &#8220;autoritativ&#8221; mai tarziu.</p>
<p>Daca veti face aceiasi interogare din nou, veti obtine aceasta:</p>
<p>$ dig pat.uio.no</p>
<p>; &lt;&lt;&gt;&gt; DiG 8.2 &lt;&lt;&gt;&gt; pat.uio.no<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status:NOERROR, id: 4<br />
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3<br />
;; QUERY SECTION:<br />
;;      pat.uio.no, type = A, class = IN</p>
<p>;; ANSWER SECTION:<br />
pat.uio.no.             23h59m58s IN A  129.240.130.16</p>
<p>;; AUTHORITY SECTION:<br />
UIO.NO.                 23h59m58s IN NS  nissen.UIO.NO.<br />
UIO.NO.                 23h59m58s IN NS  ifi.UIO.NO.<br />
UIO.NO.                 23h59m58s IN NS  nn.uninett.NO.</p>
<p>;; ADDITIONAL SECTION:<br />
nissen.UIO.NO.          23h59m58s   IN A  129.240.2.3<br />
ifi.UIO.NO.             1d23h59m58s IN A  129.240.64.2<br />
nn.uninett.NO.          1d23h59m58s IN A  158.38.0.181</p>
<p>;; Total query time: 4 msec<br />
;; FROM: lookfar to SERVER: default &#8212; 127.0.0.1<br />
;; WHEN: Sat Dec 16 00:23:09 2000<br />
;; MSG SIZE  sent: 28  rcvd: 162</p>
<p>Observati lipsa flagului &#8220;aa&#8221; din acest rezultat. Inseamna ca named<br />
nu a mai iesit in retea pentru a afla acest raspuns, daca informatia se<br />
afla in cache acum. Dar informatia din cache poate fi veche (stale). Asa<br />
ca sunteti informati despre aceasta (foarte subtil)<br />
prin lipsa lui &#8220;aa&#8221;. Dar oricum, acum stiti ca serviciul cache functioneaza.</p>
<p>3.2. Rezolvere</p>
<p>Toate sistemele de operare care implementeaza standardul C API fac uz de<br />
apelul gethostbyname si gethostbyaddr. Acestea pot obtine informatii din<br />
diverse surse. Din ce surse se alimenteaza, este indicat in fisierul<br />
/etc/nsswitch.conf in Linux (si alte UNIX-uri). Acesta este un fisier lung<br />
care specifica din ce fisier sau baza de date se vor obtine diferitele<br />
tipuri de date. De obicei contine informatii folositoare la inceput, pe<br />
care ar trebui sa le cititi. Dupa aceasta, cautati linia incapand cu<br />
&#8220;hosts:&#8221;; va trebui sa aveti:</p>
<p>______________________________________________________________________<br />
hosts:      files dns<br />
______________________________________________________________________</p>
<p>(va aduceti aminte de spatiile de inceput, nu-i asa? Nu le voi mai mentiona)</p>
<p>Daca nu exista nici o linie cu &#8220;hosts:&#8221;, puneti una ca mai<br />
sus. Aceasta indica cum ca programele ar trebui sa examineze<br />
fisierul /etc/hosts intai, apoi sa verifice DNS-ul conform /etc/resolv.conf.</p>
<p>3.3. Felicitari</p>
<p>Acum deja stiti cum sa configurati un named cu caching. Luati o bere, un<br />
lapte acru si sarbatoriti.</p>
<p>4. Forwarding</p>
<p>In retele mari, bine organizate, academice sau ISP (Internet Service<br />
Provider &#8211; Furnizor de Servicii Internet), veti constata uneori ca<br />
administratorii de retea au pus la punct o ierarhie de servere DNS<br />
pentru forwarding (inaintare- transfer), care usureaza<br />
incarcarea retelei interiorare si exterioare. Nu e usor de stiut daca va<br />
aflati intr-o asemenea retea sau nu. Oricum, nu este important si,<br />
folosind serverul DNS al furnizorului dumneavoastra din retea ca &#8220;forwarder&#8221;<br />
puteti obtine raspunsurile mai rapid si cu o incarcare mai mica a retelei.<br />
Daca folositi un modem, aceasta poate fi chiar un castig. De<br />
dragul acestui exemplu sa presupunem ca furnizorul are doua servere de<br />
nume pe care vrea sa le folositi cu IP-urile 10.0.0.1 si 10.1.0.1. Atunci,<br />
in named.conf la dumneavoastra, in interiorul sectiunii &#8220;options&#8221;,<br />
inserati aceste linii:</p>
<p>______________________________________________________________________<br />
forward first;<br />
forwarders {<br />
10.0.0.1;<br />
10.1.0.1;<br />
};<br />
______________________________________________________________________</p>
<p>Exista de asemeni o smecherie draguta pentru masinile dialup care folosesc<br />
&#8220;forwardere&#8221;. Este descrisa in sectiunea &#8220;qanda&#8221;.</p>
<p>Restartati serverul de nume si testati-l cu dig. Ar trebui sa mearga perfect.</p>
<p>5. Un domeniu simplu</p>
<p>Cum configurati propriul domeniu.</p>
<p>5.1. Intai teorie seaca</p>
<p>In primul rand: ati citit tot pana aici, nu? Trebuie.</p>
<p>Inainte de a porni intr-adevar aceasta sectiune, va voi expune ceva<br />
teorie si un exemplu despre cum functioneaza DNS. Si o veti citi pentru ca<br />
va este necesara. Daca nu doriti, ar trebui macar sa o parcurgeti rapid.<br />
Opriti-va din cititul printre randuri cand ajungeti la ceea ce ar trebui<br />
sa aveti in fisierul named.conf.</p>
<p>DNS este un sistem ierarhic, arborescent. Varful este notat &#8220;.&#8221; si<br />
este denumit &#8220;root&#8221;, cum este uzual pentru structurile de<br />
date arborescente. Dedesubt exista un numar de Top Level Domain &#8211; Domenii<br />
de Nivel Inalt &#8211; TLD-uri. Cele mai cunoscute sunt .COM .ORG .EDU .NET, dar<br />
sunt mai multe. Ca si la un arbore, exista o radacina care se imparte pe<br />
ramuri. Daca aveti ceva cunostinte despre computere, veti recunoaste DNS<br />
ca un arbore de cautare si veti fi capabili sa gasiti nodurile nodurile<br />
mici (leaf nodes) si marginile (edges). Punctele sunt noduri, marginile<br />
sunt in nume. Cand cautati o masina, interogarea porneste recursiv<br />
in ierarhie, plecand de la radacina (root). Daca doriti sa aflati adresa<br />
pentru prep.ai.mit.edu, serverul dumneavoastra de nume va incepe<br />
sa caute undeva. Incepe prin a cauta in cache. Daca stie raspunsul,<br />
avandu-l in cache mai dinainte, va raspunde imediat, asa cum am vazut in<br />
ultima sectiune. Daca nu stie, va indeparta partea din nume incepand de la<br />
stanga, verificand daca stie ceva despre ai.mit.edu, apoi mit.edu., apoi<br />
edu., si apoi daca nu cumva &#8220;.&#8221; are cunostinta, pentru ca asa s-a specificat in<br />
fisierul hints (indicii). Apoi va intreba un server &#8220;.&#8221; (root)<br />
despre prep.ai.mit.edu. Acest server &#8220;.&#8221; nu va sti raspunsul dar<br />
va ajuta serverul dumneavoastra in calea sa, dandu-i o referinta,<br />
spunandu-i unde sa mai caute. Aceste referinte vor conduce eventual<br />
serverul dumneavoastra catre un server de nume care cunoaste<br />
raspunsul. Voi ilustra aceasta acum, &#8220;+norec&#8221; inseamna ca &#8220;dig&#8221; aplica<br />
interogari ne-recursive, asa ca va trebui sa aplicam chiar noi<br />
recursivitatea. Cealalta optiune ar fi sa reducem cantitatea de date<br />
pe care &#8220;dig&#8221; o produce asa incat sa nu avem de-a face cu prea multe pagini:</p>
<p>$ dig +norec +noH +noques +nostats +nocmd prep.ai.mit.edu.<br />
;; res options: init defnam dnsrch<br />
;; got answer:<br />
; flags: qr ra; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13<br />
;; AUTHORITY SECTION:<br />
.                       5d23h48m47s IN NS  I.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  E.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  D.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  A.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  H.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  C.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  G.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  F.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  B.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  J.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  K.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  L.ROOT-SERVERS.NET.<br />
.                       5d23h48m47s IN NS  M.ROOT-SERVERS.NET.</p>
<p>;; ADDITIONAL SECTION:<br />
I.ROOT-SERVERS.NET.     6d23h48m47s IN A  192.36.148.17<br />
E.ROOT-SERVERS.NET.     6d23h48m47s IN A  192.203.230.10<br />
D.ROOT-SERVERS.NET.     6d23h48m47s IN A  128.8.10.90<br />
A.ROOT-SERVERS.NET.     6d23h48m47s IN A  198.41.0.4<br />
H.ROOT-SERVERS.NET.     6d23h48m47s IN A  128.63.2.53<br />
C.ROOT-SERVERS.NET.     6d23h48m47s IN A  192.33.4.12<br />
G.ROOT-SERVERS.NET.     6d23h48m47s IN A  192.112.36.4<br />
F.ROOT-SERVERS.NET.     6d23h48m47s IN A  192.5.5.241<br />
B.ROOT-SERVERS.NET.     6d23h48m47s IN A  128.9.0.107<br />
J.ROOT-SERVERS.NET.     6d23h48m47s IN A  198.41.0.10<br />
K.ROOT-SERVERS.NET.     6d23h48m47s IN A  193.0.14.129<br />
L.ROOT-SERVERS.NET.     6d23h48m47s IN A  198.32.64.12<br />
M.ROOT-SERVERS.NET.     6d23h48m47s IN A  202.12.27.33</p>
<p>Aceasta este referinta. Ne ofera doar o &#8220;sectiune autoritativa&#8221;<br />
nu o &#8220;sectiune de raspuns&#8221;. Propriul nostru nameserver ne raporteaza<br />
la alt nameserver. Alegeti la intamplare:</p>
<p>$ dig +norec +noH +noques +nostats +nocmd<br />
prep.ai.mit.edu. @H.ROOT-SERVE<br />
; (1 server found)<br />
;; res options: init defnam dnsrch<br />
;; got answer:<br />
; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 3<br />
;; AUTHORITY SECTION:<br />
MIT.EDU.                2D IN NS        BITSY.MIT.EDU.<br />
MIT.EDU.                2D IN NS        STRAWB.MIT.EDU.<br />
MIT.EDU.                2D IN NS        W20NS.MIT.EDU.</p>
<p>;; ADDITIONAL SECTION:<br />
BITSY.MIT.EDU.          2D IN A         18.72.0.3<br />
STRAWB.MIT.EDU.         2D IN A         18.71.0.151<br />
W20NS.MIT.EDU.          2D IN A         18.70.0.160</p>
<p>Se refera la serverele MIT.EDU odata. Din nou, alegeti unul la intamplare:</p>
<p>$ dig +norec +noH +noques +nostats +nocmd prep.ai.mit.edu. @bitsy.mit.edu<br />
; (1 server found)<br />
;; res options: init defnam dnsrch<br />
;; got answer:<br />
; flags: qr ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4<br />
;; ANSWER SECTION:<br />
prep.ai.mit.edu.        3h50m7s IN A    198.186.203.18</p>
<p>;; AUTHORITY SECTION:<br />
AI.MIT.EDU.             6H IN NS        FEDEX.AI.MIT.EDU.<br />
AI.MIT.EDU.             6H IN NS        LIFE.AI.MIT.EDU.<br />
AI.MIT.EDU.             6H IN NS        ALPHA-BITS.AI.MIT.EDU.<br />
AI.MIT.EDU.             6H IN NS        BEET-CHEX.AI.MIT.EDU.</p>
<p>;; ADDITIONAL SECTION:<br />
FEDEX.AI.MIT.EDU.       6H IN A         192.148.252.43<br />
LIFE.AI.MIT.EDU.        6H IN A         128.52.32.80<br />
ALPHA-BITS.AI.MIT.EDU.  6H IN A         128.52.32.5<br />
BEET-CHEX.AI.MIT.EDU.   6H IN A         128.52.32.22</p>
<p>DE data aceasta avem o &#8220;sectiune de raspuns&#8221; si un raspuns la interogarea<br />
noastra. &#8220;Sectiunea autoritativa&#8221; contine informatii despre ce servere<br />
sa interogam despre ai.mit.edu data viitoare. Asa ca le puteti interoga<br />
data viitoare direct despre ce nume va intereseaza din domeniul ai.mit.edu.</p>
<p>Deci pornind de la &#8220;.&#8221; am gasit serverele de nume pentru fiecare nivel<br />
in numele de domeniu, prin referinte. Daca ati folosit propriul<br />
server de nume in loc de alte servere,<br />
nameserverul dumneavoastra a stocat, bineinteles in cache, toata<br />
informatia pe care a gasit-o &#8220;sapand&#8221; (comanda &#8220;dig&#8221;) pentru aceasta, si<br />
nu va trebui sa cerceteze mult pentru raspunsuri, un timp.</p>
<p>In structura arborescenta analoga, fiecare &#8220;.&#8221; este un punct<br />
de ramificatie si fiecare parte intre &#8220;.&#8221; reprezinta<br />
numele ramurilor individuale in arbore. Unul urca pe arbore luand numele<br />
pe care il dorim (prep.ai.mit.edu) intreband root-ul &#8220;.&#8221; sau orice<br />
server parinte dinspre root  catre prep.ai.mit.edu despre care<br />
avem informatii in cache. Odata ce limitele cache-ului<br />
sunt atinse, rezolverul recursiv &#8220;iese&#8221; interogand serverele, obtinand<br />
referinte (margini &#8211; edges) in nume.</p>
<p>Un domeniu mai putin discutat, dar la fel de important<br />
este in-addr.arpa. Este de asemeni catalogat ca un domeniu &#8220;normal&#8221; ne<br />
permite sa obtinem numele host-ului cand ii cunoastem adresa. Un lucru<br />
important de retinut aici este ca adresele IP sunt scrise in<br />
ordine inversa in domeniul in-addr.arpa. Daca aveti adresa unei masini, de<br />
exemplu 192.148.52.43, named procedeaza ca in exemplul cu<br />
prep.ai.mit.edu:<br />
cauta serverele arpa. , cauta serverele in-addr.arpa, cauta serverele<br />
192.in-addr.arpa. , cauta serverele 148.192.in-addr.arpa., cauta serverele<br />
52.148.192.in-addr.arpa. , cauta inregistrarile necesare pentru<br />
43.52.148.192.in-addr.arpa. Inteligent, nu? (Spuneti &#8220;da&#8221;.) Reversia<br />
numerelor poate crea confuzie.</p>
<p>5.2. Propriul nostru domeniu</p>
<p>Acum sa definim propriul nostru domeniu. Vom face domeniul linux.bogus<br />
si vom defini masini in el. Voi folosi nume de domenii total aiurea,<br />
astfel incat sa ne asiguram ca nu deranjam pe nimeni Acolo Afara.</p>
<p>Inca un lucru inainte de a incepe. Nu toate caracterele sunt permise<br />
in numele de domenii. Suntem restrictionati la caracterele din alfabetul<br />
englez: a-z si numere 0-9 si caracterul &#8220;-&#8221;. Limitati-va la aceste<br />
caractere. Caracterele majuscule si minuscule sunt identice pentru DNS,<br />
deci pat.uio.no este identic cu Pat.Uio.No.</p>
<p>Am pornit deja aceasta parte cu o linie in named.conf:</p>
<p>______________________________________________________________________<br />
zone &#8220;0.0.127.in-addr.arpa&#8221; {<br />
type master;<br />
file &#8220;pz/127.0.0&#8243;;<br />
};<br />
______________________________________________________________________</p>
<p>Va rog sa observati lipsa lui &#8220;.&#8221; la sfarsitul numelor de domeniu in acest<br />
fisier. Acesta spune ca acum vom definit zona 0.0.127.in-addr.arpa, care<br />
este serverul master pentru ea si care este stocat in fisierul numit<br />
pz/127.0.0. Deja am configurat acest fisier, care arata:</p>
<p>______________________________________________________________________<br />
$TTL 3D<br />
@               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (<br />
1       ; Serial<br />
8H      ; Refresh<br />
2H      ; Retry<br />
4W      ; Expire<br />
1D)     ; Minimum TTL<br />
NS      ns.linux.bogus.<br />
1                       PTR     localhost.<br />
______________________________________________________________________</p>
<p>Observati &#8220;.&#8221; la sfarsitul fiecarui nume de domeniu in acest fisier,<br />
in contrast cu named.conf de mai sus. Unii prefera sa inceapa fiecare zona<br />
cu directiva $ORIGIN, dar aceasta configurare este superflua. Originea<br />
(din care face parte ierarhia DNS) unei fisier zona este specificata<br />
in sectiunea &#8220;zone&#8221; din fisierul named.conf; in acest caz este<br />
0.0.127.in-addr.arpa.</p>
<p>Acest &#8220;fisier zona&#8221; contine 3 &#8220;inregistrari resursa&#8221; (RR): A SOA RR.  A NS<br />
RR si un PTR RR. SOA este prescurtarea pentru Start of Authority. &#8220;@&#8221;<br />
este notatia speciala semnificand originea, si cum coloana &#8220;domain&#8221; pentru<br />
acest fisier indica 0.0.127.in-addr.arpa, prima linie inseamna in realitate:</p>
<p>0.0.127.in-addr.arpa.   IN      SOA &#8230;</p>
<p>NS este name server RR. Nu este nici un &#8220;@&#8221; la inceputul acestei linii;<br />
este implicit pentru ca inceputul liniei anterioare incepe cu un &#8220;@&#8221;. Va<br />
scuteste de redactat. Astfel, linia NS poate fi scrisa deasemeni:</p>
<p>0.0.127.in-addr.arpa.   IN      NS      ns.linux.bogus</p>
<p>Aceasta spune DNS-ului ce masina este name-serverul pentru<br />
domeniul 0.0.127.in-addr.arpa, este ns.linux.bogus. &#8220;ns&#8221; este un nume<br />
uzitat pentru serverele de nume, dar ca si pentru serverele web care<br />
sunt numite www.ceva numele poate fi oricare.</p>
<p>Si, in final, inregistrarea PTR (Domain Name Pointer &#8211; Pointerul Numelui<br />
de Domeniu) arata ca hostul de la adresa 1 din<br />
subnetul 0.0.127.in-addr.arpa, de exemplu 127.0.0.1 este numit localhost.</p>
<p>Inregistrarea SOA este preambulul tuturor fisierelor de zona, si ar trebui<br />
sa fie exact cate una pentru fiecare fisier de zona. Aceasta descrie zona,<br />
de unde vine (o masina numita ns.linux.bogus), cine este responsabil<br />
pentru continutul ei (hostmaster@linux.bogus; ar trebui sa inserati adresa<br />
dumneavoastra de e-mail aici), ce versiune a fisierului zona este (serial:1)<br />
si alte lucruri care au de-a face cu cachingul si serverele DNS secundare.<br />
Pentru restul campurilor (refresh, retry, expire si minimum)<br />
folositi numerele utilizate in acest HOWTO si ar trebui sa fiti in<br />
siguranta. Inainte de SOA apare o linie esentiala, linia $TTL 3D. Puneti<br />
in ea toate fisierele de zona.</p>
<p>Acum reporniti named (cu comanda ndc restart) si folositi &#8220;dig&#8221; pentru a<br />
examina rezultatele. -x cere o interogare inversa:</p>
<p>$ dig -x 127.0.0.1</p>
<p>; &lt;&lt;&gt;&gt; DiG 8.2 &lt;&lt;&gt;&gt; -x<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 4<br />
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0<br />
;; QUERY SECTION:<br />
;;      1.0.0.127.in-addr.arpa, type = ANY, class = IN</p>
<p>;; ANSWER SECTION:<br />
1.0.0.127.in-addr.arpa.  1D IN PTR  localhost.</p>
<p>;; AUTHORITY SECTION:<br />
0.0.127.in-addr.arpa.   1D IN NS        ns.penguin.bv.</p>
<p>;; Total query time: 5 msec<br />
;; FROM: lookfar to SERVER: default &#8212; 127.0.0.1<br />
;; WHEN: Sat Dec 16 01:13:48 2000<br />
;; MSG SIZE  sent: 40  rcvd: 110</p>
<p>Deci se descurca sa obtina localhostul din 127.0.0.1, e OK. Acum, pentru<br />
scopul nostru principal, inserati o noua sectiune zona (&#8220;zone&#8221;) in<br />
named.conf:</p>
<p>______________________________________________________________________<br />
zone &#8220;linux.bogus&#8221; {<br />
notify no;<br />
type master;<br />
file &#8220;pz/linux.bogus&#8221;;<br />
};<br />
______________________________________________________________________</p>
<p>Observati din nou lipsa &#8220;.&#8221; din numele de domeniu din fisierul named.conf.<br />
In fisierul zona linux.bogus vom pune niste date total aiurea.</p>
<p>______________________________________________________________________<br />
;<br />
; Zone file for linux.bogus<br />
;<br />
; The full zone file<br />
;<br />
$TTL 3D<br />
@       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (<br />
199802151       ; serial, todays date + todays serial<br />
8H              ; refresh, seconds<br />
2H              ; retry, seconds<br />
4W              ; expire, seconds<br />
1D )            ; minimum, seconds<br />
;<br />
NS      ns              ; Inet Address of name server<br />
MX      10 mail.linux.bogus     ; Primary Mail Exchanger<br />
MX      20 mail.friend.bogus.   ; Secondary Mail Exchanger<br />
;<br />
localhost       A       127.0.0.1<br />
ns              A       192.168.196.2<br />
mail            A       192.168.196.4<br />
______________________________________________________________________</p>
<p>Doua lucruri trebuie observate in legatura cu inregistrarea SOA:<br />
ns.linux.bogus trebuie sa fie o masina cu inregistrare &#8220;A&#8221;. Nu este in<br />
regula sa avem o inregistrarea CNAME pentru masina mentionata in<br />
inregistrarea SOA. Numele ei nu este obligatoriu sa fie &#8220;ns&#8221;, poate<br />
fi orice nume &#8220;legal&#8221;, acceptabil, de host. Apoi, hostmaster.linux.bogus<br />
trebuie citit ca hostmaster@linux.bogus. Acesta ar trebui sa fie un mail<br />
alias sau un mailbox (cutie postala) unde persoanele care intretin DNS-ul<br />
ar trebui sa citeasca frecvent mailul. Orice mail privind domeniul va fi<br />
trimis la adresa listata aici. Numele nu e necesar<br />
sa fie &#8220;hostmaster&#8221;, paote fi adresa dumneavoastra normala<br />
de e-mail, dar adresa de e-mail &#8220;hostmaster&#8221; ar trebui sa functioneze<br />
la fel de bine.</p>
<p>Exista un tip nou &#8220;RR&#8221; in acest fisier, RR-ul &#8220;MX&#8221;-ului sau<br />
Mail Exchanger-ului. Acesta indica sistemului de e-mail unde<br />
sa trimita mailul adresat cuiva@linux.bogus, dupa nume<br />
mail.linux.bogus sau mail.friend.bogus. Numerele din fata fiecarei<br />
masini este prioritatea RR-ului MailExchangerului. RR-ul<br />
cu cel mai mic numar (10) este unde mailul ar trebui sa fie trimis daca<br />
este posibil. Daca acesta rateaza, mailul va fi trimis urmatorului<br />
cu numar mai mare, un manager de e-mail secundar (mail handler),<br />
de exemplu mail.friend.bogus, care are prioritatea 20 aici.</p>
<p>Restartati named cu &#8220;ndc restart&#8221;. Examinati rezultatul cu &#8220;dig&#8221;:</p>
<p>$ dig any linux.bogus +pfmin<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 23499<br />
;; QUERY: 1, ANSWER: 4, AUTHORITY: 1, ADDITIONAL: 1<br />
;; QUERY SECTION:<br />
;;      linux.bogus, type = ANY, class = IN</p>
<p>;; ANSWER SECTION:<br />
linux.bogus.            3D IN MX        10 mail.linux.bogus.linux.bogus.<br />
linux.bogus.            3D IN MX        20 mail.friend.bogus.<br />
linux.bogus.            3D IN NS        ns.linux.bogus.<br />
linux.bogus.            3D IN SOA       ns.linux.bogus.hostmaster.linux<br />
199802151       ; serial<br />
8H              ; refresh<br />
2H              ; retry<br />
4W              ; expiry<br />
1D )            ; minimum</p>
<p>Examinand cu atentie rezultatele de mai sus, veti descoperi o hiba. Linia</p>
<p>linux.bogus.            3D IN MX		10 mail.linux.bogus.linux.bogus.</p>
<p>este total gresita. Ar trebui sa fie:</p>
<p>linux.bogus.            3D IN MX        10 mail.linux.bogus.</p>
<p>Am facut intentionat o greseala, ca sa puteti invata din ea <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Privind<br />
in fisierul zona, vom observa aceasta linie;</p>
<p>MX      10 mail.linux.bogus     ; Primary Mail Exchanger</p>
<p>Lipseste un punct. Sau are prea multe &#8220;linux.bogus&#8221;. Daca un nume de<br />
masina nu se termina cu punct intr-un fisier zona, originea este adaugata<br />
la sfarsitul lui, cauzand dublura linux.bogus.linux.bogus. Asa ca ori</p>
<p>______________________________________________________________________<br />
MX      10 mail.linux.bogus.    ; Primary Mail Exchanger<br />
______________________________________________________________________</p>
<p>ori</p>
<p>______________________________________________________________________<br />
MX      10 mail                 ; Primary Mail Exchanger<br />
______________________________________________________________________</p>
<p>este corect. Prefer ultima forma, e mai putin de scris.<br />
Sunt anumiti experti in BIND care dezaproba, si altii care aproba aceasta.<br />
Intr-un fisier zona, domeniul ar trebui sa fie ori scris si terminat<br />
in &#8220;.&#8221; ori ne inclus deloc, caz in care ramane implicita originea.</p>
<p>Trebuie sa va stresez cu ideea ca in fisierul named.conf nu trebuie sa fie<br />
semne &#8220;.&#8221; dupa numele de domenii. N-aveti idee de cate ori<br />
prea multe sau prea putine &#8220;.&#8221; au pus in stare de confuzie utilizatorii.</p>
<p>Deci, ideea mea aici este noul fisier zona , cu cateva informatii in plus:</p>
<p>______________________________________________________________________<br />
;<br />
; Zone file for linux.bogus<br />
;<br />
; The full zone file<br />
;<br />
$TTL 3D<br />
@       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (<br />
199802151       ; serial, todays date + todays serial<br />
8H              ; refresh, seconds<br />
2H              ; retry, seconds<br />
4W              ; expire, seconds<br />
1D )            ; minimum, seconds<br />
;<br />
TXT     &#8220;Linux.Bogus, your DNS consultants&#8221;<br />
NS      ns              ; Inet Address of name server<br />
NS      ns.friend.bogus.<br />
MX      10 mail         ; Primary Mail Exchanger<br />
MX      20 mail.friend.bogus. ; Secondary Mail Exchanger</p>
<p>localhost       A       127.0.0.1</p>
<p>gw              A       192.168.196.1<br />
HINFO   &#8220;Cisco&#8221; &#8220;IOS&#8221;<br />
TXT     &#8220;The router&#8221;</p>
<p>ns              A       192.168.196.2<br />
MX      10 mail<br />
MX      20 mail.friend.bogus.<br />
HINFO   &#8220;Pentium&#8221; &#8220;Linux 2.0&#8243;<br />
www             CNAME   ns</p>
<p>donald          A       192.168.196.3<br />
MX      10 mail<br />
MX      20 mail.friend.bogus.<br />
HINFO   &#8220;i486&#8243;      &#8220;Linux 2.0&#8243;<br />
TXT     &#8220;DEK&#8221;</p>
<p>mail            A       192.168.196.4<br />
MX      10 mail<br />
MX      20 mail.friend.bogus.<br />
HINFO   &#8220;386sx&#8221; &#8220;Linux 1.2&#8243;</p>
<p>ftp             A       192.168.196.5<br />
MX      10 mail<br />
MX      20 mail.friend.bogus.<br />
HINFO   &#8220;P6&#8243; &#8220;Linux 2.1.86&#8243;<br />
______________________________________________________________________</p>
<p>Aici sunt cateva noi RR-uri: HINFO (Host INFOrmation) are doua parti; e un<br />
obicei bun sa le comentati pe fiecare. Prima parte este harware-ul si<br />
CPU-ul din respectiva masina, iar a doua parte<br />
este software-ul sau sitemul de operare de pe masina. Masina &#8220;ns&#8221; este<br />
un Pentium si ruleaza Linux 2.0. CNAME (Canonical NAME) este o cale de a<br />
da fiecarei masini mai multe nume. Deci &#8220;www&#8221; este un alias pentru &#8220;ns&#8221;.</p>
<p>Utilizarea inregistrarii CNAME este controversata. Dar e in OK sa urmati<br />
regula potrivit careia o inregistrare MX, CNAME sau SOA nu trebuie sa nu<br />
se refere niciodata la o inregistrare CNAME, trebuie intotdeauna sa se<br />
refere la o inregistrare &#8220;A&#8221;, deci este inadmisibil sa avem:</p>
<p>______________________________________________________________________<br />
foobar          CNAME   www                     ; NO!<br />
______________________________________________________________________</p>
<p>dar corect sa avem</p>
<p>______________________________________________________________________<br />
foobar          CNAME   ns                      ; Yes!<br />
______________________________________________________________________</p>
<p>Este de asemeni sigur sa presupunem ca un CNAME nu este un nume de<br />
host corect pentru o adresa de e-mail: webmaster@www.linux.bogus<br />
este o adresa de e-mail ilegala, incorecta, data de configurarea de mai sus.<br />
Va puteti chiar astepta la cativa administratori de e-mail de Afara sa<br />
restrictioneze aceasta regula, daca pentru<br />
dumneavoasta functioneaza. Calea pentru a evita aceasta este sa folositi<br />
inregistrari &#8220;A&#8221; (si poate si altele, cum ar fi reguli MX) in loc:</p>
<p>______________________________________________________________________<br />
www             A       192.168.196.2<br />
______________________________________________________________________</p>
<p>Un numar de arch-BIND-wizards recomanda sa nu utilizati de loc<br />
CNAME. Dar discutia legata aceasta nu face obiectul acestui HOWTO.</p>
<p>Dar cum vedeti, acest HOWTO si multe site-uri nu urmeaza aceasta regula.</p>
<p>Incarcati noua baza de date cu &#8220;ndc reload&#8221; ceea ce il obliga<br />
pe named sa-si reciteasca fisierele.</p>
<p>$ dig linux.bogus axfr</p>
<p>; &lt;&lt;&gt;&gt; DiG 8.2 &lt;&lt;&gt;&gt; linux.bogus axfr<br />
$ORIGIN linux.bogus.<br />
@                       3D IN SOA       ns hostmaster (<br />
199802151       ; serial<br />
8H              ; refresh<br />
2H              ; retry<br />
4W              ; expiry<br />
1D )            ; minimum</p>
<p>3D IN NS        ns<br />
3D IN NS        ns.friend.bogus.<br />
3D IN MX        10 mail<br />
3D IN MX        20 mail.friend.bogus.<br />
3D IN TXT       &#8220;Linux.Bogus, your DNS consultants&#8221;<br />
gw                      3D IN TXT       &#8220;The router&#8221;<br />
3D IN HINFO     &#8220;Cisco&#8221; &#8220;IOS&#8221;<br />
3D IN A         192.168.196.1<br />
localhost               3D IN A         127.0.0.1<br />
mail                    3D IN HINFO     &#8220;386sx&#8221; &#8220;Linux 1.2&#8243;<br />
3D IN MX        10 mail<br />
3D IN MX        20 mail.friend.bogus.<br />
3D IN A         192.168.196.4<br />
www                     3D IN CNAME     ns<br />
donald                  3D IN TXT       &#8220;DEK&#8221;<br />
3D IN HINFO     &#8220;i486&#8243; &#8220;Linux 2.0&#8243;<br />
3D IN MX        10 mail<br />
3D IN MX        20 mail.friend.bogus.<br />
3D IN A         192.168.196.3<br />
ns                      3D IN HINFO     &#8220;Pentium&#8221; &#8220;Linux 2.0&#8243;<br />
3D IN MX        10 mail<br />
3D IN MX        20 mail.friend.bogus.<br />
3D IN A         192.168.196.2<br />
ftp                     3D IN HINFO     &#8220;P6&#8243; &#8220;Linux 2.1.86&#8243;<br />
3D IN MX        10 mail<br />
3D IN MX        20 mail.friend.bogus.<br />
3D IN A         192.168.196.5<br />
@                       3D IN SOA       ns hostmaster (<br />
199802151       ; serial<br />
8H              ; refresh<br />
2H              ; retry<br />
4W              ; expiry<br />
1D )            ; minimum</p>
<p>;; Received 29 answers (29 records).<br />
;; FROM: lookfar to SERVER: 127.0.0.1<br />
;; WHEN: Sat Dec 16 01:35:05 2000</p>
<p>Asta e bine. Si observati ca arata chiar ca fisierul zona. Sa verificam ce<br />
spune doar pentru www:</p>
<p>$ dig www.linux.bogus +pfmin<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 27345<br />
;; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 1<br />
;; QUERY SECTION:<br />
;;      www.linux.bogus, type = A, class = IN</p>
<p>;; ANSWER SECTION:<br />
www.linux.bogus.        3D IN CNAME     ns.linux.bogus.<br />
ns.linux.bogus.         3D IN A         192.168.196.2</p>
<p>Cu alte cuvinte, numele real al lui www.linux.bogus este ns.linux.bogus,<br />
si va da si cateva informatii despre &#8220;ns&#8221; de asemeni, suficient pentru a<br />
va conecta la el daca cere un program.</p>
<p>Acum suntem la jumatatea drumului.</p>
<p>5.3. Zona reverse</p>
<p>Acum programele pot converti numele din linux.bogus in adrese la care se<br />
conecteaza. Dar de asemeni este ceruta o zona reverse, una care sa<br />
faca DNS-ul capabil sa converteasca adresele in nume. Acest nume<br />
este folosit de o multime de servere de diverse tipuri (FTP, WWW, IRC si<br />
altele) pentru a decide daca vor comunica cu dumneavoastra sau nu, si daca<br />
da, ce prioritate vi se va acorda. Pentru acces deplin la toate serviciile<br />
Internet , o zona reverse este necesara.</p>
<p>Puneti aceasta in named.conf:</p>
<p>______________________________________________________________________<br />
zone &#8220;196.168.192.in-addr.arpa&#8221; {<br />
notify no;<br />
type master;<br />
file &#8220;pz/192.168.196&#8243;;<br />
};<br />
______________________________________________________________________</p>
<p>Este exact acelasi lucru ca si cu 0.0.127.in-addr.arpa si continuturile<br />
sunt similare:</p>
<p>______________________________________________________________________<br />
$TTL 3D<br />
@       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (<br />
199802151 ; Serial, todays date + todays serial<br />
8H      ; Refresh<br />
2H      ; Retry<br />
4W      ; Expire<br />
1D)     ; Minimum TTL<br />
NS      ns.linux.bogus.</p>
<p>1               PTR     gw.linux.bogus.<br />
2               PTR     ns.linux.bogus.<br />
3               PTR     donald.linux.bogus.<br />
4               PTR     mail.linux.bogus.<br />
5               PTR     ftp.linux.bogus.<br />
______________________________________________________________________</p>
<p>Acum restartati named-ul cu &#8220;ndc restart&#8221; si examinati rezultatele cu &#8220;dig&#8221;:</p>
<p>______________________________________________________________________<br />
$ dig -x 192.168.196.4 +pfmin<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 8764<br />
;; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1<br />
;; QUERY SECTION:<br />
;;      4.196.168.192.in-addr.arpa, type = ANY, class = IN</p>
<p>;; ANSWER SECTION:<br />
4.196.168.192.in-addr.arpa.  3D IN PTR  mail.linux.bogus.<br />
______________________________________________________________________</p>
<p>deci arata OK, executati &#8220;dig&#8221; pentru toata configuratia pentru a o examina:</p>
<p>______________________________________________________________________<br />
dig -x 192.168.196 AXFR</p>
<p>; &lt;&lt;&gt;&gt; DiG 8.2 &lt;&lt;&gt;&gt; -x AXFR<br />
$ORIGIN 196.168.192.in-addr.arpa.<br />
@                       3D IN SOA       ns.linux.bogus. hostmaster.linux.bogus. (<br />
199802151       ; serial<br />
8H              ; refresh<br />
2H              ; retry<br />
4W              ; expiry<br />
1D )            ; minimum</p>
<p>3D IN NS        ns.linux.bogus.<br />
4                   3D IN PTR       mail.linux.bogus.<br />
2                   3D IN PTR       ns.linux.bogus.<br />
5                   3D IN PTR       ftp.linux.bogus.<br />
3                   3D IN PTR       donald.linux.bogus.<br />
1                   3D IN PTR       gw.linux.bogus.<br />
@                   3D IN SOA       ns.linux.bogus. hostmaster.linux.bogus. (<br />
199802151       ; serial<br />
8H              ; refresh<br />
2H              ; retry<br />
4W              ; expiry<br />
1D )            ; minimum</p>
<p>;; Received 8 answers (8 records).<br />
;; FROM: lookfar to SERVER: 127.0.0.1<br />
;; WHEN: Sat Dec 16 01:44:03 2000<br />
____________________________________________________________________</p>
<p>Arata bine! Daca output-ul dumneavoastra nu arata la fel, cautati eroarea<br />
in mesajele din syslog. Am explicat cum sa faceti aceasta in prima<br />
sectiune la paragraful &#8220;Pornirea lui named&#8221;.</p>
<p>5.4. Cuvinte de atentionare.</p>
<p>Trebuie sa adaug niste lucruri aici. Numerele IP utilizate in exemplele de<br />
mai sus sunt luate din blocul &#8220;retelelor private&#8221;, ele nu sunt permise a<br />
se utiliza in Internet, deci sunt potrivite a fi utilizate intr-un exemplu<br />
ca acest HOWTO. Al doilea lucru este numarul de notificare:linia. Acesta<br />
ii spune lui named sa nu notifice serverele secundare (slave)<br />
cand a suferit o actualizare la unul dintre fisierele sale &#8220;zone&#8221;. In BIND 8<br />
named poate notifica celelalte servere listate in inregistrarile NS in<br />
fisierul &#8220;zone&#8221; cand o zona este actualizata. Aceasta situatie<br />
este avantajoasa in mod normal. Dar pentru experimente private<br />
cu zone, aceasta optiune ar trebui sa fie dezactivata &#8211; nu vrem sa<br />
poluam Internetul cu experimentele noastre, nu?</p>
<p>Si, bineinteles, acest domeniu este total aiurea si la fel<br />
sunt toate adresele din el. Pentru un exemplu real vedeti urmatoarea<br />
sectiune principala.</p>
<p>5.5. De ce nu functioneaza interogarile inverse (reverse lookups).</p>
<p>Sunt cateva &#8220;chestii&#8221; care in mod normal sunt evitate la interogarile<br />
de nume vazute adesea la configurarea zonelor inverse. Inainte<br />
de a trece mai departe, trebuie ca pe masinile dumneavoastra, interogarile<br />
inverse sa fie functionale pe propriul nameserver. Daca nu functioneaza,<br />
reveniti si puneti totul la punct inainte de a continua.</p>
<p>Voi discuta doua situatii de nefunctionare a interogarilor<br />
inverse, asa cum sunt vazute din afara retelei dumneavoastra.</p>
<p>5.5.1 Zona inversa nu este investita.</p>
<p>Cand cereti unui provider o plaja de adrese si un nume de domeniu,<br />
numele de domeniu este in mod normal investit. Investirea este &#8220;eticheta&#8221;<br />
pe care NS (Name Server) o inregistreaza si care va ajuta sa treceti de la<br />
un nameserver la altul, asa cum am explicat in &#8220;teoria seaca&#8221; de mai<br />
sus. Ati citit aceasta, nu-i asa? Daca zona inversa nu functioneaza,<br />
reveniti si cititi-o. Acum.</p>
<p>Zona inversa trebuie de asemeni investita. Daca aveti clasa 192.168.196 de<br />
la provider cu domeniul linux.bogus, ei trebuie sa insereze inregistrarile<br />
NS atat pentru zona directa (forward) cat si pentru cea inversa. Daca<br />
urmati lantul de la in-addr.arpa in sus pana la reteaua dvs, probabil<br />
gasiti o ruptura in acest lant, cel mai probabil la providerul dvs. Gasind<br />
ruptura din lant, contactati providerul si cereti-i sa corecteze eroarea.</p>
<p>5.5.2. Aveti un subnet fara clase.</p>
<p>Acesta este oarecum un subiect avansat, dar subneturile fara clase sunt<br />
ceva comun in ziua de azi si probabil ca aveti unul daca sunteti intr-o<br />
firma mica.</p>
<p>Un subnet fara clase este ceea ce tine Internetul in picioare in<br />
zilele noastre. Cu cativa ani in urma au fost discutii intense cu privire<br />
la limitarile adreselor IP. Tipii de la IETF (Internet Engineering<br />
Task Force &#8211; ei mentin Internetul in stare de functionare) si-au stors<br />
creierii si au rezolvat problema. Cu un pret. Pretul este ca veti<br />
obtine mai putin de un subnet de clasa &#8220;C&#8221; si unele lucruri s-ar putea<br />
sa crape. Va rog consultati ASK MR DNS la:<br />
&lt;http://www.acmebw.com/askmrdns/00007.htm&gt; pentru o buna explicatie<br />
cu privire la aceste lucruri, si cum sa va descurcati.</p>
<p>Ati citit-o? Eu nu o voi explica, asa ca, va rog cititi-o!</p>
<p>Prima parte a acestei probleme este ca ISP-ul dvs. trebuie<br />
sa inteleaga tehnica descrisa de Mr. DNS. Nu toti ISP-stii mici au habar<br />
de aceasta problema. Daca asa sta treaba, va trebui sa le explicati<br />
problema si sa si insistati. Asigurati-va ca ati inteles-o dvs. intai. <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ei vor configura atunci o zona inversa foarte draguta pe serverul lor,<br />
pe care o puteti examina spre corectitudine cu &#8220;dig&#8221;.</p>
<p>A doua si ultima parte a problemei este ca trebuie sa intelegeti<br />
tehnica. Daca nu sunteti sigur, reveniti si recititi-o. Atunci puteti sa<br />
va configurati propria zona inversa fara clase, asa cum este descrisa<br />
de Mr. DNS.</p>
<p>Mai e o capcana care pandeste aici. Rezolverele vechi nu vor fi capabile<br />
sa urmeze &#8220;fenta&#8221; cu CNAME in lantul de rezolvare si vor esua in<br />
incercarea de a rezolva invers masina dvs. Rezultatul poate fi acela<br />
ca serverul ii aloca o clasa de acces incorecta,<br />
interzicerea accesului sau ceva de genul aceasta. Daca va impotmoliti<br />
intr-un asemena serviciu, singura solutie (despre care am cunostinta) este<br />
pentru ISP sa insereze inregistrarea dvs. PTR direct in fisierul zonei<br />
fara clase in loc de inregistrare CNAME.</p>
<p>Alte ISP-uri ofera alte cai de a rezolva aceasta problema, cum ar fi<br />
formularele bazate pe Web care va permit sa va introduceti maparile inverse.</p>
<p>5.6. Servere slave (sclav)</p>
<p>Odata ce v-ati setat corect zonele pe serverele master, trebuie sa<br />
configurati macar un server slave (&#8220;sclav&#8221;). Serverele slave sunt necesare<br />
pentru a asigura robustetea serviciilor. Daca serverul master a picat,<br />
oamenii de pe internet vor putea totusi primit date despre doemeniu de<br />
la serverul slave. Un server slave ar trebui sa fie cat mai indepartat<br />
de dvs posibil si sa imparta cu serverul master cat mai<br />
putine din resursele de alimentare cu energie, LAN, ISP, oras, tara.<br />
Daca toate aceste lucruri sunt diferite de ale serverului master, aveti un<br />
bun server slave.</p>
<p>Un server slave este pur si simplu un nameserver care copie fisierele zone<br />
de la master. Il configurati astfel:</p>
<p>______________________________________________________________________<br />
zone &#8220;linux.bogus&#8221; {<br />
type slave;<br />
file &#8220;sz/linux.bogus&#8221;;<br />
masters { 192.168.196.2; };<br />
};<br />
______________________________________________________________________</p>
<p>Un mecanism numit trasfer de zone este folosit pentru a copia datele.<br />
Transferul de zone este controlat de inregistrarea SOA:</p>
<p>______________________________________________________________________<br />
@       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (<br />
199802151       ; serial, todays date + todays serial<br />
8H              ; refresh, seconds<br />
2H              ; retry, seconds<br />
4W              ; expire, seconds<br />
1D )            ; minimum, seconds<br />
______________________________________________________________________</p>
<p>O zona este transferata doar daca numarul serial al masterului este mai<br />
mare decat al slave-ului. Dupa fiecare interval de refresh, slave-ul<br />
va verifica daca masterul a fost actualizat.<br />
Daca verificarea esueaza (pentru ca masterul nu este disponibil)<br />
va reincerca verificarea. Daca va continua sa esueze atat timp cat dureaza<br />
intervalul de expirare, slave-ul va sterge zona din propriul sistem de<br />
fisiere si nu va mai actiona ca server pentru acea zona.</p>
<p>6. Optiuni fundamentale de securitate.</p>
<p>de Jamie Norrish</p>
<p>Seterea optiunilor de configurare pentru a reduce posibilitatea aparitiei<br />
problemelor</p>
<p>Sunt cativa pasi simpli pe care ii puteti parcurge si care va vor asigura<br />
un server mai sigur si totodata ii vor reduce incarcarea. Materialul<br />
prezentat aici nu este mai mult decat un puct de plecare. Daca va preocupa<br />
securitatea (si ar trebui sa va preocupe), va rog sa consultati si<br />
alte resurse de pe Internet (vedeti &#8220;ultimul capitol&#8221;).</p>
<p>Urmatoarele directive de configurare apar in named.conf.<br />
Daca o directiva apare in sectiunea &#8220;options&#8221; din fisier, se<br />
aplica tuturor zonelor listate in acel fisier. Daca apare in optiunile<br />
unei zone, se aplica numai acelei zone. On optiune dintr-o<br />
zona suprascrie, anuleaza o inregistrare din zona &#8220;options&#8221;.</p>
<p>6.1. Restrictionarea trasferului pe zone.</p>
<p>Pentru ca serverele slave sa fie capabile sa raspunda interogarilor spre<br />
domeniul dvs. trebuie sa fie capabile sa transfere informatia zona de la<br />
serverul primar. In foarte putine cazuri e nevoie de aceasta. De<br />
aceea, restrictionati transferurile pe zona, folosind optiunea<br />
&#8220;allow-trasfer&#8221;. Presupunand ca 194.168.1.4 este adresa IP a lui<br />
ns.friend.bogus, si adaugandu-va in scop de depanare:</p>
<p>______________________________________________________________________<br />
zone &#8220;linux.bogus&#8221; {<br />
allow-transfer { 192.168.1.4; localhost; };<br />
};<br />
______________________________________________________________________</p>
<p>Restrictionand transferul pe zone, va asigurati ca singura<br />
informatie disponibila utilizatorilor este cea pe care acestia o cer<br />
direct = nimeni nu poate cere, interoga toate detaliile configurarii dvs.</p>
<p>6.2. Protectia impotriva spoofing-ului.</p>
<p>In primul rand, dezactivati orice interogari pentru domenii care nu va<br />
apartin, cu exceptia masinii dvs. interne/locale. Aceasta nu<br />
doar preintampina utilizarea frauduloasa a serverului dvs. DNS, dar reduce<br />
si utilizarea ne-necesara a acestuia.</p>
<p>______________________________________________________________________<br />
options {<br />
allow-query { 192.168.196.0/24; localhost; };<br />
};</p>
<p>zone &#8220;linux.bogus&#8221; {<br />
allow-query { any; };<br />
};</p>
<p>zone &#8220;196.168.192.in-addr.arpa&#8221; {<br />
allow-query { any; };<br />
};<br />
______________________________________________________________________</p>
<p>Mai departe, dezactivati interogarile recursive cu exceptia celor de<br />
la masinile locale/interne. Aceasta reduce riscul atacurilor<br />
prin &#8220;otravirea&#8221; cache-ului, cand date false alimenteaza serverul.</p>
<p>______________________________________________________________________<br />
options {<br />
allow-recursion { 192.168.196.0/24; localhost; };<br />
};<br />
______________________________________________________________________</p>
<p>6.3. Rularea lui named ca non-root.</p>
<p>Este o idee buna sa rulati named ca utilizator altul decat root, asa incat<br />
daca acesta este compromis, privilegiile castigate de catre cracker<br />
sa fie cat mai limitate. Intai trebuie sa creati un grup si un<br />
utilizator sub care named sa ruleze, si apoi sa modificati scriptul pe<br />
care il folositi pentru a porni named. Transferati noul grup si utilizator<br />
catre named folosind flagurile -d si -u.</p>
<p>De exemplu, in Debian GNU/Linux 2.2 ati putea modifica scriptul /etc/init.d/bind<br />
pentru a contine urmatoarea linie (unde userul si grupul &#8220;named&#8221; au fost<br />
deja create):</p>
<p>______________________________________________________________________<br />
start-stop-daemon &#8211;start &#8211;quiet &#8211;exec /usr/sbin/named &#8212; -u named -g named<br />
______________________________________________________________________</p>
<p>La fel se procedeaza si cu RedHat si cu celelalte distributii. Dave Lugo a<br />
descris un setup dual chroot<br />
&lt;http://www.etherboy.com/dns/chrootdns.html&gt; care s-ar putea<br />
sa fie interesant de citit.</p>
<p>7. Un exemplu real de domeniu.</p>
<p>Unde vom lista fisiere reale de zona.</p>
<p>Utilizatorii mi-au sugerat sa includ un exemplu real de domeniu, ca si<br />
unul tutorial, de instructaj.</p>
<p>Folosesc acest exemplu cu permisiunea lui David Bullock de la LAND-5.<br />
Aceste fisiere dateaza din 24 septembrie 1996, si au fost editate pentru a<br />
se conforma restrictiilor BIND 8 si folosesc extensii scrise<br />
de mine. Deci, ceea ce vedeti aici s-ar putea sa difere de ceea<br />
ce ati putea afla interogand LAND-5 acum.</p>
<p>7.1.  /etc/named.conf (sau /var/named/named.conf)</p>
<p>Aici gasim zona master pentru cele doua zone inverse necesare: reteaua<br />
127.0.0  si subreteaua (subnetul) de la LAND-5  206.6.177 ca linie primara<br />
pentru zona de forward a LAND-5 land-5.com. Observati ca in loc ca toate<br />
fisierele sa fie adunate nu in directorul &#8220;pz&#8221; asa cum am facut in acest<br />
HOWTO, le pune intr-un director numit &#8220;zone&#8221;.</p>
<p>______________________________________________________________________<br />
// Boot file for LAND-5 name server</p>
<p>options {<br />
directory &#8220;/var/named&#8221;;<br />
};</p>
<p>zone &#8220;.&#8221; {<br />
type hint;<br />
file &#8220;root.hints&#8221;;<br />
};</p>
<p>zone &#8220;0.0.127.in-addr.arpa&#8221; {<br />
type master;<br />
file &#8220;zone/127.0.0&#8243;;<br />
};</p>
<p>zone &#8220;land-5.com&#8221; {<br />
type master;<br />
file &#8220;zone/land-5.com&#8221;;<br />
};</p>
<p>zone &#8220;177.6.206.in-addr.arpa&#8221; {<br />
type master;<br />
file &#8220;zone/206.6.177&#8243;;<br />
};<br />
______________________________________________________________________</p>
<p>Daca puneti aceasta in fisierul dvs. named.conf spre a va juca, VA ROG<br />
puneti &#8220;notify no: &#8221; in sectiunea zone, pentru cele doua zone land-5,<br />
spre a evita incidentele.</p>
<p>7.2.  /var/named/root.hints</p>
<p>Tineti minte ca acest fisier este dinamic, iar cel listat aici este<br />
vechi. Mai bine folositi unul produs cu &#8220;dig&#8221; asa cum am<br />
explicat mai devreme:</p>
<p>______________________________________________________________________<br />
; &lt;&lt;&gt;&gt; DiG 8.1 &lt;&lt;&gt;&gt; @A.ROOT-SERVERS.NET.<br />
; (1 server found)<br />
;; res options: init recurs defnam dnsrch<br />
;; got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 10<br />
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13<br />
;; QUERY SECTION:<br />
;;      ., type = NS, class = IN</p>
<p>;; ANSWER SECTION:<br />
.                     6D IN NS        G.ROOT-SERVERS.NET.<br />
.                     6D IN NS        J.ROOT-SERVERS.NET.<br />
.                     6D IN NS        K.ROOT-SERVERS.NET.<br />
.                     6D IN NS        L.ROOT-SERVERS.NET.<br />
.                     6D IN NS        M.ROOT-SERVERS.NET.<br />
.                     6D IN NS        A.ROOT-SERVERS.NET.<br />
.                     6D IN NS        H.ROOT-SERVERS.NET.<br />
.                     6D IN NS        B.ROOT-SERVERS.NET.<br />
.                     6D IN NS        C.ROOT-SERVERS.NET.<br />
.                     6D IN NS        D.ROOT-SERVERS.NET.<br />
.                     6D IN NS        E.ROOT-SERVERS.NET.<br />
.                     6D IN NS        I.ROOT-SERVERS.NET.<br />
.                     6D IN NS        F.ROOT-SERVERS.NET.</p>
<p>;; ADDITIONAL SECTION:<br />
G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4<br />
J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10<br />
K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129<br />
L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12<br />
M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33<br />
A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4<br />
H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53<br />
B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107<br />
C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12<br />
D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90<br />
E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10<br />
I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17<br />
F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241</p>
<p>;; Total query time: 215 msec<br />
;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET.  198.41.0.4<br />
;; WHEN: Sun Feb 15 01:22:51 1998<br />
;; MSG SIZE  sent: 17  rcvd: 436<br />
______________________________________________________________________</p>
<p>7.3.  /var/named/zone/127.0.0</p>
<p>Doar bazele, inregistrarea SOA obligatorie, si o inregistrare<br />
care mapeaza 127.0.0.1 catre localhost. Ambele sunt necesare. Nimic mai<br />
mult nu ar trebui sa fie in acest fisier. Nu vor<br />
trebui niciodata updatate, decat daca nameserver-ul sau adresa hostmaster<br />
a dvs se modifica.</p>
<p>______________________________________________________________________<br />
@               IN      SOA     land-5.com. root.land-5.com. (<br />
199609203       ; Serial<br />
28800   ; Refresh<br />
7200    ; Retry<br />
604800  ; Expire<br />
86400)  ; Minimum TTL<br />
NS      land-5.com.</p>
<p>1                       PTR     localhost.<br />
______________________________________________________________________</p>
<p>Daca veti cauta intr-o instalare BIND aleatorie, veti observa probabil<br />
ca linia $TTL lipseste. Nu a fost folosita inainte si doar versiunea 8.2<br />
BIND avertizeaza asupra lipsei acesteia. Va recomand sa puneti linia $TTL<br />
in fisierele zona cand observati ca lipseste.</p>
<p>7.4.  /var/named/zone/land-5.com</p>
<p>Aici observam inregistrarea SOA obligatorie, inregistrarea<br />
NS necesara. Putem vedea ca are un nameserver secundar la ns2.psi.net. Asa<br />
ar trebui sa fie, intotdeauna sa fie un al doilea nameserver<br />
in afara retelei, ca backup. Observam ca exista un host master numit<br />
land-5 care se ocupa de multiplele servicii Internet, si ca acesta<br />
este inregistrat cu CNAME ( o alternativa este utilizarea inregistrarii A).</p>
<p>Asa cum vedem din inregistrarea SOA, fisierul zona incepe cu land-5.com,<br />
persoana de contact este root@land-5.com. hostmaster este o alta<br />
adresa folosita adesea pentru persoana de contact. Numarul serial este<br />
obisnuitul format yyyymmdd cu numarul serial de astazi adaugat. Aceasta<br />
este probabil a sasea versiune a fisierului zona, din 20<br />
septembrie 1996. Tineti minte ca numarul serial trebuie sa creasca<br />
monoton, aici este un singur digit pentru numarul serial de astazi, dupa 9<br />
editari va trebui sa astepam pana maine inainte<br />
de a edita din nou fisierul. Ganditi-ba la posibilitatea de a folosi 2<br />
digiti.</p>
<p>______________________________________________________________________<br />
@       IN      SOA     land-5.com. root.land-5.com. (<br />
199609206       ; serial, todays date + todays serial<br />
8H              ; refresh, seconds<br />
2H              ; retry, seconds<br />
4W              ; expire, seconds<br />
1D )            ; minimum, seconds<br />
NS      land-5.com.<br />
NS      ns2.psi.net.<br />
MX      10 land-5.com.  ; Primary Mail Exchanger<br />
TXT     &#8220;LAND-5 Corporation&#8221;</p>
<p>localhost       A       127.0.0.1</p>
<p>router          A       206.6.177.1</p>
<p>land-5.com.     A       206.6.177.2<br />
ns              A       206.6.177.3<br />
www             A       207.159.141.192</p>
<p>ftp             CNAME   land-5.com.<br />
mail            CNAME   land-5.com.<br />
news            CNAME   land-5.com.</p>
<p>funn            A       206.6.177.2</p>
<p>;<br />
;       Workstations<br />
;<br />
ws-177200       A       206.6.177.200<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177201       A       206.6.177.201<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177202       A       206.6.177.202<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177203       A       206.6.177.203<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177204       A       206.6.177.204<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177205       A       206.6.177.205<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
; {Many repetitive definitions deleted &#8211; SNIP}<br />
ws-177250       A       206.6.177.250<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177251       A       206.6.177.251<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177252       A       206.6.177.252<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177253       A       206.6.177.253<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
ws-177254       A       206.6.177.254<br />
MX      10 land-5.com.   ; Primary Mail Host<br />
______________________________________________________________________</p>
<p>Daca veti examina nameserverul lui land-5, veti observa ca numele<br />
hosturilor sunt exprimate in forma ws_number. De la ultimele versiuni de<br />
BIND4 ,named a inceput sa intareasca restrictiile in legatura<br />
cu caracterele ce pot fi folosite in numele hosturilor. Asa ca aceasta<br />
nu functioneaza sub BIND8, asa ca am inlocuit caracterul &#8220;-&#8221; (liniuta)<br />
cu caracterul &#8220;_&#8221; pentru a fi folosit in acest HOWTO.</p>
<p>Un alt lucru de remarcat este ca statiile de lucru nu au nume individuale,<br />
ci mai curand un prefix urmat de doua din ultimile parti ale<br />
IP-ului. Folosirea unei astfel de conventii poate simplifica<br />
intretinerea semnificativ, dar poate fi un pic impersonala si,<br />
in fapt, o sursa de iritare printre clientii dumneavoastra.</p>
<p>De asemeni, observam ca funn.land-5.com este un alias<br />
pentru land-5.com, dar folosind inregistrarea A nu CNAME. Aceasta este o<br />
buna politica, asa cum am spus si mai devreme.</p>
<p>7.5.  /var/named/zone/206.6.177</p>
<p>Voi face comentariile dupa acest fisier:</p>
<p>______________________________________________________________________<br />
@               IN      SOA     land-5.com. root.land-5.com. (<br />
199609206       ; Serial<br />
28800   ; Refresh<br />
7200    ; Retry<br />
604800  ; Expire<br />
86400)  ; Minimum TTL<br />
NS      land-5.com.<br />
NS      ns2.psi.net.<br />
;<br />
;       Servers<br />
;<br />
1       PTR     router.land-5.com.<br />
2       PTR     land-5.com.<br />
2       PTR     funn.land-5.com.<br />
;<br />
;       Workstations<br />
;<br />
200     PTR     ws-177200.land-5.com.<br />
201     PTR     ws-177201.land-5.com.<br />
202     PTR     ws-177202.land-5.com.<br />
203     PTR     ws-177203.land-5.com.<br />
204     PTR     ws-177204.land-5.com.<br />
205     PTR     ws-177205.land-5.com.<br />
; {Many repetitive definitions deleted &#8211; SNIP}<br />
250     PTR     ws-177250.land-5.com.<br />
251     PTR     ws-177251.land-5.com.<br />
252     PTR     ws-177252.land-5.com.<br />
253     PTR     ws-177253.land-5.com.<br />
254     PTR     ws-177254.land-5.com.<br />
______________________________________________________________________</p>
<p>Zona inversa este partea de configurare care da dureri de cap. Este<br />
folosita pentru a identifica numele de host daca aveti IP-ul<br />
unei masini. Exemplu: sunteti un server IRC si acceptati conexiuni de la<br />
clientii IRC. Oricum, sunteti un server norvegian si acceptati<br />
doar conexiuni de la clientii din Norvegia si celelalte tari scandinave.<br />
Cand primiti o conexiune de la un client, biblioteca C e capabila sa<br />
va spune IP-ul masinii client, pentru ca numarul IP este continut in toate<br />
pachetele care traverseaza reteaua. Acum puteti invoca o functie<br />
numita gethostbyaddr care cauta numele unui host avand data adresa IP.<br />
Gethostbyaddr va interoga un server DNS, care va traversa reteaua<br />
de servere DNS cautand masina respectiva. Sa presupunem ca conexiunea client<br />
este de la ws-177200.land-5.com. Numarul IP pe care biblioteca C il<br />
livreaza catre serverul IRC este 206.6.177.200. Pentru a afla numele<br />
acelei masini trebuie sa gasim 200.177.6.206.in-addr.arpa. Serverul DNS va<br />
trebui intai sa gaseasca serverele arpa. , apoi in-addr.arpa. ,<br />
urmand calea inversa spre 206, apoi 6, in final gasind serverul pentru<br />
177.6.206.in-addr.arpa la LAND-5. De unde va lua raspunsul final, cum ca<br />
pentru 200.177.6.206.in-addr.arpa avem o inregistrare &#8220;PTR<br />
ws-177200.land-5.com&#8221; insemnand ca numele care insoteste 206.6.177.200<br />
este ws-177200.land-5.com.</p>
<p>Inapoi la exemplul cu serverele IRC. Serverul IRC accepta doar conexiuni<br />
din tari scandinave, de exemplu:  *.no, *.se, *.dk, numele<br />
ws-177200.land-5.com e clar ca nu indeplineste aceasta conditie si<br />
serverul ii va respinge conexiunea. Daca nu a fost<br />
mapare inversa a lui 206.2.177.200 prin zona in-addr.arpa serverul nu va<br />
fi capabil sa gaseasca numele deloc si nici sa compare 206.2.177.200<br />
cu *.no, *.se and *.dk, asa ca acestea nu se vor potrivi nicicum.</p>
<p>Unii va vor spune ca maparea inversa nu este importanta pentru servere sau<br />
nu este importanta deloc. Nu este asa: multe servere FTP, news, IRC<br />
si unele servere WWW (web) nu vor accepta conexiuni de la masini ale caror<br />
nume nu le pot afla. Deci maparea inversa este de fapt obligatorie<br />
si necesara.</p>
<p>8. Intretinere.</p>
<p>Tineti-l in viata.</p>
<p>Exista o sarcina de intretinere cand aveti de-a face cu named-uri, alta<br />
decat a le mentine ruland. Aceea de a mentine fisierul<br />
root.hints actualizat, la zi. Cea mai usoara cale este cu &#8220;dig&#8221;. Prima<br />
data rulati &#8220;dig&#8221; fara nici un argument, si veti obtine datele din<br />
&#8220;root.hints&#8221; conform propriului nameserver. Apoi interogati unul<br />
dintre rootservere listate cu &#8220;dig @rootserver&#8221;. Veti observa ca<br />
rezultatul seamana foarte bine cu un<br />
fisier &#8220;root.hints&#8221;. Salvati-l intr-un fisier (dig<br />
@e.root-servers.net . ns &gt;root.hints.new) si inlocuiti vechiul<br />
root.hints cu el.</p>
<p>Nu uitati sa restartati named dupa inlocuirea fisierului cache.</p>
<p>Al Longyear mi-a trimis acest script care rulat, poate actualiza automat<br />
fisierul root.hints. Instalati-l intr-o intrare crontab pentru a<br />
fi rulat odata pe luna si puteti uita de el. Scriptul presupune ca<br />
va merge serviciul de mail si ca este definita adresa de hostmaster.<br />
Puteti sa il modificati pentru a se potrivi configuratiei dvs.</p>
<p>______________________________________________________________________<br />
#!/bin/sh<br />
#<br />
# Update the nameserver cache information file once per month.<br />
# This is run automatically by a cron entry.<br />
#<br />
# Original by Al Longyear<br />
# Updated for BIND 8 by Nicolai Langfeldt<br />
# Miscelanious error-conditions reported by David A. Ranch<br />
# Ping test suggested by Martin Foster<br />
# named up-test suggested by Erik Bryer.<br />
#<br />
(<br />
echo &#8220;To: hostmaster &lt;hostmaster&gt;&#8221;<br />
echo &#8220;From: system &lt;root&gt;&#8221;</p>
<p># Is named up? Check the status of named.<br />
case &#8216;ndc status 2&gt;&amp;1 in<br />
*&#8217;cannot connect to command channel&#8217;*)<br />
echo &#8220;named is DOWN. root.hints was NOT updated&#8221;<br />
echo<br />
exit 0<br />
;;<br />
esac<br />
PATH=/sbin:/usr/sbin:/bin:/usr/bin:<br />
export PATH<br />
# NOTE: /var/named must be writable only by trusted users or this script<br />
# will cause root compromise/denial of service opportunities.<br />
cd /var/named 2&gt;/dev/null || {<br />
echo &#8220;Subject: Cannot cd to /var/named, error $?&#8221;<br />
echo<br />
echo &#8220;The subject says it all&#8221;<br />
exit 1<br />
}</p>
<p># Are we online?  Ping a server at your ISP<br />
case &#8216;ping -qnc 1 some.machine.net 2&gt;&amp;1&#8242; in<br />
*&#8217;100% packet loss&#8217;*)<br />
echo &#8220;Subject: root.hints NOT updated.  The network is DOWN.&#8221;<br />
echo<br />
echo &#8220;The subject says it all&#8221;<br />
exit 1<br />
;;<br />
esac</p>
<p>dig @e.root-servers.net . ns &gt;root.hints.new 2&gt; errors</p>
<p>case &#8216;cat root.hints.new&#8217; in<br />
*NOERROR*)<br />
# It worked<br />
:;;<br />
*)<br />
echo &#8220;Subject: The root.hints file update has FAILED.&#8221;<br />
echo<br />
echo &#8220;The root.hints update has failed&#8221;<br />
echo &#8220;This is the dig output reported:&#8221;<br />
echo<br />
cat root.hints.new errors<br />
exit 1<br />
;;<br />
esac</p>
<p>echo &#8220;Subject: The root.hints file has been updated&#8221;<br />
echo<br />
echo &#8220;The root.hints file has been updated to contain the following<br />
information:&#8221;<br />
echo<br />
cat root.hints.new</p>
<p>chown root.root root.hints.new<br />
chmod 444 root.hints.new<br />
rm -f root.hints.old errors<br />
mv root.hints root.hints.old<br />
mv root.hints.new root.hints<br />
ndc restart<br />
echo<br />
echo &#8220;The nameserver has been restarted to ensure that the update is complete&#8221;<br />
echo &#8220;The previous root.hints file is now called<br />
/var/named/root.hints.old.&#8221;<br />
) 2&gt;&amp;1 | /usr/lib/sendmail -t<br />
exit 0<br />
______________________________________________________________________</p>
<p>Unii dintre dvs v-ati prins ca fisierul root.hints este disponibil<br />
prin ftp din Internic. Va rog nu folositi ftp<br />
pentru a actualiza root.hints, metoda de mai sus este mult mai prietenoasa<br />
pentru net si Internic.</p>
<p>9. Conversia de la versiunea 4 la versiunea 8.</p>
<p>Aceasta a fost la inceput o sectiune despre folosirea lui BIND 8 scrisa de<br />
David E.  Smith (dave@bureau42.ml.org). Am editat cate ceva pentru a<br />
se potrivi noului nume al sectiunii.</p>
<p>Nu sunt prea multe de spus. Cu exceptia inlocuirii fisierului named.boot<br />
cu named.conf, restul este identic. Iar BIND 8 vine cu un script PERL care<br />
converteste totul de la vechiul la noul format. Exemplu de fisier<br />
named.boot (vechiul stil) pentru caching nameserver:</p>
<p>______________________________________________________________________<br />
directory /var/named<br />
cache   .                                     root.hints<br />
primary 0.0.127.IN-ADDR.ARPA                    127.0.0.zone<br />
primary localhost                               localhost.zone<br />
______________________________________________________________________</p>
<p>In linia de comanda, in directorul bind8/src/bin/named (aceasta presupune<br />
ca aveti sursele distributiei). Daca aveti pachetul binar, scriptul e prin<br />
preajma&#8230; Dati comanda :</p>
<p>______________________________________________________________________<br />
./named-bootconf.pl &lt; named.boot &gt; named.conf<br />
______________________________________________________________________</p>
<p>care va crea named.conf:</p>
<p>______________________________________________________________________<br />
// generated by named-bootconf.pl</p>
<p>options {<br />
directory &#8220;/var/named&#8221;;<br />
};</p>
<p>zone &#8220;.&#8221; {<br />
type hint;<br />
file &#8220;root.hints&#8221;;<br />
};</p>
<p>zone &#8220;0.0.127.IN-ADDR.ARPA&#8221; {<br />
type master;<br />
file &#8220;127.0.0.zone&#8221;;<br />
};</p>
<p>zone &#8220;localhost&#8221; {<br />
type master;<br />
file &#8220;localhost.zone&#8221;;<br />
};<br />
______________________________________________________________________</p>
<p>Functioneaza pentru orice intra intr-un fisier named.boot, desi nu<br />
adauga toate imbunatatirile si optiunile de configuratie pe care<br />
le permite BIND8. Aici este un named.conf care face aceleasi<br />
lucruri, dar ceva mai eficient:</p>
<p>______________________________________________________________________<br />
// This is a configuration file for named (from BIND 8.1 or later).<br />
// It would normally be installed as /etc/named.conf.<br />
// The only change made from the tock&#8217; named.conf (aside from this<br />
// comment <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  is that the directory line was uncommented, since I<br />
// already had the zone files in /var/named.</p>
<p>options {<br />
directory &#8220;/var/named&#8221;;<br />
datasize 20M;<br />
};</p>
<p>zone &#8220;localhost&#8221; IN {<br />
type master;<br />
file &#8220;localhost.zone&#8221;;<br />
};</p>
<p>zone &#8220;0.0.127.in-addr.arpa&#8221; IN {<br />
type master;<br />
file &#8220;127.0.0.zone&#8221;;<br />
};</p>
<p>zone &#8220;.&#8221; IN {<br />
type hint;<br />
file &#8220;root.hints&#8221;;<br />
};<br />
______________________________________________________________________</p>
<p>In directorul bind8/src/bin/named/test din distributia BIND 8<br />
gasiti aceasta si copii ale fisierelor zona, pe care multi utilizatori<br />
le pot instala si folosi ca atare. Formatele pentru fisierele root.hints<br />
si fisierele zone sunt identice, ca si comenzile  pentru actualizarea lor.</p>
<p>10 Intrebari si raspunsuri.</p>
<p>Va rog sa cititi aceasta sectiune inainte de a imi trimite e-mail.</p>
<p>1. named-ul meu &#8220;vrea&#8221; un fisier named.boot</p>
<p>Cititi un HOWTO gresit.Vedeti vechea versiune a acestui HOWTO, care<br />
studiaza BIND4 la &lt;http://www.math.uio.no/~janl/DNS/&gt;</p>
<p>2. Cum folosesc DNS-ul  din interiorul unui firewall ?</p>
<p>Indicatie: forward-only . Sau puteti folosi</p>
<p>___________________________________________________________________<br />
query-source port 53;</p>
<p>___________________________________________________________________</p>
<p>in sectiunea &#8220;options&#8221; a lui named.conf.</p>
<p>3. Cum fac DNS-ul sa se &#8220;plimbe&#8221; prin adresele disponibile, pentru<br />
un serviciu, sa zicem www.busy.site, pentru a obtine un efect de<br />
egalizare a incarcarii (loadbalancing), sau similar?</p>
<p>Faceti cateva inregistrari &#8220;A&#8221; pentru www.busy,site  si folositi BIND<br />
4.9.3 sau mai nou. Atunci, BIND va functiona ca perpetuum-mobile in<br />
cautare de raspunsuri. Nu va functiona cu versiuni mai vechi de BIND.</p>
<p>4. Vreau sa configurez un DNS intr-un Intranet (inchis). Cum fac?</p>
<p>Lasati fisierul root.hints si ocupati-va numai de fisierele zone.<br />
Asta inseamna de asemeni ca nu trebuie sa actualizati fiserul .hint<br />
tot timpul</p>
<p>5. Cum configurez un server secundar (slave) ?</p>
<p>Daca serverul primar/master are adresa 127.0.0.1, puneti o linie ca<br />
aceasta in named.conf-ul de la serverul secundar:</p>
<p>___________________________________________________________________<br />
zone &#8220;linux.bogus&#8221; {<br />
type slave;<br />
file &#8220;sz/linux.bogus&#8221;;<br />
masters { 127.0.0.1; };<br />
};</p>
<p>___________________________________________________________________</p>
<p>Puteti lista si alte servere master de unde pot fi copiate zonele,<br />
separate de punct si virgula &#8220;;&#8221;</p>
<p>6. Vreau sa rulez BIND cand sunt deconectat de la Internet.</p>
<p>Sunt patru chestiuni privind aceasta problema:</p>
<p>- Specific lui BIND 8, Adam L Rice mi-a trimis acest e-mail despre cum<br />
sa rulezi DNS fara dureri de cap pe o masina dialup:</p>
<p>Am descoperit in noile versiuni ca acest fisier [&lt;em/shuffeling files,<br />
-ed/] nu mai este necesar. Exista o directiva &#8220;forward&#8221; pe linga<br />
&#8220;forwarderi&#8221;, directiva care controleaza cum aceastia sunt<br />
utilizati. Setarea implicita este &#8220;forward first&#8221;, care interogheaza intai<br />
fiecare dintre &#8220;forwarderi&#8221;, apoi incearca abordarea normala<br />
daca prima varianta esueaza. Aceasta face ca functia gethostbyname() sa se<br />
comporte familiar, luand un timp foarte lung cand legatura<br />
nu functioneaza. Dar daca &#8220;forward only&#8221; este setat, BIND renunta cand<br />
nu primeste un raspuns de la forwarderi iar gethostbyname() raspunde<br />
imediat.</p>
<p>In cazul meu, am adaugat liniile:</p>
<p>forward only;<br />
forwarders { 193.133.58.5; };</p>
<p>in sectiunea options { } din fisierul meu named.conf. Functioneaza<br />
foarte frumos, singurul dezavantaj este ca reduce o incredibil<br />
de sofisticata masinarie software care este DNS la statutul de cache<br />
chior. As fi preferat sa pot rula un cache simplu in loc, dar nu exita asa<br />
ceva care sa inlocuiasca DNS pentru Linux.</p>
<p>- Am receptionat acest mail de la Ian Clark &lt;ic@deakin.edu.au&gt; unde<br />
el explica modul in care face aceasta:</p>
<p>Rulez named pe masina mea &#8220;masquerade&#8221; (cu mascaradare). Am doua fisiere<br />
root.hints, unul numita root.hints.real care contine numele reale ale<br />
root-serverelor si celalalt numit root.hints.fake care contine&#8230;</p>
<p>&#8212;-<br />
; root.hints.fake<br />
; this file contains no information<br />
&#8212;-</p>
<p>cand inchid conexiunea (dialup), copii root.hints.fake peste root.hints si<br />
restartez named.<br />
Cand pornesc conexiunea, copii root.hints.real peste root.hints<br />
si restartez named. Asta o fac din ip-up si ip-down. Prima data cand fac o<br />
interogare offline pe un nume de domeniu, named nu are detalii de oferit<br />
si pune o intrare ca aceasta in mesaje:</p>
<p>Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN</p>
<p>care nu ma deranjeaza.</p>
<p>Deci functioneaza cu siguranta. Pot folosi nameserverul pentru<br />
masinile locale cand sunt deconectat de la Internet fara intarzieri de<br />
timeout pentru interogarile domeniilor externe.</p>
<p>Peter Denison crede ca Ian nu a ajuns prea departe. El scrie:</p>
<p>Cand sunt conectat) alimenteaza toate intrarile din cache (si reteaua locala)<br />
imediat, pentru intrarile reinregistrate in cache,<br />
forward catre nameserver-ul ISP-ului</p>
<p>Cand nu sunt conectat) alimenteaza interogarile retelei locale<br />
imediat, abandoneaza orice alte interogari IMEDIAT</p>
<p>Combinatia dintre schimbarea fisierului root cache si interogarile forward<br />
nu functioneaza.</p>
<p>Deci am configurat (cu unele discutii pe Linux User Group-ul local) doua<br />
named-uri, dupa cum urmeaza:</p>
<p>named-online:   forwards to ISPs nameserver<br />
master for localnet zone<br />
master for localnet reverse zone (1.168.192.in-addr.arpa)<br />
master for 0.0.127.in-addr.arpa<br />
listens on port 60053</p>
<p>named-offline:  no forwarding<br />
&#8220;fake&#8221; root cache file<br />
slave for 3 local zones (master is 127.0.0.1:60053)<br />
listens on port 61053</p>
<p>Si combinand aceasta cu port-forwarding-ul, pentru a trimite portul<br />
53 catre portul 61053 cand suntem off-line si catre portul 60053 cand<br />
suntem online (folosesc noul pachet netfilter sub 2.3.18, dar si vechiul<br />
mecanism ipchains functioneaza).</p>
<p>Observati ca aceasta nu va merge chiar &#8220;din tzeava&#8221; de vreme ce exista<br />
un mic bug in BIND 8.2 pe care l-am semnalat dezvoltatorilor,<br />
care impiedica un server slave sa aiba un master pe aceiasi adresa iP<br />
(chiar si pe un port diferit).</p>
<p>- Am primit informatii despre cum BIND interactioneaza cu NFS si<br />
portmapper-ul pe o masina mai mult off-line, de la Karl-Max Wanger :</p>
<p>Obisnuiesc sa rulez propriul meu named pe toate masinile care se<br />
conecteaza ocazional la Internet prin modem. Nameserverul singur<br />
actioneaza ca un cache, nu are nici o arie de autoritate, si<br />
interogheaza serverele din fisierul root.cache. Ca de obicei in Slackware,<br />
este pornit inainte de nfsd si mountd.</p>
<p>Cu una dintre masinile mele (un notebook Libretto 30) am avut probleme<br />
ca adesea nu puteam sa il montez dintr-un sistem conectat la reteaua mea<br />
LAN. Aceleasi probleme le aveam si din punct de vedere<br />
al legaturilor PPP sau PLIP.</p>
<p>Dupa ceva timp de cercetari si experimente am constatat ca named s-a<br />
incurcat in inregistrarea serviciilor initiate de nfsd si mountd precum si<br />
cu portmapper-ul. Pornind named-ul dupa nfsd si mountd, am scapat complet<br />
de probleme.</p>
<p>Cum nu sunt dezavantaje de asteptat in urma unei asemenea modificari<br />
in ordinea de boot, recomand tuturor sa treaca la aceasta,<br />
pentru a preintampina necazurile.</p>
<p>- In final, exista ceva informatii despre aceasta la Ask MR. DNS la<br />
&lt;http://www.acmebw.com/askmrdns/#linux-dialup&gt;.  Este despre BIND<br />
4, asa ca trebuie sa faceti adaptari la BIND 8.</p>
<p>7. Unde stocheaza caching-nameserver-ul cache-ul si cum pot controla<br />
dimensiunea acestuia?</p>
<p>Cache-ul este stocat complet in memorie, nu este scris pe disc in nici<br />
un moment. De fiecare data cand dati kill lui named, cache-ul este<br />
pierdut. Cache-ul nu este controlabil nicicum, named il controleaza dupa<br />
cateva reguli simple, si cam asta e tot. Nu puteti controla cache-ul sau<br />
dimensiunea acestuia nicicum si pentru nici un motiv. Daca<br />
doriti neaparat, puteti incerca sa hackuiti  named , dar nu este recomandat.</p>
<p>8. Named-ul salveaza cache-ul intre restart-uri? Pot sa il fac sa salveze?</p>
<p>NU, named nu salveaza cache-ul cand dispare. Aceasta inseamna ca<br />
cache-ul trebuie reconstruit de la zero de fiecare data cand named<br />
este repornit. Nu exista nici o metoda de a-l face pe named sa salveze<br />
cache-ul intr-un fisier.</p>
<p>9. Cum imi procur un domeniu? Vreau sa imi configurez propriul<br />
domeniu, denumit de exemplu linux-rules.net. Cum pot sa obtin domeniul<br />
pe care il doresc alocat mie?</p>
<p>Va rog sa va contactati provider-ul. Ei va vor putea ajuta cu<br />
aceasta. Aveti in vedere ca in cele mai multe parti ale lumii,<br />
aceast lucru costa (obtinerea unui nume de domeniu).</p>
<p>10. Cum securizez serverul meu DNS? Cum configurez un DNS split? (separat)</p>
<p>Ambele sunt chestiuni avansate si sunt analizate in<br />
&lt;http://www.etherboy.com/dns/chrootdns.html&gt;. de aceea nu le voi<br />
expune aici.</p>
<p>11. Cum sa devii un DNS de talie mare.</p>
<p>Documentatii si utilitare.</p>
<p>Exista documentatie &#8220;reala&#8221;. Online si tiparita. Citirea acesteia este<br />
necesara pentru a face pasul de la un administrator DNS de mica anvergura<br />
la unul de talie mare. Am tiparit Ghidul Concis al DNS si BIND<br />
(Nicolai Langfeldt) publicata de QUE (ISDN  0-7897-2273-9). Cartea seamana<br />
cu acest HOWTO. Doar mai multe detalii si mai multe despre toate aspectele.<br />
Dar cartea standard este &#8220;DNS and BIND  by C. Liu and P. Albitz<br />
from O&#8217;Reilly &amp; Associates (ISBN   0-937175-82-X). Este excelenta.<br />
Faceti rost de editia a 3-a, care acopera BIND 8 ca si BIND 4. Exista de<br />
asemeni o sectiune DNS si in TCP/IP Network Administration Guide. by Craig<br />
Hunt from O&#8217;Reilly (ISBN 0-937175-82-X).  O alta carte buna si pentru DNS<br />
si pentru orice este Zen and the Art of Motorcycle Maintenance (Zen si<br />
arta intretinerii motocicletei <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   de Robert M. Pirsig <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ISBN 0688052304\<br />
si altii.</p>
<p>Online veti gasi multe chestii la: &lt;http://www.dns.net/dnsrd/&gt; (DNS<br />
Resources Directory),  &lt;http://www.isc.org/bind.html&gt;; FAQ si manual<br />
de referinta  (BOG; BIND Operations Guide) ca si documente si definitii de<br />
protocol si &#8220;hack-uri&#8221; DNS (acestea &#8211; ma rog, nu toate- ca si RFC-urile<br />
sunt continute in distributia BIND). N-am citit chiar toate aceastea,<br />
dar nici mare administrator DNS nu sunt.  Arnt Gulbrandsen pe de<br />
alta parte a citit BOG (BIND Operation Guide) si este extaziat de acesta <img src='http://resurse-educationale.uv.ro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Newsgrupul   &lt;news:comp.protocols.tcp-ip.domains&gt;  este despre DNS.<br />
Pe langa asta, exista un numar de RFC-uri despre DNS, cele mai<br />
importante sunt probabil cele listate aici. Cele care au BCP (Best Current<br />
Practice) sunt cele mai recomandate.</p>
<p>RFC 2671<br />
P. Vixie, Extension Mechanisms for DNS (EDNS0) August 1999.</p>
<p>RFC 2317<br />
, BCP 20, H. Eidnes et. al. Classless IN-ADDR.ARPA delegation,<br />
March 1998. This is about CIDR, or classless subnet reverse<br />
lookups.</p>
<p>RFC 2308<br />
, M. Andrews, Negative Caching of DNS Queries, March 1998.<br />
About negative caching and the $TTL zone file directive.</p>
<p>RFC 2219<br />
, BCP 17, M. Hamilton and R. Wright, Use of DNS Aliases for<br />
Network Services, October 1997.  About CNAME usage.</p>
<p>RFC 2182<br />
, BCP 16, R. Elz et. al., Selection and Operation of Secondary<br />
DNS Servers, July 1997.</p>
<p>RFC 2052<br />
A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location<br />
of services (DNS SRV), October 1996</p>
<p>RFC 1918<br />
Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear,<br />
Address Allocation for Private Internets, 02/29/1996.</p>
<p>RFC 1912<br />
D. Barr, Common DNS Operational and Configuration Errors,<br />
02/28/1996.</p>
<p>RFC 1912 Errors<br />
B. Barr Errors in RFC 1912, this is available at<br />
&lt;http://www.cis.ohio-state.edu/~barr/rfc1912-errors.html&gt;</p>
<p>RFC 1713<br />
A. Romao, Tools for DNS debugging, 11/03/1994.</p>
<p>RFC 1712<br />
C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS Encoding of<br />
Geographical Location, 11/01/1994.</p>
<p>RFC 1183<br />
R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, New DNS RR<br />
Definitions, 10/08/1990.</p>
<p>RFC 1035<br />
P. Mockapetris, Domain names &#8211; implementation and specification,<br />
11/01/1987.</p>
<p>RFC 1034<br />
P. Mockapetris, Domain names &#8211; concepts and facilities,<br />
11/01/1987.</p>
<p>RFC 1033<br />
M. Lottor, Domain administrators operations guide, 11/01/1987.</p>
<p>RFC 1032<br />
M. Stahl, Domain administrators guide, 11/01/1987.</p>
<p>RFC 974<br />
C. Partridge, Mail routing and the domain system, 01/01/1986.</p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=162</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
