Resum

L’administrador de xarxa té la missió de configurar els equips que la componen. Això significa configurar els servidors, els equips clients, els concentradors, els encaminadors… Cada equip de la xarxa s’ha d’identificar amb la seva adreça IP i la seva màscara de xarxa, i generalment disposarà d’un camí d’accés a Internet. Tant els usuaris com els serveis requeriran l’accés a d’altres equips identificant-los pel seu nom de domini en lloc de per la seva adreça IP, més difícil de recordar. Fer això equip per equip resultaria una feina feixuga i repetitiva si no es disposés de serveis de xarxa que la faciliten.

En la unitat de formació “Configuració de xarxa i resolució de noms” s’explicarà el funcionament dels protocols DHCP i DNS. El servei DHCP (Dynamic Host Configuration Protocol o protocol de configuració dinàmica d’equips) permet la configuració d’adreces IP, màscares, passarel·les per defecte i moltes altres opcions de configuració de manera totalment dinàmica. El servei DNS (Domain Name System o sistema de noms de domini) permet la resolució de noms de domini a adreces IP i a la inversa. La “màgia” que fa que un usuari indiqui un nom de domini i obtingui l’adreça corresponent a aquest domini és obra del DNS.

Pel que fa a la instal·lació de serveis de resolució de noms, tot seguit se n’enumeren les principals característiques:

a) Sistema de noms pla i jeràrquic: cal un mecanisme per identificar els hosts que hi ha a la xarxa. Inicialment s’utilitzava un fitxer de text pla per identificar cada equip amb la seva adreça IP. Aquest sistema pot ser útil per equips en xarxes locals petites (domèstiques), però no és escalable a Internet.

El DNS o sistema de noms de domini permet mantenir una base de dades jeràrquica i distribuïda dels noms de domini.

L’espai de noms és tot l’arbre de noms, jeràrquic, que conté tots els dominis d’Internet.

Un domini és cada un dels elements que componen l’espai de noms (per exemple, ioc.cat).

Una zona és l’espai gestionat per un servidor de noms que és autoritat sobre aquesta zona. Les zones no tenen per què correspondre a un domini.

Convé saber identificar cada un dels elements següents:

  • Domini absolut o FQDN: Domini completament qualificat. S’hi indiquen tots els nivells fins arribar al node arrel.
  • FQDN: Full Qualified Domain Name, un domini absolut.
  • Domini relatiu: Domini sense qualificar. Indica una part de la ruta del domini, relativa a on pertany.
  • Domini arrel: Domini del qual deriven tots els altres noms de domini d’Internet.
  • TLD: Top Level Domain. Dominis de primer nivell, els famosos .com, .cat…

b) Zones primàries i secundàries: l’administració del sistema de noms de dominis a Internet es divideix en zones. Cada organització que és autoritària d’una zona gestiona el servidor primari i els secundaris de la zona.

Una zona conté la base de dades de la zona. És a dir, la descripció dels recursos (els hosts, servidors de noms, d’autoritat, d’impressió…) que formen la zona.

Una zona es pot delegar, és a dir, es pot passar l’administració d’un subdomini a una altra entitat, que serà qui el gestioni.

L’especificació del protocol DNS indica que cada zona ha de disposar d’un servidor primari (que manté la base de dades de zona) i un o més servidors secundaris o de seguretat (als quals transfereix aquesta informació).

El servidor primari i secundari són autoritaris per a la zona que administren.

La resolució de noms es pot fer mitjançant la informació continguda en la base de dades de la zona; rep llavors el nom de resposta autoritària. O es pot fer consultant respostes anteriors d’altres servidors desades en la memòria cau, cas en què s’anomena resposta no autoritària.

Quan es fa una consulta a un servidor DNS es diu que cal fer la resolució d’aquesta consulta. El mecanisme a emprar pot ser:

  • Iteratiu: un servidor que rep una consulta iterativa proporciona la millor resposta possible basant-se en la informació que té. No consulta cap altre servidor.
  • Recursiu: un servidor que rep una consulta recursiva ha de resoldre la consulta. Si no té suficient informació procedirà a consultar altres servidors iterativament.

