DHCP (Parte 2)

  En una entrada anterior de este blog se ha explicado qué es DHCP y su versión para IPv4. En la presente entrada se explicará la versión de DHCP para IPv6, que, aunque tiene algunas similitudes con la anterior, es algo más compleja.
  Al igual que con IPv4, las direcciones IPv6 de unidifusión global pueden configurarse manualmente o de forma dinámica. No obstante, existen dos métodos en los que las direcciones IPv6 de unidifusión global pueden asignarse dinámicamente:
  •   Configuración automática de dirección sin estado (SLAAC).
  •   Protocolo de configuración dinámica de host para IPv6 (DHCPv6 con estado).


SLAAC

  SLAAC es un método por el que un dispositivo informático puede obtener una dirección IPv6 de unidifusión global sin los servicios de un servidor de DHCPv6. ICMPv6 se encuentra en el centro de SLAAC. ICMPv6 es similar a ICMPv4, pero incluye funcionalidad adicional y es un protocolo mucho más sólido. SLAAC utiliza mensajes de solicitud y de anuncio de router ICMPv6 para proporcionar direccionamiento y otra información de configuración que normalmente proporcionaría un servidor de DHCP:
  1.   Mensaje de solicitud de router (RS): Cuando un cliente está configurado para obtener la información de direccionamiento de forma automática mediante SLAAC, el cliente envía un mensaje RS al router. El mensaje RS se envía a la dirección IPv6 de multidifusión de todos los routers (FF02::2).
  2.   Mensaje de anuncio de router (RA): Los routers envían mensajes RA para proporcionar información de direccionamiento a los clientes configurados para obtener sus direcciones IPv6 de forma automática. El mensaje RA incluye el prefijo y la longitud de prefijo del segmento local. Un cliente utiliza esta información para crear su propia dirección IPv6 de unidifusión global. Los routers envían mensajes RA de forma periódica o en respuesta a un mensaje RS. De manera predeterminada, algunos routers envían mensajes de RA cada 200 segundos. Los mensajes RA siempre se envían a la dirección IPv6 de multidifusión de todos los nodos (FF02::1).

  El servicio sin estado (SLAAC) indica que no hay ningún servidor que mantenga la información de la dirección de red. A diferencia de DHCPv4, no hay servidor de SLAAC que tenga información acerca de cuáles son las direcciones IPv6 que están en uso y cuáles son las que se encuentran disponibles.
  Para poder enviar mensajes RA, un router se debe habilitar como router IPv6, lo que se hace configurando este con un comando igual o similar a Router(config)# ipv6 unicast-routing (comando de router Cisco, puede variar con routers de otras marcas). 
  Si un equipo cliente (EC) está configurado para obtener el direccionamiento IPv6 de manera automática y, desde su arranque, no recibió un mensaje RA, enviará un mensaje RS a la dirección de multidifusión de todos los routers para informarle al router IPv6 local (RL) que necesita un RA.
  Cuando el RL recibe el mensaje RS, responde con un mensaje RA, donde se incluyen el prefijo y la longitud de prefijo de la red. Este mensaje se envía a la dirección IPv6 de multidifusión de todos los nodos (FF02::1) con la dirección link-local del router como la dirección IPv6 de origen.
  En cuanto EC recibe el mensaje RA que contiene el prefijo y la longitud de prefijo para la red local, utiliza esta información para crear su propia dirección IPv6 de unidifusión global. EC tiene ahora un prefijo de red de 64 bits, pero necesita una ID de interfaz (IID) de 64 bits para crear una dirección de unidifusión global. EC puede crear su propia IID única de dos modos:
  •   EUI-64: Mediante este proceso, EC crearía una IID utilizando su dirección MAC de 48 bits.
  •   De generación aleatoria: La IID de 64 bits puede ser un número aleatorio generado por el sistema operativo cliente.
  Dado que SLAAC es un proceso sin estado, para que EC pueda utilizar esta dirección IPv6 creada recientemente, debe verificar que sea única. Para hacer esto, EC envía un mensaje de solicitud de vecino ICMPv6 con su propia dirección como la dirección IPv6 de destino. Si ningún otro dispositivo responde con un mensaje de anuncio de vecino, la dirección es única y puede ser utilizada por EC. Si EC recibe un anuncio de vecino, la dirección no es única, y el sistema operativo debe determinar una nueva ID de interfaz para utilizar.
  Este proceso forma parte de la detección de vecinos ICMPv6 y se conoce como detección de direcciones duplicadas ("DAD", en sus siglas en inglés).
  La decisión de si un cliente se configura para obtener su información de direccionamiento IPv6 de forma automática mediante SLAAC, mediante DHCPv6 o mediante una combinación de ambos depende de la configuración dentro del mensaje RA. Los mensajes RA ICMPv6 contienen dos indicadores para señalar cuál es la opción que debe utilizar el cliente: el indicador de configuración de dirección administrada (indicador M) y el indicador de otra configuración (indicador O).
  Mediante distintas combinaciones de los indicadores M y O, los mensajes RA tienen una de las tres opciones de direccionamiento siguientes para el dispositivo IPv6:
  1. SLAAC (anuncio de router solamente).
  2. DHCPv6 sin estado (SLAAC y DHCPv6).
  3. DHCPv6 con estado (DHCPv6 solamente).



  Independientemente de la opción que se utilice, en RFC 4861 se recomienda que todos los dispositivos IPv6 realicen la detección de direcciones duplicadas (DAD) en cualquier dirección de unidifusión, entre las que se incluyen las direcciones configuradas mediante SLAAC o DHCPv6. Sin embargo, aunque el mensaje RA especifique el proceso que debe utilizar el cliente para obtener una dirección IPv6 de forma dinámica, el sistema operativo cliente puede elegir omitir el mensaje RA y utilizar los servicios de un servidor de DHCPv6 exclusivamente.
  La primera es la opción predeterminada en algunos routers. Tanto el indicador M como el indicador O están establecidos en 0 en el RA.
  Esta opción le indica al cliente que utilice la información que se incluye en el mensaje RA de manera exclusiva, lo cual incluye información del prefijo, de la longitud de prefijo, del servidor DNS, de la MTU y de la puerta de enlace predeterminada. No se encuentra disponible ninguna otra información de un servidor de DHCPv6. La dirección IPv6 de unidifusión global se crea combinando el prefijo del mensaje RA y la ID de interfaz mediante EUI-64 o mediante un valor generado aleatoriamente.
  Los mensajes RA se configuran en una interfaz individual de un router. Para volver a habilitar una interfaz para SLAAC que pudo haberse establecido en otra opción, se deben restablecer los indicadores M y O a sus valores iniciales de 0. Esto se realiza, en algunos routers, mediante los siguientes comandos del modo de configuración de interfaz:  Router(config-if)# no ipv6 nd managed-config-flag, Router(config-if)# no ipv6 nd other-config-flag.
  Aunque DHCPv6 es similar a DHCPv4 en cuanto a lo que proporciona, los dos protocolos son independientes respecto sí. DHCPv6 se define en RFC 3315, que tiene el número de revisión más alto que cualquier borrador de Internet.
  La segunda opción de DHCPv6 sin estado informa al cliente que utilice la información del mensaje RA para el direccionamiento, pero que hay más parámetros de configuración disponibles de un servidor de DHCPv6.
  Mediante el prefijo y la longitud de prefijo en el mensaje RA, junto con EUI-64 o una IID generada aleatoriamente, el cliente crea la dirección IPv6 de unidifusión global.
  A continuación, el cliente se comunica con un servidor de DHCPv6 sin estado para obtener información adicional que no se proporciona en el mensaje RA. Puede tratarse de una lista de direcciones IPv6 del servidor DNS, por ejemplo. Este proceso se conoce como DHCPv6 sin estado, debido a que el servidor no mantiene información de estado del cliente (es decir, una lista de direcciones IPv6 asignadas y disponibles). El servidor de DHCPv6 sin estado sólo proporciona parámetros de configuración para los clientes, no direcciones IPv6.
  Para DHCPv6 sin estado, el indicador O se configura en 1 y el indicador M se deja en la configuración predeterminada de 0. El valor 1 del indicador O se utiliza para informarle al cliente que hay información de configuración adicional disponible de un servidor de DHCPv6 sin estado.
  Para modificar el mensaje RA enviado en la interfaz de un router e indicar DHCPv6 sin estado, se emplea, en ciertos routers, el comando Router(config-if)# ipv6 nd other-config-flag.
  La opción tres es la más parecida a DHCPv4. En este caso, el mensaje RA informa al cliente que no utilice la información contenida en el mensaje RA, puesto que toda la información de direccionamiento y de configuración debe obtenerse de un servidor de DHCPv6 con estado. Esto se conoce como DHCPv6 con estado, debido a que el servidor de DHCPv6 mantiene información de estado de IPv6. Esto es similar a la asignación de direcciones para IPv4 por parte de un servidor de DHCPv4.
  El indicador M señala si se debe utilizar DHCPv6 con estado o no. El indicador O no interviene. El comando Router(config-if)# ipv6 nd managed-config-flag se utiliza para cambiar el indicador M de 0 a 1 para indicar DHCPv6 con estado.
  Una vez configurado RL según la opción elegida, DHCPv6 sin estado o con estado, o ambos, comienzan con un mensaje RA ICMPv6 del mismo. El mensaje RA puede ser un mensaje periódico o un mensaje solicitado por el dispositivo mediante un mensaje RS.
  Si en el mensaje RA se indica DHCPv6 con estado o sin estado, el dispositivo (o dispositivos) EC inicia las comunicaciones cliente/servidor DHCPv6.
  Cuando el mensaje RA indica DHCPv6 sin estado o DHCPv6 con estado, se invoca el funcionamiento de DHCPv6. Los mensajes DHCPv6 se envían a través de UDP. Los mensajes DHCPv6 del servidor al cliente utilizan el puerto de destino UDP 546. El cliente envía mensajes DHCPv6 al servidor mediante el puerto de destino UDP 547.
  EC, ahora un cliente DHCPv6, necesita ubicar el servidor de DHCPv6, por lo que envía un mensaje DHCPv6 "SOLICIT" a la dirección IPv6 de multidifusión de todos los servidores de DHCPv6 reservada (FF02::1:2). Esta dirección de multidifusión tiene alcance link-local, lo cual significa que los routers no reenvían los mensajes a otras redes.
  Uno o más servidores de DHCPv6 responden con un mensaje DHCPv6 "ADVERTISE" (informa al cliente DHCPv6 que el servidor se encuentra disponible para el servicio DHCPv6).
  EC responde con un mensaje "INFORMATION-REQUEST" o DHCPv6 "REQUEST" al servidor, según si utiliza DHCPv6 con o sin estado.
  •   Cliente DHCPv6 sin estado: EC envía un mensaje DHCPv6 "INFORMATION-REQUEST" al servidor de DHCPv6 en el que solicita solamente parámetros de configuración, como la dirección del servidor DNS. EC creó su propia dirección IPv6 mediante el uso del prefijo del mensaje RA y una ID de interfaz autogenerada aleatoriamente.
  •   Cliente DHCPv6 con estado: EC envía un mensaje DHCPv6 "REQUEST" al servidor para obtener una dirección IPv6 y todos los demás parámetros de configuración del servidor.
  El servidor envía un mensaje DHCPv6 "REPLY" al cliente que contiene la información solicitada en el mensaje "REQUEST" o "INFORMATION-REQUEST".
   

