Salta el contingut

UD3. El servei DHCP

Introducció

L’administrador de xarxa té la tasca de configurar els equips que la componen. Això significa configurar els servidors, els equips client, concentradors, encaminadors, etc. 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 pesada i repetitiva si no es disposa de serveis de xarxa que la faciliten.

El servei DHCP permet la configuració d’adreces IP, màscares, passarel·les per defecte i moltes altres opcions de configuració de manera totalment dinàmica. DHCP és l’acrònim de dynamic host configuration protocol, en català, protocol de configuració dinàmica d’equips.

Què fa el DHCP?

Una forma planera d’entendre el DHCP és imaginar que els equips de client en arrencar fan un crit per la xarxa i pregunten hi ha algú?, qui sóc jo?. El servidor de 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.

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-se.

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, d’altra banda, poder 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 altres paràmetres de configuració de xarxa es realitza per a un període de temps determinat, que varia en funció de les necessitats del client i del servidor.

Avantatges DHCP

El servei DHCP té diversos avantatges:

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

Exemples d'ús del servei DHCP

  • En una biblioteca que admet connexions Wi-Fi, els clients obtindran concessions per a 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 molt llargs, per exemple, dies.

Evolució del protocol DHCP

El protocol DHCP ve descrit, com la majoria de protocols de xarxa, per un document oficial anomenat RFC. Al llarg dels anys ha sofert diverses evolucions per anar-se adaptant a les necessitats de cada moment. Tot protocol implica un diàleg entre els equips que hi intervenen, ens caldrà doncs analitzar quin és i com es produeix aquest diàleg.

Evolució del protocol DHCP

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 també d’altres paràmetres necessaris per a una connexió en 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, protocol d’arrencada). 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 protocol 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.

El BOOTP va donar pas al protocol DHCP, que n’és una evolució amb moltes més prestacions. El DHCP sorgeix l’octubre del 1993 a través de l’RFC 1531. Ràpidament evoluciona per mitjà de diverses RFC, com l’RFC 1541 el mateix any 1993, que serà substituïda 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ó de DHCP per a xarxes Ipv6 és en l’RFC 3315.

PRINCIPALS RFC DEDICADES A DHCP:

  • RFC 2131. Març 1997. DHCP dynamic host configuration protocol.
  • RFC 2132. DHCP options.
  • RFC 3396. Encoding long options.
  • RFC 4361. No especific client identifications for dhcpv4.
  • RFC 3315. DHCPv6 dinamic host configuration protocol Ipv6.

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

Un servei client/servidor

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

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 el registre de totes les accions que realitza. Els clients DHCP són aquells equips que realitzen peticions per obtenir una configuració de xarxa a un servidor DHCP.

El client DHCP

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

ISP

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