El client o resolver normalment fa consultes recursives al seu servidor DNS. Els servidors DNS es fan consultes iteratives entre ells.

El procés de resolució consta usualment d’aquests passos:

  • Si la consulta és d’una dada que pertany a la pròpia zona s’emet la resposta autoritària.
  • Si la consulta no pertany a la zona administrada pel servidor, però es troba en la memòria cau, s’emet una resposta no autoritària.
  • Si no es disposa de la resposta i cal trobar-la (perquè és una consulta recursiva), es procedeix a preguntar iterativament a altres servidors.
  • Els servidors als quals es consulta o bé no tenen resposta, o bé la tenen a la seva zona, o bé la tenen en la memòria cau, o bé retornen una llista de servidors autoritaris per a un domini més proper al buscat.
  • D’aquesta manera, mitjançant la llista de servidors autoritaris cada cop més propers al domini buscat s’acaba arribant al destí. Sempre es pot trobar un domini (si existeix) a partir del domini arrel.
  • Si no es disposa de la resposta i s’han esgotat totes les altres opcions s’indica que no existeix.

La resolució inversa permet obtenir el nom d’un host a partir d’una adreça IP.

El protocol DNS utilitza usualment UDP, perquè la informació que es transmet es pot encapsular normalment en un datagrama de 512 bytes. Però també pot usar TCP quan la quantitat d’informació a transmetre és més gran (respostes llargues o transferències de zona). Per tant, el servei DNS utilitza UDP i TCP a través del port 53.

Existeixen evolucions i extensions del protocol DNS per a diverses finalitats. DDNS permet actualitzacions dinàmiques de la base de dades DNS des dels clients DHCP. DNSSEC estableix mecanismes de seguretat en el servei DNS.

c) Tipus de registres: les bases de dades de zona contenen els registres de recurs, és a dir, la descripció de cada un dels elements que pertanyen a la zona.

Els principals registres de recurs es mostren tot seguit:

  • SOA: Inici d’autoritat. Indica que s’està fent una descripció autoritària de la zona.
  • NS: Descriu un recurs corresponent a un servidor de noms.
  • A: Recurs de host. Determina el nom canònic d’un host.
  • CNAME: Permet definir àlies per a un host.
  • PTR: Descripció de resolució inversa per obtenir el nom canònic d’un host partint de la seva adreça IP.
  • MX: Defineix un servidor de correu a la zona.

d) Instal·lació d’un servei DNS: el procediment que cal seguir per instal·lar un servidor DNS és similar al de qualsevol altre servei de xarxa.

Generalment se seguirà la seqüència següent:

  • Avaluar diversos programes que realitzin la funció de servidor.
  • Obtenir el programa escollit.
  • Instal·lar el programari, usualment amb alguna eina de gestió de paquets.
  • Observar els components, els fitxers del programari instal·lat. Especialment observar els fitxers de: configuració, executables i ajuda.
  • Activar i desactivar el servei de manera puntual i de manera permanent.

e) Configuració del servei bàsic: normalment, la finalitat principal d’un servidor DNS és administrar una zona. Tot i així, pot realitzar altres funcions, més bàsiques:

  • Servidor només cau: es tracta del servei més mínim que es pot instal·lar. No s’administra cap zona, simplement fa la funció de memòria cau per emmagatzemar les respostes que rep d’altres servidors. Les consultes que no te la memòria cau les passa a un servidor extern, mentre que les que te emmagatzemades a la memòria les respon ell mateix de manera no autoritària.
  • Transferència de zona: encara sense entrar en la configuració dels registres de recurs, es pot configurar un servidor DNS com a secundari per a actuar com a servidor autoritari d’una zona, tot rebent la informació per mitjà de transferències del servidor primari.

f) Creació d’una zona: per crear una zona per ser administrada des del propi servidor és necessari configurar el fitxer general de descripció del servei i els fitxers amb els registres de recurs que formen la base de dades de zona.

El fitxer global de configuració, usualment /etc/named.conf, conté una descripció de les zones que s’han d’administrar en la qual s’indica el tipus d’administració i el nom del fitxer amb la informació concreta dels equips de la zona.