CONFIGURACIÓN DINÁMICA DE HOST PARA IPV6

  Para configurar un router como servidor de DHCPv6 deben realizarse cuatro pasos :
  • Habilitar el routing IPv6: Se requiere el uso del comando ipv6 unicast-routing para habilitar el routing IPv6 en ciertos routers. Este comando no es necesario para que el router sea un servidor de DHCPv6 sin estado, pero se requiere para enviar mensajes RA ICMPv6.
  • Configurar un fondo de DHCPv6: En algunos routers, el comando ipv6 dhcp pool (nombre de fondo) crea un fondo ("pool", en inglés; conjunto de recursos inicializados que se mantienen listos para su uso, en lugar de ser asignados y destruidos bajo demanda) e ingresa el router en el modo de configuración DHCPv6, que se identifica por la petición de entrada "Router(config-dhcpv6)#".
  • Configurar los parámetros del fondo: Durante el proceso SLAAC, el cliente recibió la información que necesitaba para crear una dirección IPv6 de unidifusión global. El cliente también recibió la información de puerta de enlace predeterminada mediante la dirección IPv6 de origen del mensaje RA, que es la dirección link-local del router. Sin embargo, el servidor de DHCPv6 sin estado puede configurarse para proporcionar otra información que pudo no haberse incluido en el mensaje RA, como la dirección del servidor DNS y el nombre de dominio.
  • Configurar la interfaz DHCPv6: El comando del modo de configuración de interfaz ipv6 dhcp server (nombre de fondo) vincula el fondo de DHCPv6 con la interfaz. El router responde a las solicitudes de DHCPv6 sin estado en esta interfaz con la información incluida en el fondo. El indicador O debe cambiarse de 0 a 1 mediante el comando de interfaz ipv6 nd other-config-flag. Los mensajes RA enviados en esta interfaz indican que hay información adicional disponible de un servidor de DHCPv6 sin estado.
  Por otra parte, es posible utilizar un router como cliente DHCPv6 sin estado, a pesar de no ser una situación típica. Generalmente, un cliente DHCPv6 sin estado es un dispositivo, como un ordenador, una tableta, un teléfono móvil o una cámara web.
  El router cliente necesita una dirección IPv6 link-local en la interfaz para enviar y recibir mensajes IPv6, como mensajes RS y mensajes DHCPv6, que se crea automáticamente cuando se habilita IPv6 en la interfaz. Esto puede suceder cuando se configura una dirección de unidifusión global en la interfaz o cuando se utiliza el comando ipv6 enable. Una vez que el router recibe una dirección link-local, puede enviar mensajes RS y participar en DHCPv6.
  El siguiente comando a utilizar es ipv6 address autoconfig, y habilita la configuración automática del direccionamiento IPv6 mediante SLAAC. A continuación, se utiliza un mensaje RA para informarle al router cliente que utilice DHCPv6 sin estado.
  Para verificar el correcto funcionamiento del servidor DHCPv6 sin estado se pueden utilizar varios comandos. Por ejemplo, el comando show ipv6 dhcp pool verifica el nombre del fondo de DHCPv6 y sus parámetros. La cantidad de clientes activos será "0" si el servidor no mantiene ningún estado; otro buen ejemplo es el comando show running-config, que se puede utilizar para verificar todos los comandos que se configuraron anteriormente.
  Por su parte, configurar un servidor de DHCPv6 con estado es similar a configurar un servidor sin estado. La diferencia más importante es que un servidor con estado también incluye información de direccionamiento IPv6 de manera similar a un servidor DHCPv4. Esta configuración también consta de 4 pasos:
  • Habilitar el routing IPv6: En algunos routers, el comando ipv6 unicast-routing  se emplea para habilitar el routing IPv6. Este comando no es necesario para que el router sea un servidor de DHCPv6 con estado, pero se requiere para enviar mensajes RA ICMPv6.
  • Configurar un fondo de DHCPv6: El comando ipv6 dhcp pool (nombre de fondo) crea un fondo e ingresa el router en el modo de configuración DHCPv6, que se identifica por la petición de entrada "Router(config-dhcpv6)#".
  • Configurar los parámetros del fondo: Con DHCPv6 con estado, todos los parámetros de direccionamiento y otros parámetros de configuración deben ser asignados por el servidor de DHCPv6. El comando address (longitud/prefijo) se utiliza para indicar el conjunto de direcciones que debe asignar el servidor. La opción "lifetime" indica el tiempo de arrendamiento válido y preferido en segundos. Al igual que con DHCPv6 sin estado, el cliente utiliza la dirección IPv6 de origen del paquete que contenía el mensaje RA. Otra información proporcionada por el servidor de DHCPv6 con estado suele incluir la dirección del servidor DNS y el nombre de dominio.
  • Comandos de interfaz: En ciertos routers, el comando de interfaz ipv6 dhcp server nombre-pool vincula el fondo de DHCPv6 con la interfaz. El router responde a las solicitudes de DHCPv6 sin estado en esta interfaz con la información incluida en el fondo. El indicador M debe cambiarse de 0 a 1 mediante el comando de interfaz ipv6 nd managed-config-flag, lo que informa al dispositivo que no utilice SLAAC, sino que obtenga el direccionamiento IPv6 y todos los parámetros de configuración de un servidor de DHCPv6 con estado.
 Con el fin de verificar el buen funcionamiento de la configuración del servidor DHCPv6 con estado, se puede emplear el comando show ipv6 dhcp pool para verificar el nombre del fondo de DHCPv6 y sus parámetros.
  El comando show ipv6 dhcp binding, muestra la vinculación automática entre la dirección link-local del cliente y la dirección asignada por el servidor.

  Si se pretende configurar un router DHCPv6 con estado como cliente, en ciertos casos se puede emplear el comando del modo de configuración de interfaz ipv6 enable para permitir que el router reciba una dirección link-local para enviar mensajes RS y participe en DHCPv6.  Además, se debe añadir el comando del modo de configuración de interfaz ipv6 address dhcp para habilitar el router para que funcione como cliente DHCPv6 en esta interfaz.
  El resultado del comando show ipv6 interface, que funciona en ciertos routers, verifica la dirección IPv6 de unidifusión global en el router cliente DHCPv6 que asignó el servidor de DHCPv6. La información de router predeterminado no proviene del servidor de DHCPv6, sino que se determinó mediante el uso de la dirección IPv6 de origen del mensaje RA. Si bien el cliente no utiliza la información contenida en el mensaje RA, puede utilizar la dirección IPv6 de origen para obtener la información del gateway predeterminado.

 Por otra parte, si el servidor de DHCPv6 está ubicado en una red distinta de la del cliente, el router IPv6 puede configurarse como agente de retransmisión DHCPv6. La configuración de un agente de retransmisión DHCPv6 es similar a la configuración de un router IPv4 como retransmisor DHCPv4; no obstante, si bien la configuración de un agente de retransmisión DHCPv6 es similar a DHCPv4, los routers o los agentes de retransmisión IPv6 reenvían mensajes DHCPv6 de manera levemente distinta que los retransmisores DHCPv4.
  Un agente de retransmisión DHCPv6 se configura mediante el comando ipv6 dhcp relay destination (dirección de destino). Este comando se configura en la interfaz que interactúa con el cliente DHCPv6, y se utiliza la dirección del servidor de DHCPv6 como destino.
  Para verificar que todo está en orden, en algunos routers se empleará el comando show ipv6 dhcp interface, que muestra si la interfaz del agente de retransmisión está en modo de retransmisión con la dirección IP del router configurado como el servidor de DHCPv6.

  Como puede verse, la configuración de las direcciones IPv6 de unidifusión global tiene una mayor complejidad que la de sus homólogas más antiguas, pero que esto no desanime al lector a experimentar con las redes informáticas si desea hacerlo.
 

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.