Si connecteu el vostre equip informàtic a la xarxa Internet per mitjà d’un ISP, 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, 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 IP dinàmica pública del proveïdor. Aquestes adreces IP dinàmiques són fixes (sempre les mateixes) o dinàmiques d’interval (pot ser qualsevol 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.

El client DHCP ha de tenir en funcionament un dimoni (daemon) encarregat de la gestió de les tasques DHCP per part del client. El programa 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'esgota.

Configuració del client

Usualment les configuracions clients 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.

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 com a opcions en l’ordre d’execució. La interfície gràfica acostuma a ser un frontal (front-end) 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-ne el comportament en la comunicació amb el servidor: informació a demanar, informació a proporcionar al servidor, opcions per defecte, etc.

El 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 router (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 les unes de les altres, la configuració del servidor DHCP es complica. Si es vol continuar amb 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? 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 altre servidor extern.

Hi ha diversos programes servidors DHCP: en mode text, en mode gràfic, en mode “màgic” (no es veu què fan) i en mode Unix (tot basat en fitxers de text). 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). - Saber instal·lar i desinstal·lar l’aplicació servidor.

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

Com la majoria de serveis de xarxa, el servei DHCP és un servei que 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, permeten mantenir la informació encara que el servei s’aturi o que el servidor s’apagui. En tornar a engegar 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.

Configuració d'un equip de xarxa

Qualsevol equip que pertany a una xarxa requereix que es configure amb uns paràmetres mínims, que són l’adreça IP, la màscara i la porta d’enllaç per defecte. 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é la porta d’enllaç predeterminada. A part de la configuració bàsica, els equips poden necessitar (i de fet ho necessiten) més paràmetres de configuració com, per exemple: el nom del host, el servidor DNS, el fitxer d’iniciació a baixar, etc.

Exemple de configuració de xarxa d'un equip de casa

La majoria d’usuaris disposen a casa d’un equip (o més) connectats a un 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 del router. Podeu comprovar a casa quina configuració teniu. Una configuració d’exemple podria ser:

Paràmetre Valor
Adreça IP 192.168.1.33
Màscara de subxarxa 255.255.255.0
Porta d'enllaç 192.168.1.1
Servidor DHCP 192.168.1.1
Servidors DNS 8.8.8.8 - 8.8.4.4

Inconvenient de la configuració estàtica

La configuració estàtica implica configurar els equips un a un. Fins i tot encara que es tinga 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-lo 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 (i é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 ens 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 la xarxa. La composició de l’adreça IP i la màscara determina la xarxa o subxarxa a la qual pertany. A més a més, es configuren altres paràmetres de xarxa com la porta d’enllaç predeterminada, servidors DNS, etc. Això es pot configurar manualment anant equip per equip i introduint aquesta informació.

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 configuració IP estàtica.

Quan la configuració de xarxa d'un equip no es fa manualment i localment en l’equip sinó que es rep per mitjà d’un servidor DHCP, es diu que l’equip utilitza una configuració IP dinàmica. Per realitzar configuracions de xarxa dinàmicament caldran un o més servidors de 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 d'interval i assignació fixa.

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

Una assignació fixa es produeix quan el servidor DHCP sempre assigna 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 rep per mitjà d’un servidor DHCP es diu que utilitza una adreça IP dinàmica. Aquesta adreça pot variar dins d’un interval d’adreces disponibles per al servidor DHCP o pot ser fixa. Si l'assignació de la configuració es fa per a sempre es diu que es fa una assignació de configuració IP automàtica.

Els avantatges de disposar d’una 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, 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).

MAC

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

El model funcional 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

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.

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 de l’interval 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 IP, que la hi concedeix per un període de temps limitat.

UDP en les transmissions DHCP

L’intercanvi d’informació entre client i servidor no és massa 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.

sequenceDiagram
    autonumber
    participant Client
    participant Server

    Client->>Server: DHCP Discover (broadcast)
    Server-->>Client: DHCP Offer (unicast o broadcast)
    Client->>Server: DHCP Request (broadcast)
    Server-->>Client: DHCP Acknowledgment (unicast o broadcast)

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.

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ó IP 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) i 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 forma 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 discovery), un servidor DHCP mira d’atendre-la proporcionant una IP de l’interval d’adreces dinàmiques que gestiona (hi pot haver més d’un servidor DHCP en la mateixa xarxa).

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 DHCP discovery de nou. 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 ack / DHCP nack

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

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 sí 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.

El servidor anotarà en el registre de concessions la que acaba de realitzar i detallarà tots els aspectes d’aquesta, 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.

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 IP el client pot rebre una IP diferent a la que utilitza i no li interessa. 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 tot 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 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, etc.). El client només pot realitzar una petició d’informació DHCP information al servidor un cop ja està configurat.

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 fer un ping. Si ningú no respon é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, 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.

Com és possible que algun equip de la xarxa utilitze una adreça IP que forma part del conjunt d’adreces IP dinàmiques que reparteix el servidor DHCP? La resposta és senzilla: perquè hi ha algun equip mal 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 IP de nou. Sabem que les concessions són per a un interval de temps passat, la renovació de la qual cal que el client la demani. Existeix, doncs, un procés de renovació simplificat. El client demana continuar usant la mateixa IP amb un paquet DHCP request, i el servidor li concedeix o no amb els paquets DHCP ACK/NACK.

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 de l’interval que gestiona, etc.). En aquesta situació, el servidor envia un DHCP NACK.

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
ACTIVITAT 1: Diagrama UDP

Elabora un diagrama DHCP incloent els noms dels missatges que s'intercanvien per a establir una nova configuració IP, els equips que participen, ports UDP i explicacions de cada missatge.

A més a més, afig una captura de la seqüència de missatges capturats amb wireshark (filtre: bootp).

Intervals, exclusions, concessions i reserves

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

Interval: anomenen interval 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 intervals. Segurament s’entendrà més fàcilment amb un exemple:

1
2
3
4
5
6
7
8
subnet 140.220.191.0 netmask 255.255.255.0 {
    range 140.220.191.150 140.220.191.249;
}

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 interval de 100 adreces dinàmiques (de la 140.220.191.150 al 250). La segona subxarxa permet assignar dinàmicament dos intervals 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 interval.

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-ne la concessió.

El client, en qualsevol moment, pot decidir renunciar a la concessió. 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 normalment miren 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 via 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 podria ser:

1
2
3
4
5
6
7
subnet 140.220.191.0 netmask 255.255.255.0 {
   host iesserver {
      hardware ethernet 08:00:2b:4c:59:23;
      fixed-address 140.220.191.1;
   }
   range 140.220.191.150 140.220.191.249;
}

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

ACTIVITAT 2: Conceptes bàsics

Defineix en un document els següents conceptes:

  • Interval
  • Exclusions
  • Concessions
  • Reserves

Crea un fitxer de configuració indicant exemples dels conceptes anteriors. La xarxa de treball serà la 192.168.10.0/24.

