Instal·lació i administració de serveis de configuració automàtica de xarxa

DHCP

DHCP és l’acrònim de Dynamic Host Configuration Protocol, en català, protocol de configuració dinàmica d’equips.

El servei DHCP permet la configuració d’adreces IP, màscares, passarel·les per defecte (gateways) i moltes altres opcions de configuració de manera totalment dinàmica.

Una manera planera d’entendre el DHCP és imaginar que, en arrencar, els equips clients fan un crit per la xarxa i pregunten “Que hi ha algú?”, “Qui soc jo?”. El servidor del DHCP els contesta proporcionant-los tota la informació necessària perquè sàpiguen qui són i com han de configurar els seus paràmetres de xarxa.

L’administrador de xarxa té la tasca de configurar els equips que la componen. Això significa configurar els servidors, els equips clients, concentradors, encaminadors… Cada equip de la xarxa s’ha d’identificar amb l’adreça IP corresponent i la 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 altres equips identificant-los pel nom de domini en lloc de fer-ho per l’adreça IP, que és més difícil de recordar. Fer això equip per equip resulta una feina feixuga i repetitiva si no es disposa de serveis de xarxa que la facilitin.

Configuració automatitzada de xarxa

El servei DHCP proporciona un mecanisme de configuració centralitzat dels equips de la xarxa. En lloc de configurar un per un els equips de xarxa amb adreces i valors estàtics, un servidor DHCP anirà assignant als equips clients els valors que els corresponguin. Aquesta assignació es fa per un període de temps finit, passat el qual caldrà renovar-la.

Avantatges del DHCP

El servei DHCP té diversos avantatges:

  • Evita errors i conflictes IP.
  • Centralitza l’administració.
  • Estalvia temps.
  • Simplifica l’administració.

Els principals avantatges d’utilitzar DHCP són, d’una banda, evitar conflictes d’adreces IP (adreces repetides i adreces errònies), ja que passar equip per equip a canviar la configuració és molt més pesat i propens a l’error que fer-ho editant un sol fitxer de configuració en el servidor DHCP; i, de l’altra, que fer l’administració centralitzada representa un estalvi de temps i de feina.

El servei DHCP simplifica l’administració de la configuració dels equips de xarxa fent-la centralitzada, dinàmica i amb concessions per períodes de temps finits.

La concessió dinàmica d’adreces IP i d’altres paràmetres de configuració de xarxa es realitza per un període de temps determinat, que varia en funció de les necessitats del client i del servidor.

Exemples d'ús del servei DHCP

Els següents són alguns exemples d’ús del servei DHCP:

  • En una biblioteca que admet connexions Wi-Fi, els clients obtindran concessions per un temps reduït, per exemple, minuts.
  • Un usuari d’Internet que rep al seu equip de casa una adreça IP dinàmica del seu proveïdor d’accés a Internet (ISP) tindrà una concessió que segurament serà per hores.
  • En la xarxa corporativa d’una empresa que s’ha configurat dinàmicament usant DHCP, els equips rebran concessions dinàmiques per períodes de temps llargs, per exemple, de dies.

Configuració d'un equip de xarxa

Qualsevol equip que pertany a una xarxa requereix que es configuri amb uns paràmetres mínims, que són l’adreça IP, la màscara i la porta d’enllaç per defecte (també anomenada gateway). L’adreça IP identifica l’equip de manera única i la màscara permet determinar la xarxa o subxarxa en què es troba l’equip. Amb aquests dos paràmetres n’hi ha prou per tenir connectivitat en la xarxa. Si es vol disposar d’accés fora de la xarxa pròpia (per exemple, a Internet o a la resta de la xarxa corporativa) cal definir també l’encaminador o gateway. A part de la configuració bàsica, els equips poden necessitar (de fet, ho necessiten) més paràmetres de configuració, com, per exemple, el nom del host, els servidors DNS a usar, el fitxer d’iniciació per a arrencades PXE…

Tot equip de xarxa necessita disposar d’una adreça IP que l’identifiqui de manera única a la xarxa. Li cal també una màscara per poder distingir en l’adreça IP la part d’adreça de xarxa i la d’adreça de host. Finalment, és imprescindible disposar de l’adreça de la porta d’enllaç predeterminada o passarel·la per defecte (gateway), per disposar d’accés a xarxes externes.

Exemple de configuració de xarxa d'un equip domèstic

La majoria d’usuaris disposen a casa d’un equip (o més) connectat a un encaminador (router) que proporciona l’accés a Internet. Aquest equip està configurat com a client DHCP i en iniciar-se rep la configuració de xarxa de l’encaminador. Podeu comprovar a casa quina configuració teniu. Una configuració d’exemple podria ser:

        Adreça IP. . . . . . . . . . . . .: 192.168.1.33
        Màscara de subxarxa . . . . . . . : 255.255.255.0
        Porta d'enllaç predeterminada . . : 192.168.1.1
        Servidor DHCP . . . . . . . . . . : 192.168.1.1
        Servidors DNS . . . . . . . . . . : 80.58.61.250
                                            80.58.61.254

L'inconvenient de la configuració estàtica

La configuració estàtica implica configurar els equips un a un. Fins i tot encara que es tingui accés remot als equips (per Telnet o SSH), com que cal modificar la configuració de xarxa, no es pot fer assegut des de l’equip de l’administrador, sinó que cal anar equip per equip a modificar la configuració.

Aquest procés de configuració cal que es faci per a cada equip de la xarxa. Fer-ho manualment implica configurar equip per equip sense cometre errades en teclejar les adreces i les màscares. Qualsevol canvi en l’estructura de la xarxa, com per exemple redefinir les subxarxes o modificar algunes adreces IP, significa tornar a configurar manualment els equips implicats. És evident que tota aquesta feinada no és agradable per a l’administrador de xarxa (és molt avorrida!). Tant si la xarxa corporativa consta de pocs equips com de molts, cal una solució que permeti automatitzar la configuració de xarxa de cada equip de manera centralitzada.

Les opcions de configuració de xarxa es poden assignar a cada equip estàticament o es poden configurar de manera dinàmica utilitzant DHCP.

Com a administradors de xarxa, la gestió centralitzada que proporciona DHCP ens permet modificar la xarxa afegint, eliminant i redefinint equips amb un cost mínim.

Tipus d'assignacions d'adreces IP

Cada equip de xarxa té assignada una adreça IP que l’identifica de manera única dins de la xarxa. La composició de l’adreça IP i la màscara determinen la xarxa o subxarxa a la qual pertany. A més, es configuren altres paràmetres de xarxa com la porta d’enllaç predeterminada, servidors DNS… Això es pot configurar manualment anant equip per equip i introduint aquesta informació.

Reconfiguració d'una xarxa

Imagineu de quin humor estarà l’administrador d’una xarxa corporativa de 1.000 equips amb adreces estàtiques quan cal reconfigurar-la en un cap de setmana!

Quan l’adreça IP i els altres paràmetres necessaris de configuració de la xarxa es configuren equip per equip, manualment, es diu que tenen una adreça IP estàtica.

Quan la configuració de xarxa d’un equip no es fa manualment i localment en l’equip sinó que es fa per mitjà d’un servidor DHCP, es diu que l’equip utilitza una adreça IP dinàmica. Per realitzar configuracions de xarxa dinàmicament caldran un o més servidors DHCP (a manera de redundància), que proporcionaran la configuració als equips clients (els que cal configurar). Per tant, serà una estructura client/servidor. Les adreces IP dinàmiques que rep el client les podem classificar en dues categories: assignació dinàmica de rang i assignació fixa.

