DHCPv6 – Dynamic Host Configuration Protocol para IPv6

El DHCPv6 es dentro de todo bastante similar a su antecesor en IPv4, por lo general la gente tiene algún miedo cuando hablamos de IPv6, te cuento, que yo tengo compañeros de trabajo que siempre me dicen que el día que venga el IPv6, cambian de profesión.

DHCPv6 - Dynamic Host Configuration Protocol 01

En mi opinión el IPv6 no debería atemorizar a nadie, incluso, creo que cuando empecemos con él en muy poco tiempo vamos estar adaptados, a pesar de lo raro que puede sonar ahora las direcciones, en general cuando las estudias un poco vas a ver que son mucho más simples.

Para mí uno de los grandes villanos de las redes de datos que son los subneteos, van a ser muy simples, claro que ya estamos hace tantos años haciendo eso en IPv4 que nos cuesta el cambio, pero estoy seguro que las generaciones próximas van estar más cercanas al IPv6.

Métodos del DHCPv6

Esta es la gran diferencia entre el DHCP para IPv4 y para IPv6, cuando en IPv4 teníamos un único método de configuración, en IPv6 tenemos dos métodos, vamos a ellos:

Stateful – Así como en IPv4 el servidor para IPv6 guarda todas las configuraciones que va entregar a los clientes, y guarda un histórico de que equipo recibió cada una de las direcciones.

Stateless – Este es un método completamente nuevo, que nace de la propia concepción del IPv6, acá lo que tenemos de distinto del anterior es que el servidor no va tener un histórico de las direcciones asignadas, y apenas va proveer parámetros adicionales que son comunes a todos los hosts.

Entendiendo el IPv6

El protocolo IPv6 tiene como principal característica y justificativa para su desarrollo, el aumento en la cantidad de direcciones ruteadas válidas para internet.

DHCPv6 - IPv6 header

En cuanto en IPv4, el espacio reservado para el direccionamiento tiene 32 bits, con un máximo de 4.294.967.296 (232) direcciones válidas.

En el IPv6 existe un espacio reservado para el direccionamiento de 128 bits, lo que le hace poder obtener 340.282.366.920.938.463.463.374.607.431.768.211.456 direcciones válidas (2128).

Entendiendo direcciones Stateless

DHCPv6 - IPv6 EUI64

Imagina que se asignó un direccionamiento único, link local, a una interface de un equipo.

Bueno, vamos por partes, si la dirección MAC de la interface es:

48-1E-C9-21-85-0C

El Ipv6 va a adicionar los dígitos FF-FE en la mitad de la dirección:

48-1E-C9-FF-FE-21-85-0C

Luego el IPv6 va cambiar el bit de U/L (Universal/Local), este es el séptimo bit más a la izquierda de la dirección:

48-1E-C9-FF-FE-21-85-0C

48 = 01001000

01001000 → 01001010

01001010 = 4A

4A-1E-C9-FF-FE-21-85-0C

La dirección que se atribuyó a la interface fue la: FE80::4A1E:C9FF:FE21:850C.

Funcionamiento

DHCP IPv6 Stateful

Es similar al proceso del DHCP común para IPv4, donde el servidor mantiene toda la información de las direcciones ips asignadas.

El cambio de paquetes para la solicitud de una nueva dirección también es el mismo que ya hacíamos con el DHCP.

El nuevo equipo va a solicitar por broadcast, una nueva dirección IP.

El servidor que este en esta red va contestar el pedido, y van a intercambiar los paquetes para la atribución de la nueva dirección.

Enseguida el servidor va a estar enviando los demás parámetros que estén configuradas para distribución en este tipo de equipo.

DHCP IPv6 Stateless

Este proceso es un poco diferente del anterior y del que hacia el DHCP para IPv4, fue pensado para el IPv6 como una manera de obtención rápida de nuevas direcciones.

Como vimos anteriormente entendiendo las direcciones stateless, acá el direccionamiento va a utilizar la dirección MAC del equipo para armar una nueva dirección IPv6.

Existen dos maneras de trabajar la configuración Stateless:

SLAAC (Stateless Address Auto Configuration) – La forma más simple de configuración del IPv6, en este modo el servidor envía mensajes de RA (Router Advertisement) periódicamente, estos mensajes contienen la información de red (los primeros 64 bits de una dirección IPv6) para completar la configuración del host.

Stateless – Esta es la forma más completa, acá los mensajes enviados no solo van a contener la información de red, pero también donde en host van a poder encontrar más información de la configuración de la red.

A pesar del servidor no proveer la dirección, él va a proveer los demás parámetros, como DNS, y demás opciones como un DHCP común, la gran diferencia del stateful es que él servidor no mantiene la información de los clientes.

Configuración del servidor

Miremos la topología de la red.

DHCPv6 - Cnfiguracion

Antes de cualquier cosa vamos a habilitar el IPv6 unicast

DHCP.V6 (config )# ipv6 unicast-routing

Configuración Stateful

Configuramos el Pool de manera similar a lo que hacíamos en IPv4.

DHCPV6 (config)# ipv6 dhcp pool STATEFUL
DHCPV6 (config-dhcpv6)# address prefix 2001:1111:1111:1111::/64
DHCPV6 (config-dhcpv6)# dns-server 2001:4860:4860::8888
DHCPV6 (config-dhcpv6)# domain-name NETWORKLESSONS.LOCAL

Para activar este pool en la interface.

DHCPV6 (config)# interface FastEthernet 0/0
DHCPV6 (config-if)# ipv6 address 2001:1111:1111:1111::1/64
DHCPV6 (config-if)# ipv6 dhcp server STATEFUL
DHCPV6 (config-if)# ipv6 nd managed-config-flag
DHCPV6 (config-if)# ipv6 nd prefix 2001:1111:1111:1111::/64 14400 14400 no-autoconfig

El comando ipv6 nd managed-config-flag activa una flag en el mensaje de router advertisement que informa a los equipos que pueden utilizar el DHCPv6.

El último comando termina con el no-autoconfig que informa a los hosts para no utilizar la configuración por stateless.

Configuración Stateless

Otra vez el primero es armar el pool.

DHCPV6 (config)# ipv6 dhcp pool STATELESS
DHCPV6 (config-dhcpv6)# dns-server 2001:4860:4860::8888
DHCPV6 (config-dhcpv6)# domain-name NETWORKLESSONS.LOCAL

Como pueden ver no configuramos prefijo. Ahora vamos a activar este pool en la interface.

DHCPV6 (config)# interface FastEthernet 0/1
DHCPV6 (config-if)# ipv6 address 2001:2222:2222:2222::2/64
DHCPV6 (config-if)# ipv6 dhcp server STATELESS
DHCPV6 (config-if)# ipv6 nd other-config-flag

Acá también utilizamos el comando ipv6 nd managed-config-flag.

Para validar la correcta configuración del equipo hagamos un show ipv6 dhcp pool.

DHCPV6# show ipv6 dhcp pool
DHCP v6 pool: STATEFUL
Address allocation prefix: 2001:1111:1111:1111::/64 valid 172800 preferred 86400 (0 in use, 0 conflicts)
DNS server: 2001:4860:4860::8888
Domain name: NETWORKLESSONS.LOCAL
Active clients: 0
DHCP v6 pool: STATELESS
DNS server: 2001:4860:4860::8888
Domain name: NETWORKLESSONS.LOCAL
Active clients: 0

Comments

comments