Una zona pot ser de tipus:

  • Master: Indica que el mateix servidor és autoritari per la zona i disposa dels fitxers de base de dades de la zona. Cal indicar el nom del fitxer que conté aquesta informació.
  • Slave: Indica que es tracta d’una zona on el mateix servidor actua com a secundari. Cal indicar les adreces IP d’on obtenir la informació de la base de dades de la zona. És a dir, quins són els servidors masters.
  • Hint: Indica que conté informació corresponent als nodes arrel del sistema de noms de domini.
#Sintaxi:
zone “nom_zona” in { type master|slave|hint; file “nom_fitxer_zona”; }.
#Exemple:
zone inf.ioc.cat in { type master; file “db.inf.ioc.cat; }.

Cal un fitxer de zona per a cada zona a administrar. En aquest fitxer es descriu si és un SOA (autoritat) o no per a la zona i quins són els registres de recurs que conté.

# Exemple de fitxer de zona
$TTL 3D 
@ IN  	SOA server.inf.escola.org. postmaster.inf.escola.org. ( 2007101910 8H 2H 4W 1D) 
			NS      server
			MX      10	mailhost 
			A					172.16.0.10 
localhost		A				127.0.0.1 
server     A				172.16.0.10 
mailhost   A				172.16.0.10 
www        CNAME  server 
router     A				172.16.0.1 
pc02					A				172.16.0.132

El resolver és la part client del servei DNS. No és una aplicació concreta sinó que es troba integrat en diverses aplicacions client que fan ús de la xarxa. A GNU/Linux correspon al fitxer /etc/resolv.conf.

Les directives principals són:

  • domain: Especifica el nom de domini al qual es pertany.
  • search: Indica una llista de preferències a l’hora de cercar un domini. El primer usualment és considerat el mateix domini.
  • nameserver: Adreça IP (o nom) del servidor DNS a utilitzar. Usualment se’n poden descriure fins a tres a mode de fallback.

El nsswitch, corresponent usualment a GNU/Linux al fitxer /etc/nsswitch.conf, permet seleccionar si la resolució de noms es vol fer localment pel sistema de noms pla (fitxer hosts) o pel servei DNS.

El fitxer hosts, corresponent a GNU/Linux a /etc/hosts, conté les definicions de noms i àlies en format pla i es pot usar per a xarxes locals (a nivell petit i domèstic).

g) Realització de transferències entre dos o més servidors: l’estàndard DNS defineix que per a cada zona cal un servidor primari i almenys un o més de secundaris. Fan la funció d’autoritat sobre la zona i cal que es transfereixin entre ells la informació de la base de dades.

Primari/secundari(s): una zona és gestionada per un servidor primari i un o més servidors secundaris o de seguretat. El servidor primari manté la base de dades de la zona i l’actualitza, mentre que els secundaris reben aquesta informació en un procés de transferència.

Autoritari/no autoritari: els servidors d’una zona (el primari i els secundaris) són autoritat per a la zona que administren. Les respostes que emeten basant-se en la informació de la memòria cau (i no de la base de dades de zona) són no autoritàries.

Transferència de zona: la informació de la base de dades de zona ha de ser coherent entre els servidors primari i secundaris. La transferència de zona és el mecanisme que s’estableix per fer que comparteixin la mateixa informació.

Establir com i quan s’ha de fer aquesta transferència és important per proporcionar un bon servei DNS. Cal buscar un compromís entre actualitzar constantment la informació o disposar d’informació caducada.

h) Comprovació del funcionament del servei: un cop un servei està engegat, el mecanisme més sensat per comprovar-ne el funcionament és validar que se n’obtenen els resultats desitjats. En el cas del DNS és observar que els clients reben la resposta correcte a la consulta que han efectuat.

A més es poden repassar els aspectes següents:

  • Verificar l’estat del servei: start o engegat.
  • Comprovar el PID del procés del servidor. Ha d’estar running.
  • Observar el registre de logs o monitoratge.
  • Observar l’estat dels ports.
  • En tota comunicació de xarxa sempre es pot fer un repàs al que realment està passant fent el monitoratge del trànsit de xarxa, per exemple amb una eina com Wireshark.