El servidor DHCP disposa d’un rang d’adreces que pot assignar als clients que demanen una adreça IP. Quan el servidor assigna una adreça qualsevol del rang al client (a l’atzar) es tracta d’una assignació dinàmica de rang. El client no sap quina adreça IP tindrà i no hi ha manera de predir quina se li concedirà en una futura configuració. A cada nova assignació, l’adreça IP pot ser diferent.

MAC

Cada interfície de xarxa s’identifica de manera única físicament per l’adreça MAC (media acces control o adreça d’accés al medi).

Una assignació fixa es produeix quan el servidor DHCP assigna sempre la mateixa adreça al client. Per assignar sempre la mateixa adreça IP al client cal que el servidor pugui identificar inequívocament el client (per l’adreça MAC). El servidor disposa d’una taula amb les correspondències entre les adreces MAC i les adreces IP fixes.

Quan la configuració de xarxa d’un equip es fa per mitjà d’un servidor DHCP es diu que utilitza una adreça IP dinàmica. Aquesta adreça pot variar dins d’un rang d’adreces disponibles del servidor DHCP o pot ser fixa.

DNS dinàmic

Hi ha serveis de DNS dinàmic (DDNS) que permeten assignar un nom de domini a equips amb adreça IP dinàmica.

Els avantatges de disposar d’una adreça IP fixa són que la vostra identificació a Internet (la vostra adreça IP) no varia i tothom us pot identificar sempre per la mateixa IP. Podeu proporcionar serveis a altres equips i els clients us identifiquen sempre amb la mateixa adreça sense haver de recordar en cada moment quina adreça IP teniu avui (com passa en el cas d’una IP dinàmica).

Funcionament del protocol DHCP

El protocol DHCP està descrit, com la majoria de protocols de xarxa, per un document oficial anomenat RFC. Aquest document ha sofert una evolució al llarg dels anys per anar-se adaptant a les necessitats de cada moment. Tot protocol implica un diàleg entre els equips que intervenen en un procés. Ens caldrà, doncs, analitzar quin és i com es produeix aquest diàleg. Finalment es descriurà el significat de termes tan usuals en el DHCP com rangs, exclusions, concessions i reserves.

RFC

Request for Comments (RFC) són memoràndums sobre noves investigacions, innovacions i metodologies relacionades amb les tecnologies d’Internet. Els publica l’Internet Engineering Task Force (IETF) i defineixen a escala mundial els protocols i les seves revisions. És a dir, són les publicacions oficials que descriuen els protocols.

Evolució del protocol DHCP

L’RFC 951 és el document base que descriu el protocol BOOTP.

El servei DHCP és un servei del tipus client/servidor que proporciona la configuració de xarxa als clients que ho sol·liciten. Proporciona els paràmetres bàsics de xarxa com l’adreça IP, la màscara de xarxa, la porta d’enllaç i altres paràmetres necessaris per a la connexió a una xarxa IP. Es tracta d’un protocol de la capa d’aplicació del model TCP/IP.

El protocol DHCP està basat en l’arquitectura de serveis client/servidor i utilitza com a transport el protocol UDP de la pila de protocols TCP/ IP. El servidor DHCP es comunica amb els clients utilitzant paquets UDP, que rep en el seu port 67 i envia al port 68 del client.

La configuració dinàmica d’equips de xarxa es va iniciar amb el protocol BOOTP (BOOT Strap Protocol o protocol d’arrencada). Era un protocol més bàsic que principalment permetia definir l’adreça IP, la màscara de xarxa i la passarel·la per defecte per al client. El BOOTP (RFC 951, any 1985) és un protocol pensat per proporcionar automàticament la IP a clients de xarxa en el procés d’arrencada. Originàriament s’utilitzava per a estacions de treball sense disc que obtenien la configuració de xarxa del protocol BOOTP i també obtenien el nom d’un fitxer d’arrencada que s’havia de baixar per mitjà del TFTP, que usualment era el sistema operatiu.

RFC del DHCP

Principals RFC dedicats al DHCP:

  • RFC 2131, març 1997: “DHCP: Dynamic Host Configuration Protocol”
  • RFC 2132: “DHCP options”
  • RFC 3396: “Encoding long options”
  • RFC 4361: “Node-specific client identifiers for DHCPv4”
  • RFC 8415: “DHCPv6: Dynamic Host Configuration Protocol Ipv6”

El BOOTP va donar pas al protocol DHCP, que n’és una evolució amb moltes més prestacions. El DHCP sorgeix l’octubre de 1993 mitjançant l’RFC 1531. Ràpidament evoluciona gràcies a diversos RFC, com l’RFC 1541 (el mateix 1993), que serà substituït per l’RFC 2131, el març del 1997. Aquest document és la base del protocol DHCP actual. A grans trets, el protocol es descriu en l’RFC 2131 per a xarxes Ipv4, el conjunt d’opcions de configuració de DHCP es descriuen en l’RFC 2132 i l’especificació del DHCP per a xarxes Ipv6 és en l’RFC 8415.

El model funcional del protocol DHCP

El protocol DHCP descriu el diàleg que es produeix entre client i servidor per a la concessió de configuracions IP. En una xarxa amb configuració d’equips dinàmica, un o més servidors DHCP escoltaran les peticions dels clients en el port 67. Els clients DHCP sol·licitaran al servidor DHCP una configuració IP i començarà un procés de negociació que ha d’acabar (si tot va bé) amb la concessió d’una adreça IP al client. Els servidors parlen al port 68 dels clients.

Ports DHCP

El protocol DHCP utilitza UDP en la capa de transport. Utilitza dos ports:

  • Port 67, on escolta el servidor.
  • Port 68, on escolta el client.

La negociació que s’estableix es pot definir a grans trets de la manera següent:

  1. El client sol·licita una adreça IP (de fet, una configuració de xarxa).
  2. El servidor mira les adreces IP disponibles dins del rang d’adreces dinàmiques de què disposa per concedir i n’ofereix una al client.
  3. Si el client l’accepta, envia una sol·licitud al servidor per fer-la seva.
  4. Si al servidor li sembla bé, accepta la petició del client i li confirma que pot utilitzar aquesta adreça IP, que l’hi concedeix per un període de temps limitat.

UDP en les transmissions DHCP

L’intercanvi d’informació entre client i servidor no és gaire gran (poc volum de dades) i no requereix un flux permanent (una conversa continuada). És per això que el protocol que s’utilitza en les transmissions DHCP és l’UDP.

La concessió de l’adreça IP és per un període de temps establert pel servidor. Això significa que, transcorregut aquest període, el client haurà de renegociar la concessió en un procés similar al descrit anteriorment. En la figura (“Model funcional del protocol DHCP”) es pot veure el diàleg de quatre fases entre el client i el servidor.

El procés real, però, és més detallat. El podem repassar. Consta principalment de quatre parts: la petició del client o discovery, l’oferta del servidor o offer, l’acceptació de l’adreça IP pel client o request i la confirmació del servidor o acknowledgement. A part d’aquest tipus de missatges, el protocol DHCP en defineix d’altres com el de petició d’informació o information i el d’alliberament de l’adreça IP o releasing.

Figura Model funcional del protocol DHCP

Els següents són els tipus de paquets DHCP:

  • DHCP discover
  • DHCP offer
  • DHCP request
  • DHCP ack / DHCP nack
  • DHCP decline
  • DHCP release
  • DHCP information

DHCP 'discover'

