Servei de noms DNS en les xarxes TCP/IP
Introducció
Dins d'aquest apartat veurem
com dotar a la nostra xarxa local amb TCP/IP d'un servei de noms imprescindible
per al correcte funcionament dels serveis que implementarem més endavant.
El
contingut és el següent:
La xarxa
TCP/IP sense servei de noms
Cal un servei
de noms a la xarxa
Característiques
del servei DNS d'una xarxa local 'tancada'
Implementació
del servei DNS
Posada
en marxa del servei de noms
Configuració
dels clients
La xarxa TCP/IP
sense servei de noms
Una estructura de xarxa està
formada bàsicament per elements que es comuniquen entre ells.
En el nivell més baix,
els diferents sistemes es reconeixen utilizant l'adreça MAC de la
targeta de xarxa, formada per sis parells de dígits hexadecimals,
els tres parells inicials poden repetir-se, doncs indiquen el fabricant,
i els altres tres són diferents, composant una 'matrícula' única
per a cada dispositiu.
Per exemple, podem observar
l'adreça MAC de la placa de xarxa del nostre Linux executant:
# ifconfig -a
indicada com a 'HWaddr'
i de valor 00:50:56:C2:F4:C5, podem 'descobrir' el fabricant
destriant els tres primers parells:
00:50:56 - VMWARE, Inc
Aquests tres primers dígits
són 'propietat' de l'empresa VMWARE, i ha d'identificar sempre les seves
plaques de xarxa, de manera que comencin per aquestes xifres.
Podeu localitzar el fabricant
de qualsevol adreça MAC que vagi a parar a les vostres mans amb
l'ajut de la pàgina:
http://www.shmoo.com/tools/mac/
En el cas de les xarxes TCP/IP,
tenim uns identificadors de més alt nivell, l'adreça IP, que també
ha d'ésser únic per a cada element de la xarxa, i el nom
de la màquina (també anomenat nom de host).
Tal com s'ha comentat en
el glossari de termes, el tipus d'adreçament utilitzat dins les
xarxes 'tancades' amb TCP/IP (altrament dites intranets) està definit
per unes normes, per evitar 'trepitjar' adreces utilitzades a Internet.
10.0.0.0
- 10.255.255.255 ( una xarxa classe A )
172.16.0.0
- 172.31.255.255 ( 16 xarxes classe B )
192.168.0.0
- 192.168.255.255 ( 256 xarxes classe C )
En els centres s'utilitza
el rang 192.168.0.x, la primera de les 256 xarxes C disponibles.
Així doncs, si un
equip amb l'adreça 192.168.0.20 vol accedir als serveis d'una altra,
inicialment ha de conèixer la seva adreça IP i es veu obligat a
utilitzar-la per fer-ne referència des de qualsevol aplicació.
Per exemple, si una estació
amb l'adreça 192.168.0.20 vol consultar la pàgina web principal
del servidor linux, només hi podrà accedir des del navegador
indicant la URL:
http://192.168.0.2/
Per defecte no podrem adreçar-nos
a les màquines pel seu nom, i això ens obligaria a aprendre
de memòria totes les adreces IP de les màquines que ens donen
serveis.
Anem a veure com podem preparar
un servei de noms per poder dotar els equips de la xarxa de noms més
'amigables' i permetre configurar serveis referint-nos a aquests noms.
<-
Cal un servei de noms
a la xarxa
El servei de noms es presenta
com a imprescindible bàsicament per dues raons:
1.- Podem accedir als serveis
dels equips adreçant-nos a ells amb un nom 'clar' i fàcil
de recordar pels usuaris.
2.- Fem les configuracions
dels serveis utilitzant aquests noms en comptes de l'adreça IP,
aconseguint una flexibilitat molt interessant.
Per exemple, si teniu configurat
en els navegadors de les 120 màquines de la xarxa del centre, la
URL d'accés al fitxer de configuració automàtica del
proxy així:
http://192.168.0.2/proxy.pac
i us arriba un servidor molt
més potent amb una nova configuració més recomanable,
caldria canviar la configuració de totes les estacions... la nova
màquina té la IP 192.168.0.210... i la nova URL seria:
http://192.168.0.210/proxy.pac
quina feinada !
En canvi, si utilitzem el
servei de noms, podríem configurar-ho amb un nom, de manera que si ens
cal canviar el motor del servei i aquest té una altra IP, només
cal modificar la referència amb el mateix nom la nova IP...
Seguint l'exemple, si hi
ha servei de noms, la URL que podríem anomenar 'comodí' podria ser:
http://proxy.intracentre/proxy.pac
de manera que només
cal canviar dins el servei de noms, la IP que fa referència a 'proxy.intracentre'
de la 192.168.0.2 (antiga) a la 192.168.0.210. No caldrà tocar mai
més la configuració de les 120 estacions una per una...
Hem vist amb un exemple alguns
dels avantatges que ens pot oferir el servei de noms, n'hi ha molts més
que ja anireu descobrint amb la pràctica.
<-
Característiques
del servei DNS d'una xarxa local 'tancada'
|
El servei de noms dins les xarxes
TCP/IP s'anomena DNS (Domain Name System) i pot implementar-se de diferents
maneres, depenent del tipus de servei que ha de donar.
Bàsicament hi ha dos tipus
de configuració dels serveis de DNS:
1.- El DNS per al treball a Internet,
totalment públic. és l'encarregat d'escampar les adreces d'aquest
domini (un nom vàlid a Internet assignat per 'Internic', del tipus
nom.es per exemple) i resoldre les peticions adreçades a altres
dominis.
Dins aquest DNS només
hi poden aparèixer les IP totalment vàlides a Internet, i cal
una configuració força acurada del refresc de les modificacions
que s'hi puguin fer i la transferència d'aquesta informació
entre servidors.
2.- El DNS per al treball dins
una xarxa local, totalment privat. Serà l'encarregat de resoldre només les peticions de nom-IP / IP-nom de la seva xarxa.
Aquest DNS no pot tenir mai
cap relació directa amb Internet, les adreces que ell coneix
no poden publicar-se a l'exterior.
El servei que implementarem
serà el segon tipus, però amb un petit 'afegit', donat que
volem que les màquines de la xarxa interna puguin accedir a Internet.
El nostre DNS intern, que
no pot 'publicar' cap de les seves adreces a Internet, serà 'client'
mitjançant 'forwarding' del DNS Internet de la XTEC. Així,
si el nom demanat no el coneix directament, passarà la petició
i emmagatzemarà la resposta dins una petita cache, per servir-la quan
faci falta.
<-
Implementació
del servei DNS
Requeriments de programari
El servei DNS el fa efectiu
el 'paquet' Bind, que podeu trobar dins el CD-ROM del RedHat.
Si en el seu moment vau seguir
correctament la guia d'instal·lació, ja teniu en el sistema
els components necessaris per posar en marxa el servei, comproveu-ho executant:
# rpm -q -a | grep bind
verificant que apareixen
llistats els paquets:
bind-utils-8.2.2
bind-8.2.2
Estructura de fitxers
del servidor DNS
Els fitxers que composaran
la configuració bàsica del nostre servidor DNS, suposant
que treballarem dins la xarxa 192.168.0.x amb el nom intracentre,
són:
-> /etc/named.conf
-> Conté la configuració bàsica del DNS.
El contingut d'aquest fitxer
serà el següent:
named.conf
---------------------------------------
options {
directory
"/etc";
pid-file
"/var/run/named.pid";
forward
only;
forwarders
{
193.145.88.16;
193.145.88.18;
};
};
zone "intracentre" {
type master;
file "/etc/intracentre.hosts";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/192.168.0.rev";
};
--------------------------------------
El primer apartat ens marca
les opcions generals del servei de DNS, en el qual veiem la configuració
dels 'forwarders' que resoldran totes les peticions externes a la xarxa.
Les 'zones' indiquen el camí
dels arxius que conformen la base del DNS, en aquest cas tant senzill, només
hi ha una zona directa 'definida en el fitxer intracentre
i la seva corresponent inversa al 0.192.168.0.rev
-> /etc/intracentre.hosts
-> Zona directa, utilitzada per trobar les IP partint dels noms.
El contingut d'aquest fitxer
serà:
intracentre.hosts
------------------------------------------------------
intracentre. IN
SOA linux. root (
2000231101
10800
3600
432000
38400 )
intracentre.
IN NS linux.
router.intracentre. IN
A 192.168.0.1
linux.intracentre.
IN A
192.168.0.2
proxy
IN CNAME linux
www
IN CNAME linux
estacio100.intracentre. IN
A 192.168.0.100
estacio101.intracentre. IN
A 192.168.0.101
estacio102.intracentre. IN
A 192.168.0.102
-----------------------------------------------
El patró inicial comença
per un nº de sèrie format per les xifres 2000231101 que corresponen
a "anydiamesversio" seguit dels paràmetres (tots en segons) taxa
de refresc, taxa de reintent, caducitat per al secundari i validesa per
als clients, opcions necessàries en cas de treballar amb un DNS
Internet.
Aquest pot quedar amb els
paràmetres per defecte, doncs no es comunicarà amb cap altre
DNS.
Els paràmetres mínims
que utilitzarem són:
IN NS
indica l'equip servidor DNS del domini intracentre.
IN A
defineixen les IP que corresponen a cada nom.
IN CNAME
defineixen un 'àlies' com a segon nom reconegut d'una IP ja definida
anteriorment.
Caldrà doncs completar
amb entrades IN A la definició de totes les màquines
de la nostra xarxa, afegint per exemple:
secretaria.intracentre. IN
A 192.168.0.120
biblio1.intracentre.
IN A 192.168.0.121
...
Atenció amb la separació
entre els ítems, s'ha de fer obligatòriament amb tabulador.
-> /etc/192.168.0.rev->
Zona inversa, utilitzada per trobar els noms partint de l'adreça
IP.
El contingut d'aquest fitxer
serà:
---------------------------------------------------
0.168.192.in-addr.arpa. IN
SOA linux. root (
2000231101
10800
3600
432000
38400 )
0.168.192.in-addr.arpa. IN
NS linux.
1.0.168.192.in-addr.arpa.
IN PTR router.intracentre.
2.0.168.192.in-addr.arpa.
IN PTR linux.intracentre.
100.0.168.192.in-addr.arpa.
IN PTR estacio100.intracentre.
101.0.168.192.in-addr.arpa.
IN PTR estacio101.intracentre.
102.0.168.192.in-addr.arpa.
IN PTR estacio102.intracentre.
----------------------------------------------------
Els paràmetres inicials
són idèntics al de la zona directa i han de coincidir també
exactament totes les entrades IP amb els noms definits.
Si es modifica el directe
caldrà mantenir aquest també actualitzat.
Dins el mòdul d'Eines
d'administració veurem com mantenir-lo de forma més còmode
via Web.
<-
Posada en marxa
del servei de noms
En aquests moments només
cal assegurar que el servei de noms 'named' es posarà en marxa cada
cop que arrenqui el servidor i s'aturarà correctament quan apaguem
l'equip.
Per defecte la instal·lació
del paquet fa uns 'links' dins de tots els directoris /etc/rc.d/rc?.d
amb
el
format d'aturada i el nom
K45named.
Si el servidor arrenca normalment amb el nivell 3 només cal anar
al directori /etc/rc.d/rc3.d i crear el link S55named amb
l'ordre:
# ln -s ../init.d/named S55named
També podrem posar
en marxa o aturar el servei de forma manual, sense haver de reiniciar la
màquina executant:
# /etc/rc.d/init.d/named start ---> arrencada
# /etc/rc.d/init.d/named stop ---> aturada
Podem verificar que ha arrencat
correctament consultant el fitxer de registre 'messages':
# tail /var/log/messages
reflexant a la sortida quelcom
com això:
<-
Configuració
dels clients
Per defecte, els clients
poden 'conèixer' els noms dels seus companys de la xarxa TCP/IP,
llegint la informació del fitxer hosts situat a:
/etc/ -> en els UNIX
/ Linux.
c:\windows\ o c:\winnt\system32\drivers\etc\
-> en els Windows.
El format d'aquest fitxer
és el mateix per a totes les plataformes, un exemple podria ser:
de manera que caldria tenir-lo
copiat exactament igual dins totes les màquines de la xarxa...
Per evitar haver de distribuir
i mantenir tots aquests fitxers tenim el servei de noms DNS, anem a veure
com fer que els clients puguin utilitzar-lo.
- Linux
Hem de fer client del servei
DNS al mateix servidor, cal modificar dos fitxers:
/etc/nsswitch.conf
-> verificant l'existència
de la línia
-> hosts
files dns
/etc/resolv.conf
-> amb el contingut
següent
domain intracentre
nameserver 192.168.0.2
nameserver 193.145.88.16
nameserver 193.145.88.18
Comprovem el correcte funcionament
com a clients DNS executant:
# nslookup router
obtenint com a resposta:
- Windows 95/98
Modifiquem la configuració
del DNS, dins les propietats de la xarxa, com mostra la figura:
Un cop reiniciat el Windows,
podeu comprovar la resposta del DNS executant:
Ja teniu el servei DNS actiu
dins la xarxa del centre, ara caldrà eliminar qualsevol referència
dins els fitxers hosts (si els havíeu utilitzat), llevat
del propi 'localhost' 127.0.0.1, per evitar definicions incorrectes que
passarien pel davant del propi DNS.
<- |