Existeixen moltes eines de revisió del servei DNS. Són eines que funcionen com un client resolver, fent consultes al servidor i mostrant-ne la resposta obtinguda. A més, també es poden usar les clàssiques utilitats de xarxa per detectar connectivitat, examinar ports i monitorar el trànsit de xarxa.

Algunes d’aquestes eines són:

  • ping: Ordre clàssica per provar la connectivitat. Si coneix el nom de domini és que el DNS funciona bé.
  • nslookup: Eina molt completa per fer consultes DNS. Permet indicar el tipus d’element que se cerca (A, CNAME, MX…) i a quin servidor s’envia la consulta.
  • dig: Una altra eina, més nova, amb una funcionalitat pràcticament calcada que la de nslookup.
  • host: Utilitat clàssica de consulta DNS, com les dues anteriors.
  • nmap: Eina per examinar l’estat dels ports d’un host.
  • IPtraf: Eina gràfica de mode text per monitorar el trànsit de xarxa.
  • Wireskark: L’eina més estandarditzada per monitorar el trànsit de xarxa en mode gràfic.

Pel que fa a la instal·lació de serveis de configuració dinàmica de sistemes, tot seguit n’enumerem les principals característiques:

a) Configuració de xarxa: per realitzar configuracions dinàmiques de xarxes per DHCP primerament cal familiaritzar-se amb els elements més usuals de configuració: adreça IP, màscara de xarxa i passarel·la per defecte.

b) Tipus d’assignacions: els equips clients poden disposar de configuracions de xarxa estàtiques i configuracions rebudes del servidor DHCP. Aquestes poden ser dinàmiques de rang o dinàmiques fixes (un mateix equip rep la mateixa adreça IP).

c) El model funcional: el protocol DHCP, descrit en els RFC 2131 i 2132 realitza un intercanvi de missatges entre el client i el servidor. Aquest diàleg es basa en el cas general en l’intercanvi dels paquets següents:

  • DHCPDiscover: l’origina el client. Tipus de difusió: broadcast.
  • DHCPOffer: l’origina el servidor. Tipus de difusió: unicast.
  • DHCPRequest: l’origina el client. Tipus de difusió: broadcast.
  • DHCPAck: l’origina el servidor. Tipus de difusió: unicast.

El conjunt de paquets descrits en el protocol DHCP són:

  • DHCP Discover
  • DHCP Offer
  • DHCP Request
  • DHCP ACK
  • DHCP NACK
  • DHCP Decline
  • DHCP Release
  • DHCP Information

d) Concessió de configuracions: el servidor DHCP atén les peticions client i atorga o concedix configuracions de xarxa per un període de temps limitat. El client ha de renovar les concessions quan caduquen. Ambdós poden revocar una concessió activa. El client usualment pot demanar unes opcions determinades, una adreça IP preferida, un temps de concessió… El servidor pot atendre aquests requeriments o no.

Una concessió o lease és cada una de les configuracions de xarxa que el servidor atorga a un client. Les concessions s’anoten en un fitxer de leases.

Tota concessió és per un període finit de temps.

El servidor disposa d’un conjunt o rang d’adreces dinàmiques d’on en va extraient per assignar-les als clients.

Es poden fer assignacions d’adreces dinàmiques fixes, és a dir, concedir-li sempre la mateixa adreça a un mateix client. Per això cal poder-lo identificar, usualment amb la seva adreça MAC.

e) Servei Client/Servidor: el DHCP és un dels innombrables protocols de xarxa basats en l’estructura client/servidor.

Normalment, el client DHCP està integrat en el client de xarxa.

Usualment, el servidor DHCP és un programari de tipus dimoni que cal instal·lar i configurar adequadament.

f) Instal·lació del servidor: el procediment que cal seguir per instal·lar un servidor DHCP és similar al de qualsevol altre servei de xarxa.

Generalment es realiza la seqüència següent:

  • Avaluar diversos programes que realitzin la funció de servidor.
  • Obtenir el programa escollit.
  • Instal·lar el programari, usualment amb alguna eina de gestió de paquets.
  • Observar els components, els fitxers del programari instal·lat. Especialment observar els fitxers de: configuració, executables i ajuda.
  • Activar i desactivar el servei de manera puntual i de manera permanent.