En un procés de configuració dinàmica d’un client de DHCP, el paquet DHCP discover és el primer que s’envia. L’envia el client per tal de demanar una configuració IP a algun servidor. Generalment, el client s’acaba d’inicialitzar i vol obtenir una configuració dinàmica de xarxa. El client no sap a quina xarxa pertany (no té adreça IP ni màscara de xarxa) ni tampoc sap quins servidors DHCP hi ha en la xarxa (si n’hi ha cap).

Una difusió o broadcast s’adreça a la IP 255.255.255.255 o a l’adreça MAC FF:FF:FF:FF:FF:FF, que és acceptada per tots els equips.

Per tant, el client genera un paquet de difusió (broadcast) destinat a tots els equips de la xarxa on sol·licita una configuració IP. En la xarxa pot haver-hi cap, un o més d’un servidor DHCP per atendre aquesta petició. És responsabilitat de l’administrador de xarxes configurar correctament l’estructura i els serveis de xarxa, de manera que si defineix clients de DHCP hi hagi servidors DHCP que atenguin les seves peticions.

DHCP 'offer'

En rebre una sol·licitud de configuració d’un client (DHCP discover), un servidor DHCP mira d’atendre-la proporcionant una adreça IP del rang d’adreces dinàmiques que gestiona (hi pot haver més d’un servidor DHCP en la mateixa xarxa).

Diversos servidors DHCP

Es pot configurar més d’un servidor DHCP, tant per a còpia de seguretat o backup com per incrementar el rendiment en compartir la càrrega de les peticions.

El servidor tracta d’assignar una IP del conjunt o rang (també anomenat pool) d’adreces dinàmiques que gestiona. Per fer-ho, ha de mirar quines de les adreces li queden lliures i disponibles per concedir al client. Cada vegada que el servidor concedeix una adreça IP a un client ho anota en un fitxer de registre de les concessions efectuades. Cada vegada que finalitza una concessió el servidor pot tornar a utilitzar l’adreça IP per a un altre client.

Tota concessió (o lease) DHCP és per un període determinat de temps, i un cop transcorregut cal renovar-la.

El mecanisme que utilitza el servidor per escollir l’adreça IP dins del conjunt d’adreces IP disponibles varia en funció del programa de servidor que s’utilitzi. A més, es poden configurar innumerables opcions del servidor per establir com s’han de fer les concessions. Un cas típic és el de les adreces fixes. A un determinat client se li assigna sempre la mateixa adreça IP. Per això cal disposar de la llista d’adreces MAC dels clients als quals es vol assignar una adreça IP fixa.

Tipus d'adreçament

Hi ha diversos tipus d’adreçament:

  • Unidestinació o unicast: a un equip
  • Multidestinació o multicast: a un conjunt d’equips
  • De difusió o broadcast: a tothom

El servidor selecciona una adreça IP disponible i la reserva per al client (encara no està assignada). Tot seguit envia un paquet DHCP offer (unidestinació o unicast) al client amb tota la informació de configuració requerida. L’adreça IP i MAC origen identifiquen el servidor que fa l’oferta. El destinatari s’indica per la seva adreça MAC (que és coneguda). El camp IP del destinatari és l’adreça IP que el servidor ofereix (penseu que el client encara no té adreça IP). Un altre concepte important és per quant temps es realitza la concessió. El paquet inclou camps per completar la resta de configuració de xarxa, per exemple, la porta d’enllaç per defecte, els servidors DNS

DHCP 'request'

Quan el client rep una oferta de configuració IP per part d’un servidor, la pot acceptar o rebutjar. Si el client no accepta l’oferta, simplement realitzarà un nou DHCP discovery. Això és suficient perquè el servidor s’adoni que l’oferta ha estat rebutjada.

Si el client accepta l’oferta, ho ha de comunicar al servidor. El mecanisme per fer-ho és mitjançant un paquet DHCP request enviat un altre cop per difusió. A hores d’ara, el client encara no disposa de l’adreça IP per utilitzar-la. El servidor l’ha reservat, però encara no ha donat el sí definitiu perquè sigui concedida al client.

El motiu pel qual el client demana quedar-se la concessió (DHCP request) que ha rebut utilitzant difusió és fer públic a tothom de la xarxa que ha acceptat una oferta d’un servidor DHCP concret. Recordeu que la petició del client es fa per difusió i, per tant, pot rebre ofertes de diferents servidors DHCP. Quan accepta una de les ofertes, no ha de dir res als altres servidors que ha refusat. Simplement fent pública quina oferta accepta, la resta de servidors DHCP entenen que la seva oferta s’ha rebutjat.

DHCP 'acknowledgement' (DHCPACK/DHCPNACK)

L’últim pas en una negociació DHCP bàsica el realitza el servidor quan finalment autoritza la concessió enviant el paquet DHCPACK (DHCP akcnowledgement). A partir d’aquest moment, el client ja pot fer ús de l’adreça IP i de la configuració de xarxa rebuda. DHCPACK inclou tota la informació referent a la durada de la concessió i les dades necessàries per gestionar quan expira.

ACK i NACK

ACK i NACK són dos acrònims usuals en el món de la informàtica. Signifiquen conformitat (acceptació) i no conformitat (refús) respectivament.

El servidor anotarà en el registre de concessions la que acaba de realitzar i en detallarà tots els aspectes, en especial el temps de concessió. El paquet d’acceptació de la concessió DHCPACK és un paquet unidestinació adreçat a la MAC del client. Recordeu que el client encara no disposa d’una adreça IP vàlida; en disposarà en rebre el DHCPACK.

Exemple de mala configuració d'un equip

Un exemple de mala configuració és la d’un equip que s’ha engegat amb una adreça IP estàtica errònia que se solapa amb les adreces IP que reparteix el servidor. El mecanisme usat per comprovar si l’adreça IP ja està essent utilitzada és un ping. Si no respon ningú és que està lliure (segurament).

Quan un servidor DHCP detecta que la IP que havia reservat per a un client i que li anava a concedir ja està en ús (per una configuració incorrecta), el servidor envia al client un paquet DHCPNACK i indica la no autorització de la concessió. El client que rep un DHCPNACK ha de tornar a iniciar tot el procés de negociació començant un altre cop pel DHCP discovery.

DHCP 'decline'

Per la seva part, el client també pot examinar l’adreça IP oferta pel servidor per comprovar si està en ús o no. Pot fer altres proves per veure si li sembla correcta o no l’oferta rebuda del servidor. Per exemple, en el cas de renovació d’una adreça IP, el client pot rebre una IP diferent a la que utilitza i no interessar-li. En aquests casos, el client pot enviar un paquet DHCP decline al servidor per indicar que la seva oferta ha estat rebutjada.

DHCP 'release'

Quan un client ja no necessita més l’ús de la configuració IP que ha rebut, la pot alliberar enviant al servidor un paquet DHCP release. En fer-ho, el servidor afegeix l’adreça IP al conjunt d’adreces dinàmiques que té disponibles. També fa l’anotació pertinent en el registre de concessions (leases) per indicar que ha finalitzat l’ús de l’adreça. De totes maneres, molt sovint el client no pot arribar a emetre aquest paquet perquè és apagat per l’usuari sense deixar temps al sistema per alliberar la IP.

DHCP 'information'