Opcions addicionals del protocol

Recorda que el protocol DHCP proporciona la configuració IP no sols una adreça IP i la màscara. Per a afegir nous paràmetres s'utilitza la paraula reservada option.

option subnet-mask

L'opció subnet-mask s'utilitza per especificar la màscara de subxarxa que s'enviarà al client, si s'omet s'enviaria la màscara que va associada amb la declaració subnet a la qual pertanyi la IP assignada. El normal és ometre-la per facilitar el manteniment del fitxer de configuració. La seva sintaxi és la següent:

option subnet-mask ip-address;

Exemple

1
2
3
4
5
6
7
subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.10 10.0.0.254;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option routers 10.0.0.1;
    option broadcast-address 10.0.0.255;
    option subnet-mask 255.255.255.0;
}

option routers

L'opció routers s'usa per enviar-li al client la seva porta d'enllaç. Pot especificar una IP numèrica o un nom. La seva sintaxi és la següent:

option routers ip-address;

Exemple

1
2
3
4
5
subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.10 10.0.0.254;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option routers 10.0.0.1;
}

option domain-name-servers

L'opció domain-name-servers s'empra per enviar al client els servidors DNS que utilitzarà. La seva sintaxi és la següent:

option domain-name-servers ip-address [, ip-address ...]

Els servidors s'han d'especificar per ordre de preferència, sent el primer de la llista el que s'utilitzarà com a servidor DNS primari.

Els servidors DNS també es poden especificar, si volem, a través de noms que el servidor DHCP resoldrà amb l'ajuda del servidor de noms especificat en la configuració de la xarxa de l'equip on es trobe. L'avantatge d'usar noms en comptes d'IP, és que si aquestes canvien, el nom normalment no canviarà i per tant no caldrà modificar la configuració del servidor DHCP, però l'inconvenient és que la resposta al client, que sempre serà una IP, tardarà una mica més.

En el cas d'usar noms en comptes de IP és aconsellable instal·lar al costat del servidor DHCP un servidor DNS, o si més no que el servidor DNS estiga en el mateix segment de xarxa que el servidor DHCP, això agilitzarà bastant la resposta als clients.

Exemples

option domain-name-servers ns.elmeudns.com;
option domain-name-servers 8.8.8.8, 8.8.4.4;
1
2
3
4
subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.10 10.0.0.254;
    option domain-name-servers 8.8.8.8, 8.8.4.4
}

Problemes del servei

Atacs al funcionament de DHCP i conflictes d'adreces IP

Com tot servei de xarxa, el servidor DHCP és susceptible de patir atacs mal intencionats. L’atac més fàcil i clàssic és el DoS o de 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 done 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 (DHCP Spoofing). Recordem 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 intentarà 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, quan el client s’adreça a la seva entitat bancària, el servidor DNS en realitat li ha proporcionat una IP d’una màquina que falseja la de l’entitat bancària. Perillós, veritat?

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ó.

DHCP Spoofing

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, etc.), 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 de DHCP!).

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

Diversos servidors DHCP en la mateixa xarxa

Un altre dels problemes habituals és que per error o maldat es connecte a la xarxa un altre servidor DHCP que responga primer a les peticions de DHCP Discover. En els entorns corporatius cal tindre control de què es connecta a la xarxa per a evitar problemes. Aquests tipus d'escenaris es poden minimitzar indicant que el servidor és autoritari en el segment de xarxa afectat.


PRÀCTICA 1: Instal·lació i configuració d'un servei DHCP

OBJECTIUS

  • Instal·lar un servei de configuració dinàmica dels paràmetres de xarxa.
  • Presentar el servei per assignar la configuració bàsica als sistemes d'una xarxa local.
  • Realitzar assignacions dinàmiques i estàtiques.

RECURSOS NECESSARIS

ENUNCIAT

Per a la xarxa interna de l'entorn de treball instal·la el servei DHCP i configura'l de forma que:

  • Assigne dinàmicament les 100 primeres adreces disponibles.
  • Assigne la configuració addicional necessària perquè els clients DHCP puguen connectar-se a Internet.
  • Reserve la adreça IP 101 per a l'equip amb Windows.

ENTREGABLE

Guia d'instal·lació i configuració del servei DHCP en Ubuntu incloent:

  • Arxius de configuració bàsics.
    • Limitació perquè el DCHP sols funcione en la xarxa interna.
    • Canvis realitzats explicant els efectes.
  • Arxiu de concessions (leases)
  • Registre del sistema on es demostre una concessió.
  • Captura del comandament: sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
  • En Windows:
    • Execució de ipconfig /release
    • Execució de ipconfig /renew
    • Comprovació de la configuració assignada al Windows XP.
    • Captura amb wireshark del trànsit DHCP on es comprove tot el procés.

Presentació

Presentació