g) Comprovar el funcionament bàsic: un cop un servei està engegat, el mecanisme més sensat per comprovar-ne el funcionament és validar que se n’obtenen els resultats desitjats. En el cas del DHCP es tracta d’observar que els clients reben la configuració de xarxa que esperaven.

A més, es pot fer un repàs als aspectes següents:

  • Verificar l’estat del servei: start o engegat.
  • Comprovar el PID del procés del servidor. Ha d’estar running.
  • Observar el registre de logs o monitorització.
  • Observar l’estat dels ports.
  • En tota comunicació de xarxa sempre es pot fer un repàs al que realment està passant fent el monitoratge del trànsit de xarxa, per exemple amb una eina tipus Wireshark.

h) Configuració DHCP: cada servidor DHCP es configura per donar servei adequadament als clients de xarxa als que atén. Cada subxarxa i fins i tot hosts individuals poden rebre configuracions de xarxa personalitzades. Les opcions tenen bàsicament els àmbits d’aplicació següents:

  • global: les opcions que es defineixen afecten totes les subxarxes i hosts.
  • subxarxa: especifica opcions vàlides només per a la subxarxa en qüestió.
  • host: indica opcions pròpies d’un únic host.

Les opcions tenen precedència des dels àmbits més interns als més externs.

L’estàndard DHCP defineix multitud de sentències que permeten configurar el funcionament del client i del servidor. També hi ha innombrables opcions de configuració de xarxa, que a més poden ser definides de forma condicional segons valors de determinades expressions.

Els principals elements de configuració DHCP són:

  • subnet. Indica la subxarxa a la qual aplicar la configuració.
  • host. Indica el host al qual aplicar la configuració.
  • range. Defineix un rang contigu d’adreces IP disponibles pel servidor per assignar dinàmicament.
  • group. Permet fer agrupacions de subnet, shared-network, hosts i group en les quals aplicar una configuració.
  • shared-network. Indica una xarxa física formada per diverses subxarxes que comparteixen part de la configuració.
  • include. Permet carregar un fitxer extern de configuració.
  • class. Permet fer agrupacions a les quals aplicar configuracions basant-se en valors proporcionats pel mateix client.
  • host-name. Especifica el nom del client.
  • filename. Indica el nom del fitxer d’inicialització que el client ha de descarregar.
  • hardware. Permet especificar un host, usualment amb la seva adreça MAC.
  • next-server. Indica quin és el servidor TFTP del qual cal que el client descarregui el fitxer d’inicialització.
  • routers. Defineix la llista d’encaminadors de la subxarxa client.
  • subnet-mask. Indica la màscara de xarxa de la subxarxa client.
  • domain-name. Indica el nom del domini al qual pertany el client.
  • domain-name-servers. Llista de servidors DNS disponibles pel client.
  • nis-domain. Nom del domini NIS al qual pertany el client.
  • nis-domain-servers. Llista de servidors NIS disponibles pel client.
  • netbios-name-servers. Llista de servidors Netbios disponibles pel client.
  • ddns-update-style. Defineix el tipus d’actualitzacions dinàmiques de DNS.
  • default-lease-time. Temps de concessió per defecte.
  • Max-lease-time. Temps màxim de les concessions.

i) Client DHCP: el programari client DHCP està usualment incorporat en el servei de xarxa, és a dir, no cal instal·lar res. Per comprovar el funcionament correcte del client i aprendre més coses del seu funcionament podem fer:

  • Observar la configuració de xarxa actual.
  • Configurar el client com a client dinàmic. Normalment s’utilitzen eines de l’entorn gràfic, però n’hi ha també en mode text, i en GNU/Linux és usual fer-ho també editant directament els fitxers de configuració.
  • Sol·licitar o renegociar una adreça IP al servidor DHCP.
  • Llistar el fitxer amb el registre de les concessions rebudes pel client.
  • Activar i desactivar el servei de xarxa client.

j) Comprovar el funcionament: en general sabem que el servei funciona correctament si tot va bé. De totes maneres, quan hi ha problemes a la xarxa la millor eina és utilitzar un detector (sniffer) de xarxa, com per exemple Wireshark.

Anar a la pàgina següent:
Resultats d'aprenentatge