En qualsevol moment el client pot sol·licitar més informació sobre la configuració de xarxa al servidor utilitzant un paquet DHCP information. En el paquet DHCP offer que el servidor envia al client, consten les informacions generals de configuració de xarxa que es trameten en l’oferta: adreça IP, màscara de xarxa, porta d’enllaç predeterminada, servidor DNS, fitxer a baixar per a arrencades PXE i molts altres paràmetres que poden estar configurats per enviar-se en l’oferta. El client pot tornar a demanar al servidor la informació d’aquests paràmetres o pot sol·licitar informació per a la configuració d’altres paràmetres (WINS, NetBIOS, hostname…). El client només pot realitzar una petició d’informació DHCP information al servidor un cop està configurat.

Petició de renovació/concessió d'una IP concreta

El procés de quatre fases usuals de DHCP consistent en discovery / offer / request / ack es produeix quan el client sol·licita una adreça IP de nou. Sabem que les concessions són per un interval de temps finit, passat el qual cal que el client en demani la renovació. Existeix, doncs, un procés de renovació simplificat. El client demana continuar usant la mateixa adreça IP amb un paquet DHCP request i el servidor li concedeix o no amb els paquets DHCP ACK/NACK.

Macchanger

Aquesta ordre GNU/Linux permet emmascarar l’adreça MAC pròpia (mascarade), simular que és una altra.

Un altre cas és un client que demana usar (renovar) una adreça IP que el servidor no li pot concedir (està en ús, no és del rang que gestiona…). En aquesta situació, el servidor envia un DHCP NACK.

Atacs al funcionament del DHCP

Com qualsevol altre servei de xarxa, el servidor DHCP és susceptible de patir atacs malintencionats. L’atac més fàcil i clàssic és el DoS o denegació de servei. Consisteix a inundar de peticions un servidor per tal de saturar-lo i bloquejar-ne el funcionament. Un client pot realitzar innumerables peticions DHCP discovery fingint que són clients diferents (emmascarant la seva MAC) amb la intenció d’esgotar les adreces IP disponibles del servidor o simplement amb la intenció de sobrecarregar-lo amb tantes peticions que no doni a l’abast a atendre-les o que ho faci lentament.

Un altre tipus d’atac consisteix a falsejar la informació que s’envia al client. Recordeu que el client fa una sol·licitud d’IP en forma de difusió (broadcast) i la seva petició pot ser atesa per un o més servidors DHCP. Un dels servidors DHCP pot ser un atacant que intenta proporcionar informació de configuració falsa al client, per exemple, indicant un servidor DNS també maliciós. Aquest pot falsejar les identitats de les màquines de la xarxa i que quan el client s’adreci a la seva entitat bancària el servidor DNS en realitat li proporcioni una IP d’una màquina que falseja la de l’entitat bancària.

Tipus d'atacs DNS

  • Clients no autoritzats: accés a servidors DNS per part de clients no autoritzats.
  • Servidors no autoritzats: servidors DNS impostors que suplanten els vertaders servidors.

Per posar remei a la inseguretat en la comunicació client/servidor DHCP, el protocol permet utilitzar mecanismes d’autenticació i xifratge. Aquests mecanismes queden fora de l’abast d’aquesta explicació.

Conflictes amb les adreces IP

Un dels principals motius per utilitzar DHCP és simplificar el procés de configuració de xarxa i minimitzar els conflictes per encavalcament d’adreces IP. Per desgràcia, això no garanteix que no es puguin produir conflictes. Per exemple, ens podem trobar en situacions en què dues màquines diferents tinguin la mateixa IP per una simple mala configuració del servidor DHCP. Un altre cas típic és el d’un client que s’ha configurat ell mateix una IP estàtica quan en la xarxa ja hi havia un equip que utilitzava la mateixa adreça IP assignada pel servidor DHCP.

Un problema habitual per als administradors poc experimentats és definir una configuració de xarxa local al client (hostname, servidor DNS, porta d’enllaç a utilitzar…), però demanar l’adreça IP dinàmicament. La configuració dinàmica no és solament la IP i la màscara sinó que el servidor DHCP pot proporcionar altres paràmetres de xarxa que sobreescriuran els que el client tenia definits localment (aquest és l’objectiu del DHCP!).

La configuració rebuda per DHCP sobreescriu la configuració local del client.

Rangs i concessions

Els clients DHCP obtenen del servidor una configuració de xarxa. Descrivim ara alguns dels termes que apareixen en aquest procés i que formen part de la configuració DHCP.

  • Rang: anomenen rang d’adreces IP el conjunt d’adreces dinàmiques que el servidor té disponibles per assignar als clients. Les adreces IP disponibles s’agrupen per oferir-se a les diverses subxarxes que atén el servidor. Una mateixa subxarxa pot disposar de diversos rangs. Segurament s’entendrà més fàcilment amb un exemple:
subnet 140.220.191.0 netmask 255.255.255.0 {
            range 140.220.191.150 239.252.197.250;
}

subnet 239.252.197.0 netmask 255.255.255.0 {
            range 239.252.197.10 239.252.197.107;
            range 239.252.197.113 239.252.197.250;
}

En l’exemple anterior s’observa que la primera subxarxa disposa d’un rang de 101 adreces dinàmiques (de la 140.220.191.150 a la 250). La segona subxarxa permet assignar dinàmicament dos rangs d’adreces no correlatius.

  • Exclusions: entenem per exclusions aquelles adreces IP que no s’ofereixen dinàmicament per part del servidor. És a dir, que no formen part de cap rang.
  • Concessions: l’assignació d’una adreça IP i la resta de paràmetres de xarxa a un client per part del servidor és una concessió o lease. Els clients reben les concessions per períodes de temps finits que, en finalitzar, cal renegociar. Tant el client com el servidor s’anoten les concessions, el client la que rep i el servidor les que concedeix. Quan finalitza una concessió, el servidor pot decidir revocar-la o ampliar-la.

Alliberament d'una concessió

El client pot alliberar (release en anglès) una concessió directament des de la línia de comandes. En un entorn Linux:
dhclient -r
En un entorn Windows:
ipconfig /release

El client pot decidir renunciar a la concessió en qualsevol moment. Si el client vol allargar la concessió inicia un diàleg DHCP abreujat amb el servidor que pot acabar amb una renovació o amb la pèrdua de la concessió (sempre pot tornar a començar el procés). Tant el servidor com el client miren normalment les concessions que s’han efectuat entre ells amb anterioritat per tal de, si és possible, repetir la mateixa assignació.

  • Reserves: anomenem reserves aquelles adreces IP que s’assignen per DHCP però de manera fixa. És a dir, són adreces que s’assignen dinàmicament però sempre i únicament a un host determinat. Fixeu-vos que tot i ser una adreça dinàmica només s’utilitza si el host associat en fa ús. Si el host està apagat, l’adreça no es pot usar per a altres hosts, està reservada. Un exemple de reserva podria ser:
subnet 140.220.191.0 netmask 255.255.255.0 {
       host iocserver {
           hardware ethernet 08:00:2b:4c:59:23;
           fixed-address 140.220.191.1;
       }
      range 140.220.191.150 239.252.197.250;
       }

En aquest exemple es pot veure que l’adreça 140.220.191.1 és una adreça reservada exclusivament per al host iocserver, que s’identifica mitjançant la seva adreça MAC.

DHCP, un servei client/servidor

El servei DHCP és un més dels serveis de xarxa que tenen l’estructura client/servidor. Els servidors DHCP són els equips que tenen en execució el programa servidor. És el programa encarregat d’atendre les peticions dels clients i oferir-los la configuració de xarxa, tot portant el registre de les IP que concedeix i de totes les accions que realitza. Els clients DHCP són aquells equips que realitzen peticions a un servidor DHCP per obtenir una configuració de xarxa.

Com acostuma a passar amb els serveis client/servidor, un equip pot realitzar les dues funcions al mateix temps.

ISP

ISP: Internet service provider o proveïdor de servei/accés a Internet. Ho són, per exemple, les empreses Ono, Vodafone o Jazztel.

Client DHCP

Un equip client DHCP és un equip que sol·licita l’adreça IP i altres paràmetres de configuració de xarxa a un servidor DHCP en lloc de tenir-los definits localment en l’equip.

Si connecteu el vostre equip informàtic a la xarxa Internet per mitjà d’un ISP (Internet service provider o proveïdor d’accés a Internet), segurament rebreu una IP dinàmica del vostre proveïdor. Quan es realitzava una trucada telefònica amb mòdem i usant el protocol PPP (Point to Point Protocol o protocol punt a punt), el proveïdor proporcionava una adreça IP dinàmica. Si utilitzeu ADSL i un encaminador o router, segurament l’encaminador us proporciona una adreça IP dinàmica privada a l’ordinador de casa. Al mateix temps, l’encaminador obté una adreça IP dinàmica pública del proveïdor. Aquestes adreces IP dinàmiques són fixes (sempre les mateixes) o dinàmiques de rang (pot ser qualsevol adreça IP del conjunt d’adreces IP que té disponibles per concedir el servidor DHCP).

IP pública / IP privada

La diferència entre una IP pública i una IP privada és que la pública és visible per a tots els equips d’Internet, mentre que la privada és visible només dins de la mateixa xarxa local.

L'encaminador: servidor i client DHCP

Un cas típic en una xarxa privada a casa és disposar d’un encaminador ADSL connectat a un proveïdor ISP. L’encaminador actua com a client DHCP en la seva interfície de xarxa pública (la de l’ADSL), la que connecta a Internet.

Alhora, l’encaminador fa usualment de servidor DHCP per als ordinadors de casa proporcionant-los una adreça IP. En general els ordinadors dels usuaris es configuren com a clients DHCP.

El client DHCP ha de tenir en funcionament un dimoni encarregat de la gestió de les tasques DHCP pròpies del client. Realitza la part de negociació encarregada al client (DHCP discovery, request) i també porta un registre de les concessions (leases) rebudes. Aquest registre és el que utilitza el client per tornar a demanar la mateixa IP que tenia anteriorment. Un cop rebuda la concessió, el programa client queda “adormit”, pendent de tornar-se a executar automàticament quan calgui renegociar la concessió. Sense intervenció de l’usuari, el programa client s’activa i segueix el procediment necessari per renegociar l’adreça IP cada cop que el temps de la concessió s’exhaureix.

Configuració client

Usualment, les configuracions client es poden fer de tres maneres diferents:

  • Fitxer de text: editar directament els fitxers de configuració.
  • Menús en mode text: usant algun programa de menús amb interfície de text.
  • Aplicació gràfica: usant una aplicació de finestres en l’entorn gràfic.

'Frontend'

Part que està formada per una interfície gràfica i que acostuma a recollir dades interactuant amb l’usuari. És molt comú en els entorns Unix/Linux tenir comandes molt potents amb una varietat d’opcions i disposar d’algun frontend per a aquella comanda perquè la interacció sigui més amigable.

Els programes client varien d’un sistema operatiu a un altre i la manera d’executar-los també. Generalment es disposa d’un client executable en mode text o ordres i d’una interfície gràfica (GUI, graphics user interface o interfície gràfica d’usuari) per a la configuració. No cal dir que els sistemes Windows tendeixen a la configuració gràfica usant finestres i a la configuració i execució interna d’amagat de l’usuari. Normalment, en els sistemes GNU/Linux la configuració es fa usant fitxers de text o opcions que es donen a ordres executables. La interfície gràfica acostuma a ser un frontend per cridar l’ordre. Segons sigui el sistema operatiu es pot consultar el fitxer de registre de les concessions rebudes pel client, el fitxer de leases, més o menys detalladament.

Generalment, el programa client es pot configurar per definir com es comunicarà amb el servidor: informació a demanar, informació a proporcionar al servidor, opcions per defecte…

Servidor DHCP

L’administrador de xarxa és l’encarregat de pensar la ubicació del servidor o servidors DHCP en l’estructura corporativa. Com més complicada sigui la topologia de la xarxa, més difícil en serà la gestió. Una xarxa corporativa bàsica pot disposar d’un únic servidor DHCP que ofereix els seus serveis a tots els equips de la xarxa. Els clients poden estar en una mateixa subxarxa o en diverses subxarxes, però totes amb connectivitat amb el servidor DHCP. Aquest també pot ser l’esquema d’una xarxa privada a casa, on un encaminador (el de l’ISP, per exemple) proporciona el servei DHCP a tots els ordinadors de la casa.

Si la xarxa corporativa creix i passa a tenir subxarxes segmentades amb tallafocs, la configuració del servidor DHCP es complica. Si es vol continuar disposant d’un únic servidor per a tota la xarxa, caldrà que els tallafocs (firewalls) deixin passar els paquets DHCP entre les subxarxes i el servidor. Una altra opció és posar un servidor DHCP per a cada subxarxa o grups de subxarxes. Fent-ho així, l’administració de cada servidor és més senzilla, però hi ha més servidors a administrar. Una xarxa amb una casuística completa és la que té diversos servidors DHCP per a diverses parts de la xarxa i tallafocs entre clients i servidors que han de permetre el pas de paquets DHCP.

Si el servidor DHCP és l’encarregat de donar adreces IP als clients, qui li proporciona una adreça IP a ell? Ho fa o bé un altre servidor DHCP (i podríem tornar a fer la mateixa pregunta indefinidament) o bé l’administrador. Usualment, en una xarxa corporativa el servidor DHCP utilitza una IP estàtica definida per l’administrador. Això li permet estar sempre disponible per als clients amb la mateixa IP i no el fa dependre d’un servidor extern.

Els fitxers de logs (successos) recullen els esdeveniments que es volen monitorar.

Hi ha diversos programes servidors DHCP que es poden classificar en dos grans grups: els que treballen en mode text i els que ho fan en mode gràfic. Cada administrador treballa amb les seves eines preferides. Les tasques bàsiques per aprendre a utilitzar un servidor DHCP són: observar, fer una llista de la configuració actual, activar/aturar el servei, modificar la configuració, monitorar els logs (registre de successos del servei) i, evidentment, saber instal·lar i desinstal·lar l’aplicació servidor.

Com la majoria de serveis de xarxa, el servei DHCP s’executa en segon pla en forma de dimoni. El servidor DHCP sempre està engegat escoltant en el port 67 les peticions que rep dels clients. Quan rep una petició entrant, el programa executable del servidor DHCP la processa i posa en marxa tot el mecanisme DHCP pertinent per tornar a escoltar noves peticions. De fet, el servidor sempre escolta peticions i les processa simultàniament (segons la configuració).

Els fitxers del registre del servei, on s’anoten les concessions, mantenen la informació encara que el servei s’aturi o que el servidor s’apagui. En tornar a engegar-lo es llegiran de nou els fitxers de registres per tal de saber quines són les concessions que s’havien realitzat.

Els fitxers de concessions permeten mantenir la coherència de l’assignació d’adreces IP entre aturades del servei.

Instal·lació del servidor DHCP

El servei de xarxa DHCP està estructurat en forma de servei client/servidor; per tant, caldrà disposar del programari apropiat per interpretar cada un d’aquests rols. El programari que fa la funció de client ja està usualment integrat en el sistema operatiu. És a dir, per disposar de la part client del servei DHCP normalment no cal instal·lar res.

Així, doncs, quan parlem d’instal·lar un servei DHCP fem referència al procés d’instal·lació i configuració del programari del servidor DHCP. Evidentment també caldrà configurar els clients adequadament per fer ús del servei.

La instal·lació del programari que proporciona el servei DHCP es fa de manera molt similar (per no dir idèntica) al programari d’altres serveis de xarxa com DNS, HTTP o FTP. Es tracta d’instal·lar el programari de l’aplicació servidor i fer-ne la configuració apropiada.

Per fer-ho cal fer les reflexions i els passos següents:

  1. Preguntarse: Quin programari proporciona aquest servei? Quines característiques té? Com es pot adquirir?
  2. Obtenir l’aplicació que proporciona el servei DHCP.
  3. Observar l’estat de la xarxa actual. Està ja el servei en funcionament? Existeix ja una configuració DHCP activa?
  4. Instal·lar l’aplicació servidor.
  5. Comprovar que la instal·lació s’ha fet correctament.
  6. Configurar el servei en el servidor i activar els clients perquè l’utilitzin.
  7. Comprovar que el servei funciona correctament.

Aplicacions servidor DHCP

Sempre que l’administrador vol posar en funcionament un nou servei de xarxa cal que primerament analitzi quines aplicacions hi ha al mercat que ofereixen aquest servei. És feina seva estudiar les característiques de les diverses aplicacions, avaluar-ne l’eficiència, el cost, el que en diuen altres usuaris… La manera més fàcil de fer això és navegar per Internet, consultar les revistes especialitzades o demanar consell a informàtics experts.

Usualment, però, l’administrador acaba utilitzant l’aplicació servidor DHCP que li proporciona el mateix sistema operatiu. Si utilitzeu Windows, l’empresa Microsoft disposa d’una aplicació pròpia, però també en podeu trobar d’altres a Internet. Igualment, si utilitzeu GNU/Linux segurament la mateixa distribució ja proporciona un servidor DHCP. De totes maneres també en podeu obtenir d’altres a Internet.

Configuració del servei

Per configurar el servei DHCP primer cal saber observar i manipular la configuració de xarxa existent, i això consisteix a:

  • Fer la llista de la configuració de xarxa actual.
  • Comprovar l’estat del servei de xarxa.
  • Activar/desactivar el servei de xarxa.
  • Monitorar el servei i el procés del servidor.

Exemples de configuració

A GNU/Linux és molt usual que el paquet que proporciona un servei inclogui un fitxer d’exemple de configuració. El servei DHCP inclou el fitxer dhcpd.conf i la pàgina de manual del mateix nom.

Les tasques principals per configurar un servidor DHCP són les següents:

  • Instal·lar el programari del servidor DHCP.
  • Activar/desactivar el servei del DHCP.
  • Fer la llista de la configuració actual del servidor DHCP.
  • Modificar la configuració del servidor DHCP.
  • Monitorar els logs del servei DHCP i els fitxers de registre de les concessions (leases).

Abans d’endinsar-nos en la configuració del servei és molt útil observar una configuració ja existent. Un exemple de fitxer de configuració del servei DHCP és el que es mostra a continuació:

# a) opcions globals del servidor DHCP (usuals)
ddns-update-style interim;
ignore client-updates;

# b) definició de la xarxa a la qual s'ofereix el servei DHCP
subnet 192.168.0.0 netmask 255.255.255.0 {
   # opcions genèriques per a tots els equips de la xarxa
   option routers      192.168.0.1;
   option subnet-mask     255.255.255.0;
   option domain-name     "domain.org";
   option domain-name-servers  192.168.1.1;

   # definició del rang d'IP dinàmiques a usar 
   # i dels temps de les concessions
   range dynamic-bootp 192.168.0.128 192.168.0.254;
   default-lease-time 21600;
   max-lease-time 43200;

  # c) opcions d'equips individuals
  # el servidor NS obté sempre una adreça fixa basada en MAC
  host ns {
   next-server marvin.redhat.com;
   hardware ethernet 12:34:56:78:AB:CD;
   fixed-address 207.175.42.254;
  }
}

En aquest fitxer de configuració es pot veure que hi ha tres àmbits diferents de definició:

  1. Opcions globals del servidor DHCP. Són opcions que indiquen al servidor la manera d’actuar. També són opcions generals que cal aplicar a totes les concessions que es realitzin, independentment de la xarxa o equip.
  2. Definicions i opcions de xarxa. Es defineixen tantes (sub)xarxes com atén el servidor. Cada definició de subxarxa consta de l’adreça IP de la xarxa i la màscara corresponent. Entre claus s’indiquen totes les opcions específiques per a les concessions de les adreces IP corresponents a la subxarxa. És habitual indicar el rang o pool d’adreces dinàmiques a usar, la porta d’enllaç predeterminada, el servidor de noms…
  3. Opcions d’equips individuals. Dins d’una subxarxa es poden definir opcions per a equips individuals. Cal identificar els equips per la seva adreça MAC i, entre claus, indicar les opcions que els són específiques. Això permet assignar adreces fixes dinàmicament (equivalent al protocol BOOTP) usant les opcions de maquinari Ethernet i fixed-address.

Les opcions globals de configuració DHCP es poden redefinir amb valors diferents dins d’un bloc de xarxa concret. Dins d’un equip també es poden definir opcions amb valors diferents als definits per a la xarxa o globalment. Tal com passa en els llenguatges de programació, preval el valor més intern, el de host per damunt del de xarxa i el de xarxa per damunt del global.

Configuració bàsica

Per fer funcionar el servidor DHCP cal configurar-lo. Per poder arrencar li cal saber a quina xarxa donarà servei i quin és el rang d’adreces IP que pot usar dinàmicament per a les concessions als clients.

El paquet DHCP conté un fitxer d’exemple al directori /user/share/doc/ dhcp*/dhcpd.conf.sample. Aquest fitxer es pot copiar a /etc/dhcpd.conf i passarà a ser la configuració bàsica del servidor DHCP. Podem veure’n el contingut fent:

root@server:~# ls -l /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example
-rw-r--r-- 1 root root 3496 de des.  11  2018 /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example
root@server:~# head /etc/dhcp/dhcpd.conf 
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
root@server:~# 

En la configuració per defecte es poden analitzar els diversos elements que es configuren:

  • Opcions globals: indiquen al servidor que ignori les actualitzacions dels clients i el tipus de DDNS a usar (actualitzacions dinàmiques de DNS).
  • Definició de subxarxa: cal definir tants blocs de subxarxa com subxarxes atengui el servidor DHCP.
  • Opcions genèriques de subxarxa: es poden indicar opcions genèriques per als equips d’una subxarxa. Evidentment poden diferir de les opcions d’altres subxarxes.
  • Les opcions principals de xarxa a descriure són l’encaminador, la màscara de xarxa, el domini…
  • Les opcions principals a descriure del servei DHCP són el rang d’adreces IP dinàmiques a usar i el temps màxim de concessió.
  • Perquè un host determinat tingui sempre la mateixa adreça IP es poden fer entrades individualitzades per a hosts concrets. Els hosts s’identifiquen per la seva adreça MAC.
  • A un host concret se li poden aplicar opcions individualitzades, com per exemple definir el seu nom. Les opcions individuals prevalen sobre les genèriques.

Configuració avançada

El protocol DHCP permet configuracions d’una certa complexitat. Podeu consultar la documentació del DHCP i les pàgines del manual sobre el dimoni dhcpd i el fitxer de configuració dhcpd.conf.

Les característiques principals que s’hi descriuen són l’agrupació d’entrades en grups i classes i la possibilitat que el DHCP es comuniqui amb el DNS (actualitzacions DDNS) per crear entrades DNS quan un equip rep una configuració DHCP.

Vegeu un exemple de configuració amb opcions més avançades:

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

ddns-update-style none;
authoritative;

subnet 10.5.5.0 netmask 255.255.255.224 {
  range 10.5.5.26 10.5.5.30;
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 10.5.5.1;
  option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
}

host fantasia {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address fantasia.example.com;
}

# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

class "foo" {
  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}

shared-network 224-29 {
  subnet 10.17.224.0 netmask 255.255.255.0 {
    option routers rtr-224.example.org;
  }
  subnet 10.0.29.0 netmask 255.255.255.0 {
    option routers rtr-29.example.org;
  }
  pool {
    allow members of "foo";
    range 10.17.224.10 10.17.224.250;
  }
  pool {
    deny members of "foo";
    range 10.0.29.10 10.0.29.230;
  }
}

Base de dades de concessions fetes pel servidor

El servidor desa en una base de dades local (de fet, són fitxers de text) les concessions (leases) que realitza. D’aquesta manera en pot seguir la pista en tot moment. Generalment les té a la memòria (per permetre’n un accés més ràpid), però en manté una còpia al disc. Si, per exemple, el sistema o el servei es reinicia, pot saber quines són les concessions que encara estan actives (i, per tant, quines adreces IP no té disponibles).

Usualment el fitxer de concessions és a /var/lib/dhcp. Vegeu-ne el contingut fent:

root@server:~# cat /var/lib/dhcp/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.4.1

# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;

root@server:~#

Assignacions estàtiques i dinàmiques

Els clients de xarxa o bé tenen una configuració estàtica on es defineixen els seus paràmetres o bé reben la configuració per DHCP. El procés de configurar un client DHCP és tan senzill com activar aquesta última opció usant algun dels mètodes adients.

La configuració dels clients DHCP consisteix en el següent:

  • Observar la configuració de xarxa actual del client.
  • Configurar el client per rebre dinàmicament una adreça IP. Es tracta d’activar/desactivar la configuració de xarxa dinàmica o estàtica.
  • Sol·licitar una nova IP al servidor DHCP.
  • Fer la llista del fitxer de registre de les concessions client rebudes.
  • Activar/desactivar el servei de xarxa en el client.

Client dinàmic

Tot equip client de xarxa necessita una configuració apropiada. Si aquesta configuració es defineix element per element en el mateix equip, s’anomena configuració estàtica. Si és així, no cal un servidor DHCP. És quan els clients reben la configuració de xarxa externament que parlem de configuració dinàmica i ens cal un servidor DHCP que la proporcioni.

La configuració del client es pot fer en mode text editant directament els fitxers, utilitzant interfícies de text o gràfiques (applets).

Edició dels fitxers de configuració

Es pot editar directament el fitxer de configuració de la interfície de xarxa pertinent i establir l’opció dhcp a la directiva iface per activar el client DHCP. Si per exemple es vol configurar la interfície de xarxa enp0s3, el fitxer hauria de tenir el següent aspecte:

root@server:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet dhcp
root@server:~# 

Menús amb interfície de text

Un altre mecanisme per activar el client DHCP és utilitzar alguna utilitat de menús en entorn de text (varien segons el sistema i se’n poden trobar a Internet), tot i que estan en força desús.

La figura que mostra una configuració de client de xarxa estàtica i on es pot veure que la casella que permet activar el client DHCP està desactivada.

Figura Configuració estàtica del client DHCP

El procediment per activar el client de xarxa DHCP és molt senzill. N’hi ha prou d’activar l’opció pertinent, tal com mostra la figura (“Activació del client DHCP usant menús de text”).

Figura Activació del client DHCP usant menús de text

Menús en mode gràfic

En mode gràfic, el sistema també proporciona mecanismes per configurar les interfícies de xarxa i establir el mode d’activació a DHCP. En la figura es pot observar que la configuració de la interfície té activada l’opció de configuració de xarxa per DHCP.

Figura Activació del client DHCP usant l’entorn gràfic

Renovació de l'adreça IP

El client DHCP pot alliberar l’adreça que utilitza quan ho creu pertinent. En fer-ho, el servidor anota la fi de la concessió i si es tracta d’una adreça dinàmica de rang torna a quedar disponible per assignar-la a un altre client. Quan a un client se li està acabant el temps de concessió ha de tornar a negociar una adreça amb el servidor. De totes maneres, si el client vol, en pot tornar a sol·licitar una en qualsevol moment.

El client pot alliberar una adreça (release) que està en ús en qualsevol moment. Pot forçar-ho fent, per exemple:

root@client:~# dhclient -r -v enp0s3
Killed old client process
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp0s3/08:00:27:f8:f9:29
Sending on   LPF/enp0s3/08:00:27:f8:f9:29
Sending on   Socket/fallback
DHCPRELEASE on enp0s3 to 10.0.2.3 port 67 (xid=0x3ab21a2a)

Per forçar el client a demanar una nova adreça per a la interfície Ethernet enp0s3 es pot fer:

root@client:~# dhclient  -v enp0s3
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp0s3/08:00:27:f8:f9:29
Sending on   LPF/enp0s3/08:00:27:f8:f9:29
Sending on   Socket/fallback
DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 3 (xid=0xf5a1913d)
DHCPREQUEST of 10.0.2.10 on enp0s3 to 255.255.255.255 port 67 (xid=0x3d91a1f5)
DHCPOFFER of 10.0.2.10 from 10.0.2.3
DHCPACK of 10.0.2.10 from 10.0.2.3
bound to 10.0.2.10 -- renewal in 506 seconds.

La comanda dhclient amb el paràmetre -v (verbose) és molt útil ja que mostra molta informació, i en cas d’error (mala configuració, error de xarxa, etc.) permet afinar molt d’on prové l’error.

Registre de concessions rebudes

El client DHCP porta un registre de les concessions rebudes; d’aquesta manera pot tornar a demanar una concessió abans que expiri l’actual. Aquest registre també serveix per demanar al servidor una adreça IP concreta. Les concessions o leases del client es desen en un fitxer anomenat /var/lib/dhcp/dhclient.leases. Podem veure’n el contingut fent:

root@client:~# tail /var/lib/dhcp/dhclient.leases
  option subnet-mask 255.255.255.0;
  option routers 10.0.2.1;
  option dhcp-lease-time 1200;
  option dhcp-message-type 5;
  option domain-name-servers 192.168.1.1;
  option dhcp-server-identifier 10.0.2.3;
  renew 6 2020/07/11 14:20:25;
  rebind 6 2020/07/11 14:28:39;
  expire 6 2020/07/11 14:31:09;
}
root@client:~# 

Comprovació del funcionament

La millor manera de comprovar el funcionament del DHCP és simplement posant-lo en marxa, és a dir, creant una xarxa amb diversos clients DHCP i un servidor que els atengui. Per saber si el servei funciona cal mirar un per un cada client i comprovar que han rebut la configuració de xarxa correcta. El problema, però, és què fer si els clients no es configuren correctament.

En l’apartat “Funcionament del protocol DHCP” podeu observar detalladament com és el diàleg entre el client i el servidor.

En l’apartat “Renovar l’adreça IP” s’explica com forçar el client a demanar una nova configuració.

Podeu manipular vosaltres mateixos la captura del trànsit de xarxa DNS carregant el fitxer de captura del Wireshark que es lliura com a material complementari. Aquest fitxer el trobareu en la secció “Annexos” del web del mòdul.

Els passos més usuals a seguir per a la resolució de problemes són:

  • Comprovar que la xarxa està correctament connectada físicament, és a dir, cables, connectors, interfícies…
  • Mirar si existeix connectivitat entre els equips, per exemple, usant una configuració estàtica. Això permetrà descartar que els problemes siguin deguts a altres causes. Si el DHCP no va és que no està configurat correctament.
  • Repassar la configuració del client i del servidor DHCP, especialment la del servidor. Es pot començar fent la configuració tan senzilla com sigui possible. Un cop funciona es pot anar avançant en la seva complexitat.
  • Examinar els fitxers de concessions, tant el del client com el del servidor, per detectar-hi anomalies.
  • Quan la comunicació client/servidor no funciona correctament i no sabem per què, és molt útil monitorar el trànsit de xarxa mitjançant alguna eina d’anàlisi dels paquets que viatgen per la xarxa.

Centrem-nos, doncs, en el monitoratge del trànsit de xarxa per tal de comprovar que el diàleg entre el client i el servidor és l’apropiat. Existeixen moltes eines al mercat (que podeu trobar per Internet) que fan aquesta funció. Una de les més recomanables és Wireshark. Amb aquesta aplicació hem de poder observar l’intercanvi dels paquets DHCP discover, DHCP offer, DHCP request i DHCP ack que es produeix quan tot el procés DHCP funciona correctament. Si aquest intercanvi no es produeix és que hi ha algun problema.

En la figura (“Captura d’un diàleg DHCP client/servidor”) podeu observar una captura de trànsit DHCP feta amb Wireshark. La captura s’ha fet al servidor i s’ha forçat al client a demanar de nou una configuració de xarxa amb la utilitat dhclient.

Figura Captura d’un diàleg DHCP client
servidor

Opcions addicionals de configuració

Com en la majoria de serveis actuals, la quantitat d’opcions de configuració és impressionant, per no dir aterridora. L’administrador de xarxa ha de conèixer les opcions bàsiques per configurar el servei DHCP, que inclouen l’assignació d’una configuració de xarxa bàsica, els temps de les concessions, assignacions dinàmiques i fixes, i fitxers d’arrencada via PXE.

Existeixen centenars d’opcions de configuració que permeten especificar la configuració del client fins al mínimin detall. Més important encara, existeixen diversos mecanismes per agrupar les opcions per host, subxarxa, classe, pool…, fet que premet definir “prototipus” de configuració per aplicar a hosts segons si tenen o no unes característiques determinades.

També existeixen extensions DHCP que permeten usar expressions i llenguatges de programació per poder realitzar configuracions complexes que permeten decidir quin tipus de configuració assignar al client.

Opcions de configuració del servidor i àmbit d'aplicació

Les opcions de configuració DHCP són múltiples i comprenen molts àmbits. Algunes permeten la compatibilitat amb sistemes antics, d’altres, amb altres tipus de xarxes… No és imaginable que un administrador de xarxes les conegui totes a fons. Normalment fa ús d’un conjunt reduït d’opcions que és més que suficient per administrar la majoria de xarxes.

La configuració DHCP es pot definir tant en el client com en el servidor, tot i que usualment es fa en el servidor. La tasca principal és configurar un servidor per tal de proporcionar les opcions apropiades a cada subxarxa. De totes maneres, però, un client també pot disposar d’un fitxer de configuració en el qual es defineixen quins són els seus requeriments i com ha de ser el diàleg amb el servidor. Per exemple, es defineixen quines opcions ha de sol·licitar, valors per defecte de determinades opcions (per si el servidor no en proporciona). El client també pot definir informació que proporcionarà al servidor per tal que aquest prengui decisions dinàmicament.

Caldrà, doncs, entendre quins són els àmbits (scope) de definició de sentències i opcions, com s’agrupen les subxarxes i els hosts, quines són les opcions globals, com es realitzen les definicions condicionals i molts altres detalls.

Àmbit de definició

Els clients es poden agrupar en diversos àmbits per tal de definir les opcions que han de rebre. El mateix servidor DHCP pot actuar de manera diferent segons quin sigui l’àmbit de definició.

Alguns dels conceptes a tractar són:

  • Subnets
  • Període de concessió
  • Adreces fixes o reservades: identificació de hosts
  • PXE: protocol d’arrencada via xarxa
  • Àmbit d’aplicació
  • Pool

Les sentències d’àmbit d’aplicació més usuals són subnet i host, que permeten identificar una subxarxa i un host concret respectivament. Les subxarxes es poden agrupar en shared-network i els clients es poden agrupar usant la sentència group. Les opcions es poden definir en funció de determinats requisits que compleixi el client mitjançant la sentència class i les declaracions condicionals.

El servei DHCP es pot configurar amb multitud de sentències que es poden repassar a l’RFC 2131 i a la pàgina de manual dhcpd.conf(5). Els clients DHCP reben del servidor la configuració de xarxa. Usualment parlem de l’adreça IP i la màscara, però de fet poden rebre gran quantitat de paràmetres de configuració de xarxa i informació sobre diversos serveis de xarxa disponibles. El client, per la seva part, pot sol·licitar paràmetres concrets al servidor. Quan configura el servei DHCP, l’administrador de xarxa no ha d’especificar totes les opcions possibles (de fet són moltíssimes), sinó només les que siguin necessàries per a cada client. Algunes opcions prenen valors per defecte i no cal especificar-les, d’altres no poden ser alterades pel servidor.

Una de les possibilitats que ofereix el DHCP és configurar les opcions de xarxa en funció de qui i de com és el client. És a dir, assignar al client una configuració de xarxa o una altra en funció de la informació que proporciona. Fixeu-vos que no es tracta d’entrades host estàtiques per a cada client, sinó que un mateix client tindrà una o altra configuració segons la informació que proporcioni.

Documentació de procediments

Una de les feines més desconegudes en el món de la informàtica és la confecció de manuals i documentació de suport. Com a clients, molt sovint ens queixem que ens falta informació o que està mal redactada. Com a administradors de xarxa, en canvi, no trobem mai temps per anotar les coses. Mentre les tenim al cap no creiem necessari fer la documentació, i després ja ens és impossible fer-ho, i sovint és just quan ens faria falta haver-ho fet.

Cal tenir clara la informació que cal documentar, tant per a l’usuari com per a l’administrador.

Un altre exemple de captura DHCP es lliura com a material d’estudi. En aquesta captura hi ha dos servidors DHCP diferents en la xarxa i es poden observar paquets NACK. Trobareu aquest fitxer en la secció “Annexos” del web del mòdul.

El client ha de saber:

  • Com contactar amb el servidor DHCP. Quin programari ha d’utilitzar i com l’ha de configurar per fer ús del servei.
  • Quina és la informació que obtindrà via DHCP. Cal saber consultar aquesta informació i saber què significa, per a què serveix.

La documentació de l’usuari ha de descriure el procés per activar el client DHCP, amb l’ajut de captures de pantalla. Calen també exemples de llista de concessions rebudes: on són i com es poden consultar. La part més important és mostrar un exemple de configuració de xarxa rebuda en el qual es detalli el significat de cada element i explicar a l’usuari com fer aquesta consulta.

Anar a la pàgina anterior:
Annexos
Anar a la pàgina següent:
Activitats