Configuración Avanzada - IPV6 - 3
Configuración Avanzada - IPV6 - 3
Configuración Avanzada - IPV6 - 3
Configuración avanzada
3.1 ICMPv6
o 3.1.1. Los mensajes
a. Formato de los mensajes
b. Mensajes de error
c. Mensajes informativos
d. Captura de mensajes
o 3.1.2. Neighbor Discovery
a. Router Solicitation y Router Advertisement
b. Neighbor Solicitation y Neighbor Advertisement
c. Otros usos del Protocolo Neighbor Discovery
o 3.1.3. Otras posibilidades de ICMPv6
3.2. Configuración Stateless
o 3.2.1. Autoconfiguración de direcciones globales
o 3.2.2. Obtención de direcciones
o 3.2.3. Generación de direcciones globales
o 3.2.4. Router IPv6
3.3. DHCPv6
o 3.3.1. DHCPv6 Ubuntu 9.10 Server
o 3.3.2. DHCPv6 Windows 2008 Server
o 3.3.3. DHCPv6 Cliente Ubuntu 9.10
o 3.3.4. DHCPv6 Cliente Windows XP
o 3.3.5. DHCPv6 Cliente Windows 7
3.4. Configuración manual
o 3.4.1. Configuración manual en Ubuntu-Linux
o 3.4.2. Configuración manual en Windows XP
o 3.4.3. Configuración manual en Windows 7
3.5. Planificación de una red IPv6
3. Configuración avanzada
Hasta aquí hemos tratado cuestiones generales sobre IPv6, tanto desde el punto de visto del protocolo
en si, como desde el punto de vista de distintos sistemas operativos.
Dentro de la autoconfiguración tenemos dos variantes, la llamada Stateless (No Declarada) y la que se
basa en DHCPv6 (sustituto del DHCP de IPv4) que hasta septiembre de 2007 (momento en que
apareció la RFC 4861) era denominada configuración Stateful (Declarada).
La autoconfiguración es una característica que, en breve, puede convertirse en una de las más
importantes de IPv6, ya que permite que cualquier equipo disponga de una dirección IPv6 con la que
poder comunicarse con su entorno de red, y sin necesidad de tener que hacer ningún tipo de
configuración manual. Si tenemos en cuenta las predicciones, con televisores, frigoríficos, consolas,
móviles... con capacidad de conexión, no cabe duda de que la autoconfiguración de IPv6 va a facilitar
bastante la vida tanto a los usuarios como a los administradores de red.
3.1 ICMPv6
Todo el mundo conoce el comando ping y su uso para comprobar si hay conectividad entre dos
equipos.
Lo que no suele resultar tan familiar es el protocolo que está detrás del ping, esto es, el ICMP (Internet
Control Message Protocol).
Dicho protocolo, ya en su versión de IPv4, proporciona información importante sobre la salud de la red
por medio de mensajes.
La versión de ICMP utilizada en IPv6 se llama, como no podía ser de otro modo, ICMPv6.
Aunque los dos protocolos tienen un nombre parecido y comparten su filosofía de funcionamiento,
hay que tener en cuenta que son incompatibles entre sí debido a la estructura de los datos empleados.
ICMPv6 es mucho más potente que la versión anterior ya que se han integrado en el mismo
funcionalidades que se lograban en ICMPv4 usando otros protocolos. Por ejemplo:
IGMP (Internet Group Management Protocol) para gestión de miembros de los grupos
multicast.
ARP/RARP (Address Resolution Protocol / Reverse ARP) para mapear direcciones MAC con
direcciones IP y viceversa.
También se ha añadido la función Neighbor Discovery, para descubrir las direcciones de los hosts
vecinos (conectados en el mismo enlace), routers, etc.
El número de mensajes disponibles es mayor en ICMPv6 que en ICMP (de ahí también la
incompatibilidad).
El protocolo ICMPv6 está definido en la RFC 4443 y Neighbor Discovery lo está en la RFC 4861.
Una de las cosas que hace ICMPv6 es definir una serie de mensajes de error que pueden ser utilizados
por los nodos de la red para informar de situaciones en las que hay problemas en la transmisión.
El mensaje lo emite el equipo que detecta el problema y es enviado al equipo origen del paquete
problemático.
Por ejemplo, si un router no puede enviar un paquete porque es demasiado largo, enviará un mensaje
ICMP al host de origen indicándoselo. El host de origen interpretará el mensaje ICMP para elegir un
tamaño más adecuado y reenviar los datos.
Además de esto, también hay mensajes definidos para valorar el estado de la red. Aquí es donde
aparecen los mensajes "Echo Request" y "Echo Reply", que son utilizados por el famoso ping.
Por cierto, en ICMPv6 el nombre del comando ping también cambia en algunos sistemas operativos,
pasando a denominarse ping6. En otros casos seguiremos utilizando el ping de siempre junto con un
atributo que nos permite elegir el modo IPv6.
Mensajes de error.
Mensajes informativos.
El formato es el siguiente:
El bit más significativo del campo TIPO es el que determina el tipo del mensaje. Los mensajes de error
siempre empiezan por 0 y los informativos por 1. Por ello, los mensajes de error tienen un tipo
comprendido entre 0 y 127 y los informativos están entre 128 y 255.
El listado de los códigos asociados a los mensajes se puede encontrar en esta dirección de la IANA:
http://www.iana.org/assignments/icmpv6-parameters
El siguiente campo es el de CÓDIGO, que da información adicional acerca del TIPO del mensaje.
Este campo se utiliza siempre con mensajes de error. Entre los mensajes informativos, el único que lo
utiliza es el 138 (Router Renumbering)
Por ejemplo, si TIPO = 1 = Destination Unreachable (Destino inalcanzable), el CÓDIGO puede tomar,
entre otros, estos valores:
3 → Dirección inalcanzable.
4 → Puerto inalcanzable.
Por último, el campo CUERPO. Éste varía en función del tipo y código del mensaje. En caso de que se
trate de un mensaje de error, el CUERPO contendrá una copia lo más completa posible del paquete
problemático, que podrá utilizarse en origen para buscar una solución al problema planteado.
b. Mensajes de error
La cabecera de los mensajes ICMP sufre ligeras variaciones en función del tipo de error o de la
información que transporta. Estos cambios se localizan en el campo “CUERPO” comentado en el punto
anterior.
El MTU = Maximum Transmission Unit es el tamaño de paquete más grande que puede
manejar un enlace.
En caso de que un router no pueda enviar un paquete porque es más grande que el MTU
permitido, generará un mensaje “Packet To Big” que será enviado a la dirección fuente del
paquete.
En este caso TIPO = 2 y CODIGO = 0.
En el CUERPO se utilizan los 4 primeros bytes para indicar el MTU válido.
Si un nodo IPv6 no puede completar el procesamiento de un paquete porque tiene algún problema
para identificar un campo en la cabecera IPv6 o en una cabecera de Extensión, debe descartar el
paquete y devolver el mensaje ICMP “Parameter Problem”
Este es el mensaje que se suele utilizar cuando el error que se produce no se ajusta a ninguno de los
anteriores.
En el CUERPO, los 4 primeros bytes actúan como puntero, señalando el punto del paquete donde se ha
detectado la irregularidad. También se envía de vuelta la mayor porción posible del paquete original.
IND Solicitation (Tipo = 141), que es enviado por el equipo que quiere hacer la
resolución a la dirección multicast all-nodes (FF02::1).
IND Advertisement (Tipo = 142), que es enviado por el equipo objetivo y que contiene
las direcciones de dicho equipo.
Resolución de direcciones de capa de enlace.
Equivale al ARP de IPv4, es decir, permite determinar la MAC de un equipo a partir de su IP.
Se usa solo con nodos vecinos y se lleva a cabo enviando un mensaje Neighbor Solicitation
dirigido a la dirección multicast de “nodo solicitado” del vecino en cuestión.
Si dicho equipo es alcanzable, responderá enviando al equipo solicitante un mensaje Neighbor
Advertisement.
Neighbor Cache
o Es como la Caché ARP de IPv4.
o Contiene información de los vecinos con los que se ha intercambiado tráfico
recientemente.
o La información guardada es la dirección IP unicast, su dirección MAC y un flag que
indica si el vecino es un router o un host.
o Además, también indica si hay algún paquete en espera para ser enviado, si el destino
está al alcance y cuando se producirá la siguiente comprobación NUD.
Destination Cache
o Contiene exactamente la misma información que la Neighbor Cache más la
información de los destinos remotos. Es decir, la Neighbor Cache es una parte de la
Destination Cache.
o Para los destinos remotos, la entrada de la caché contiene la MAC del siguiente router
al que saltar.
o Esta caché se actualiza con los mensajes de Redirección de ICMPv6.
Autoconfiguración
Esta capacidad ahorrará mucho trabajo a los administradores de red y va a ser una de las
características clave de IPv6.
Permite que cualquier dispositivo (desde una TV hasta un móvil pasando por frigoríficos, DVDs...) que
requiera una dirección IP pueda conseguirla sin necesidad de tener que ser configurado manualmente.
Para generar su dirección IP, los hosts utilizan una combinación de información local, como su
dirección MAC, e información recibida de los routers.
Los routers pueden anunciar múltiples prefijos, y los hosts extraen la información del prefijo de esos
anuncios.
Esto permite la remuneración sencilla de un sitio completo: solo hay que cambiar la información del
prefijo en el router. Por ejemplo, si se cambia de ISP y el nuevo ISP asigna un nuevo prefijo IPv6, se
pueden configurar los routers para que anuncien el nuevo prefijo, manteniendo el resto de la dirección
original. Todos los hosts conectados a esos routers se renumerarán usando el mecanismo de
autoconfiguración.
Si no hay routers, cada host se puede generar una dirección en enlace local (link-local address) con el
prefijo FE80.
La dirección de enlace local es como la dirección que tomaba un nodo en IPv4 cuando no encontraba
al servidor DHCP. En ese caso, automáticamente tomaba una dirección de la red 169.254.0.0/16... y se
quedaba aislado del mundo.
La gran diferencia en IPv6 es que ahora, esa dirección FE80... es suficiente para la comunicación de
todos los nodos conectados al mismo enlace.
Las autoconfiguraciones Stateless y DHCPv6 también se pueden combinar. Por ejemplo, un host puede
usar autoconfiguración stateless para generar una dirección IPv6 y utilizar después la
autoconfiguración DHCPv6 para conseguir los demás parámetros.
Llegados a este punto, es interesante saber que las direcciones IPv6 se asignan a los nodos de forma
temporal y que existe un intervalo de tiempo definido (lifetime) después del cual la dirección deja de
ser válida. Para asegurar que una dirección es única en un enlace se usa el algoritmo DAD (= Duplicate
Address Detection – RFC 4862).
Los estados por los que puede pasar una dirección IPv6 son los siguientes:
Tentativa: es el estado de la dirección justo antes de ser asignada, cuando se está aplicando DAD para
garantizar que no está en uso.
En este estado no es posible la comunicación con el resto de los equipos del enlace, tan solo permite
procesar ciertos mensajes ND para autoconfiguración.
Obsoleta (deprecated): es el estado de la dirección cuyo “lifetime” está a punto de expirar. Una
dirección en ese estado se mantendrá en comunicaciones activas con objeto de no interrumpirlas,
pero se evitará su uso en nuevas comunicaciones.
Válida: son las direcciones que están activas (tanto la preferida como la obsoleta).
Inválida: es el estado de una dirección cuya “lifetime” ha expirado. La dirección deja de estar vinculada
a la interfaz del host.
Remuneración de red.
Este tema se trata en la RFC 4192 "Procedures for Renumbering an IPv6 Network without a Flag Day".
El llamado "Flag Day" (Día de la Bandera) es el día clave en el que se va a interrumpir el
funcionamiento de la red para realizar una tarea de mantenimiento programada. Para evitar sufrir un
"Flag Day" hay que pensar en una estrategia distinta, que permita realizar un cambio progresivo en la
configuración sin necesidad de detenerla.
Este es el tipo de situación que tiene lugar cuando hay que realizar un cambio en el prefijo de la red,
cosa que puede ocurrir, por ejemplo, debido a un cambio de proveedor de Internet.
Lo que se permite ICMPv6 es enviar mensajes para informar de cuál será el nuevo prefijo a utilizar,
pero manteniendo aún el antiguo en funcionamiento. Una vez todos los equipos están enterados del
nuevo prefijo se "desactiva" el anterior, de modo que continúan utilizando el nuevo. Se ha modificado
la configuración de la red y se ha evitado el “flag day”.
En IPv4, si un router detecta que un paquete es demasiado grande para ser enviado por un enlace
determinado, puede fragmentarlo. En IPv6 los routers no se dedican a fragmentar paquetes, dejando
esta tarea en mano del host de origen.
Antes de nada, hay que recordar un par de conceptos. Por un lado, el significado de “Link
MTU(Maximum Transmission Unit)”, que es el tamaño máximo de los paquetes que pueden ser
manejados en un enlace.
Y por otro, el de “Path MTU”, que es el valor de MTU más grande que se puede utilizar a lo largo de la
ruta que siguen los datos desde el origen al destino.
Para que no haya problemas en ningún punto, el valor de MTU a utilizar debería ser el más pequeño
de los que haya en el path.
Como se ha dicho antes, en IPv6, el unico encargado de fragmentar un paquete es el host de origen.
Para ello necesita conocer cuál es el menor MTU de todos los que hay en el path. Esta información se
obtiene por medio del llamado “Path MTU Discovery” de ICMPv6.
En el proceso de descubrimiento, el primer “Path MTU” que toma el host origen es el del primer
enlace. Cuando un router detecta que ese tamaño es demasiado grande para el siguiente enlace
devuelve un mensaje de error ICMPv6: “Packet Too Big”, que incluirá el MTU válido para el siguiente
enlace. Ese será el MTU que usará en lo sucesivo el host origen mientras no reciba un nuevo mensaje
de error.
En el caso de multicast, se usa el MTU más pequeño de los que hay en los caminos a lo múltiples
destinos.
Hay ocasiones en las que interesa el envío simultáneo de paquetes a un grupo de hosts.
En este caso el broadcast no es la opción adecuada, porque no se puede enrutar (con lo cual el
alcance se limita al enlace local) y además obliga a todos los nodos del enlace a procesar la
información.
La transmisión multicast posibilita el envío simultáneo de paquetes a un grupo de hosts que
están configurados con una dirección multicast de grupo (dirección de clase D). Solo los hosts
que son miembros de ese grupo multicast procesarán los paquetes.
Además, los mensajes multicast son enrutables y para asegurar que el mensaje solo es
propagado a aquellos enlaces en los que hay equipos miembros del grupo multicast, se usa el
protocolo IGMP (Internet Group Management Protocol).
Ya en IPv6, tenemos que multicast es una característica propia del protocolo y está disponible en todos
los nodos IPv6.
Como se ha comentado más arriba, es necesario un protocolo para limitar el alcance de los paquetes
multicast a aquellos enlaces en los que hay equipos miembros del grupo multicast.
El IGMP de IPv4, y más concretamente, su 2ª versión (IGMPv2) se implementa en IPv6 por medio de
mensajes ICMPv6 y es lo que se llama MLD (Multicast Listener Discovery).
Después de una primera versión de MLD se llegó a MLDv2, que está basado en IGMPv3 de IPv4 y que
se diferencia de la versión anterior en soportar SSM (Source Specific Multicast). Eso significa que un
nodo puede elegir escuchar tan solo los paquetes multicast procedentes de una dirección concreta, o
de todas las posibles fuentes excepto de una determinada. Esto es algo que en MLDv1 no es posible
por utilizar ASM (Any Source Multicast) en lugar de SSM.
Si nos centramos un poco en MLD vemos que este protocolo permite a los oyentes multicast registrar
las direcciones multicast que quieren utilizar, con objeto de conseguir un enrutado eficiente.
Por otro lado, los routers utilizan MLD para descubrir qué direcciones multicast tienen oyentes en cada
uno de los links a los que están conectados.
El router mantiene una lista de direcciones con oyentes para cada uno de sus enlaces, pero sin llegar a
controlar cuántos oyentes activos hay.
El oyente envía un mensaje al router y éste incluye la dirección multicast es su lista de control.
Del mismo modo, un oyente puede darse de baja de un grupo por medio de un mensaje.
Cuando el último grupo se da de baja, el router elimina la dirección de ese link de su lista de control.
En todos los mensajes MLD se usan direcciones de enlace local como origen y el “hop limit” = 1. Así se
limita el alcance al enlace local. También se usa la opción “Hop By Hop” y se activa el flag Router Alert
para garantizar de que el paquete será procesado por el router aunque no sea miembro del grupo
multicast.
El tercer mensaje, Multicast Router Solicitation (Tipo = 152), permite que cualquier host pueda
preguntar a todos los routers (FF02::2) si alguno trabaja con multicast.
Al igual que en MLD, todos estos mensajes se envían con “Hop Limit” = 1 y con la opción “Router Alert”
activa.
Introducción
Stateless o sin estado: el host se configura mediante mensajes RA (Anuncio de Router) que
incluyen la información necesaria para configurar el enlace
Stateful o con estado: utilizan un servidor DHCPv6 de modo similar a la configuración
automática utiliza en IPv4. El proceso comienza cuando no hay mensajes RA de ningún router
o cuando el host se haya configurado para ello
Mixto: mediante mensajes RA configura la IPv6 del host y los datos referentes a las direcciones
de los servidores DNS y nombre dominio. En este caso se utiliza una particularidad el servidor
DHCPv6 configurado en modo "sin estado", de manera que no da direcciones IPv6 y no
controla el estado de los host que se conectan.
Descripción
En el proceso de configuración de la red intervienen tanto el router como el host definiendo de forma
automática la IPv6 global de cada host perteneciente a la subred que se haya definido.
En lo que respecta a la configuración de las direcciones de los servidores DNS, los mensajes RA no
incluyen esta información, pero incluyen una indicación de que hay más información disponible en la
red para que el host la busque.
El funcionamiento del protocolo IPv6 a la hora de crear una red stateless se puede resumir como sigue:
El router recibe una configuración sobre el pool de direcciones IPv6 correspondiente a la subred a
configurar, en forma de IPv6 global/máscara de manera que la máscara define la subred a la que
pertenece el router.
Se define un prefijo para el pool de direcciones de la subred que va a colgar del router en forma
IPv6/máscara. Este prefijo debe pertenecer a la subred del router de forma que se cree una jerarquía
de direcciones.
Los datos configurados en el router se transmiten a todos los hosts conectados a él mediante la
función RA (Router Advertisment) que se encarga de mandar paquetes a los vecinos con los datos de la
configuración de la red. En este paquete se indican principalmente el valor del prefijo que define la red
a crear y la dirección local de la puerta de enlace. Para esto se utilizan direcciones multicast, en el caso
de los paquetes RA se mandan a la dirección multicast "Todos los nodos del enlace local" (FE02::1)
Por otro lado, un host puede solicitar los datos para autoconfiguración mediante el envío de paquetes
RS (Router Solicitation) que se envían a la dirección multicast "Todos los routers del enlace local"
(FE02::2) , a lo que los routers del enlace local responden con paquetes RA enviados a su dirección
local.
En la imagen siguiente podemos ver el flujo multicast generado por un host que se acaba de conectar a
la red. En este caso se trata de una red donde no se ha activado el envío de paquetes RA, y por tanto
intenta encontrar un servidor DHCP.
Una vez activado el envío de paquetes RA por parte del router, el flujo queda.
Desde el punto de vista del host podemos ver el estado inicial con las direcciones auto-configuradas
durante la instalación del protocolo IPv6.
Sin prefijo, la información básica que ofrece el paquete RA es la de anuncio de la dirección de la puerta
de enlace.
Finalmente tenemos configuradas las direcciones locales y globales, así como la de la puerta de enlace
y los servidores DNS.
El prefijo se añade a las direcciones IPv6 de cada host mediante un algoritmo que combina el prefijo
con la MAC de la interface basado en IEEE EUI-64 visto anteriormente para la autoconfiguración de la
dirección de enlace local.
Esta dirección es pública (si el prefijo corresponde a una dirección global) y fija, ya que siempre es la
misma para un mismo prefijo, por lo que puede dar problemas de seguridad al poder ser rastreada
fácilmente.
Direcciones anónimas
Para resolver el problema anterior se genera otra dirección global. Esta dirección se puede obtener
mediante un algoritmo hash que utiliza MD5 (Mesage Digest 5) o aleatoriamente, dependiendo de que
el protocolo IPv6 implementado memorice las direcciones generadas previamente o no.
En los mensajes RA sólo se envían los parámetros de prefijos de red y la IPv6 de la puerta de enlace así
que hay recurrir a otros sistemas para obtener el resto de la configuración.
FEC0:0:0:0:FFFF::1,FEC0:0:0:0:FFFF::2 y FEC0:0:0:0:FFFF::3
En el caso de utilizar una autoconfiguración mixta, el mensaje RA incluye una indicación (flag O) de que
hay más información disponible aparte de la enviada en el mensaje y el host busca un servidor DNS
utilizando para ello el servidor DHCPv6 en "modo sin estado" que le da las direcciones, así como el
resto de información que pueda necesitar.
Como ejemplo podemos ver la pantalla de configuración del servidor DHCPv6 de Windows Server 2008
con la opción de configuración "Modo sin estado DHCPv6". Al activar esta opción nos pide que
introduzcamos las direcciones de los servidores DNS ipv6.
El procedimiento es el mismo que el utilizado para crear la dirección de enlace local, con alguna
modificación:
Por ejemplo:
El proceso sería
Este proceso se repite continuamente cada cierto tiempo. Los tiempos pueden ser configurados.
3.2.4. Router IPv6
Router IPv6
El router adquiere una gran importancia en la configuración stateless ya que es el que distribuye la
información de autoconfiguración al resto de los host. Hay que decir que no son compatibles con los
router IPv4 ya que deben poder leer los paquetes IPv6 y manejar el protocolo ICMPv6. En la práctica
actualmente utilizan protocolos IPv6 de pila dual, lo que viene a significar que pueden trabajar tanto
en IPv4 como en IPv6 y a menudo recurren a túneles para pasar de una red a otra.
Para que el router IPv6 pueda iniciar el proceso de autoconfiguración stateless debemos configurar
o Mensajes RA
1. RA Managed flag: este flag indica si la autoconfiguración va ser stateless (mediante los
mensajes RA del router) o si va a ser statefull (mediante un servidor DHCPv6)
2. RA Other flag: mediante este flag se indica a los host que además de las direcciones generadas
mediante los paquetes RA (stateless) en la red hay disponible más información, como por
ejemplo, las direcciones de los servidores DNS (que serán proporcionadas por el DHCPv6 en
modo sin estado)
3. Temporizaciones: Retransmisión time, Life time y Reachable time
La siguiente imagen corresponde a una captura realizada con Wireshark del envío de un mensaje RA
(Type 134) donde se ven los flags Managed y Other desactivados y demás datos de temporización.
Prefijo
En este apartado configuraremos la información a enviar en el mensaje RA: el propio prefijo, los flag
correspondientes y los tiempos.
1. Prefijo: en forma de IPv6/máscara, será el valor a enviar en los mensajes RA y el que utilizarán
los host que se vayan a autoconfigurar. Se pueden configurar varios prefijos.
2. On Link flag: si está activo indica que el prefijo a utilizar en la autoconfiguración de la red local
es el correspondiente a esta interface (el router puede tener más interfaces).
3. Autonomous flag: indica que el prefijo configurado puede ser utilizado para autoconfiguración
de la red local.
4. Temporizaciones: Valid life time y Preferred life time.
En la siguiente imagen podemos ver una captura realizada con Wireshark del envío de un mensaje RA
con un prefijo de 64 bits de longitud, con los flags Onlink y Auto activados y demás datos de
temporización.
3.3. DHCPv6
DHCPv6:
Vamos a probar la instalación automática de direcciones IPv6 usando DHCPv6 para el siguiente
esquema de una LAN:
Para instalar el servidor debemos elegir un sistema operativo. Nosotros analizaremos DHCPv6 en
Windows 2008 server y Ubuntu-Linux Server.
Servidor DHCPv6 en Windows 2008 Server.
Servidor DHCPv6 en Ubuntu-Linux Server 9.10.
Además, analizaremos como se instala el cliente DHCPv6 en los siguientes sistemas operativos:
En este apartado analizaremos la instalación del Servidor DHCPv6 en Ubuntu Server 9.10. La
instalación de los clientes DHCPv6 está en los siguientes apartados.
Existen varios proyectos que desarrollan la instalación de servidores DHCPv6 en linux. Algunos están
estancados o con versiones que requieren ser mejoradas. Algunos son:
WIDE-DHCPv6 inicialmente desarrollado dentro del proyecto KAME para BSD y Linux.
El proyecto DHCPv6 para la distribución Fedora.
Dibbler.
En nuestro caso, para Ubuntu-Linux utilizaremos Dibbler. Dibbler fue desarrollado inicialmente por
Tomasz Mrugalski and Marek Senderski y actualmente funciona tanto en plataformas linux como
windows.
Una vez instalado Ubuntu Server (en nuestro caso la versión 9.10.) procederemos a instalar el servidor
dibbler:
Una vez instalado el servidor para configurarlo debemos editar el fichero server.conf en /etc/dibbler
Obviamente podemos usar el editor de texto que queramos, vi, nano, gedit (si lo hemos instalado).
iface eth0 {
class {
pool 2000::500-2000::600
Donde eth0 determina la interfaz encargada de repartir las direcciones y mediante class determinamos
el inicio y fin del rango de direcciones a repartir. (Las hemos elegido al azar, obviamente el rango
podría ser cualquier otro).
Ahora solamente debemos iniciar el servidor dibbler y este comenzará el reparto de direcciones.
Debemos tener en cuenta que los clientes pueden configurarse de muchas formas. Por ello en los
siguientes apartados estudiaremos ls opciones de configuración de cada cliente en cada sistema
operativo.
3.3.2. DHCPv6 Windows 2008 Server
En este apartado analizaremos la instalación del Servidor DHCPv6 en Windows 2008 Server. La
instalación de los clientes DHCPv6 está en los siguientes apartados.
Instalación de DHCPv6 en Windows 2008 Server:
Una vez instalado Windows 2008 server en el servidor, conviene también instalar un controlador de
dominio y un servidor DNS. Se puede realizar ejecutando dcpromo en la interfaz de comandos. A
continuación, y para comenzar con las instalaciones de DHCP deberemos dar los siguientes pasos:
A continuación, Agregaremos una función:
Leemos las advertencias, nosotros hemos instalado en el servidor una IPv4 estática: 192.168.0.80
Agregamos el servidor DHCP:
Podemos leer la ayuda para profundizar:
Obtenemos la configuración IPv4 que hemos establecido anteriormente en el servidor:
Red: 192.168.0.x
Mascara: 255.255.255.0
La puerta de enlace es opcional, en nuestro caso representa un router que podremos añadir
posteriormente.
Observamos que el ámbito IPv4 es correcto.
Comenzamos a configurar el ámbito IPv6. Observar con Atención la siguiente ventana. En nuestro
caso debemos Deshabilitar el modo sin estado para este servidor.
La instalación ha sido satisfactoria:
En el Administrador del servidor vamos al Servidor DHCP:
Una vez IPv4 está activo y con su ámbito definido, nos situamos en IP6, botón derecho
Agregamos ámbito:
Debemos elegir el Prefijo de las direcciones IPv6 que vamos a repartir. Por ejemplo, elegimos
un prefijo de direcciones locales únicas para nuestra organización fd00:1::1 Podríamos por
ejemplo definir un ámbito para direcciones globales que empiecen por 2001:xxxx pero en este
caso elegimos el prefijo fd00:1::1/64 En cada caso el administrador del sistema elegirá el
ámbito que más le interese.
La Preferencia determina el grado de prioridad que tiene el servidor DHCPv6. Dentro de una
red puede existir más de un servidor DHCPv6, en ese caso, se establece la prioridad de cada
uno, siendo el número 0 el que tiene mayor prioridad a la hora de asignar las direcciones IPv6.
Si queremos agregar exclusiones (direcciones que no nos interesa que distribuya el servidor),
este es el momento. Nosotros de momento no agregaremos exclusiones.
En el caso de IPv4 siempre que los sistemas operativos de los ordenadores cliente indiquen en
la configuración TCP/IP del adaptador de red que la dirección se obtenga de forma automática
para observar las concesiones basta ir a la opción Concesiones de direcciones en el servidor
DHCP IPv4. En nuestro caso, observamos los tres ordenadores de la red.
Para terminar, normalmente, además de repartir las direcciones IP el servidor se encarga de
asignar puertas de enlace predeterminadas o servidores DNS. Dichas opciones pueden
seleccionarse en Opciones de ámbito.
La configuración del servidor DHCPv6 para Windows Server 2008 se ha realizado
satisfactoriamente.
Para instalar Dibbler en Ubuntu 9.10 Desktop versión vamos a utilizar aptitude:
o directamente: http://klub.com.pl/dhcpv6/dibbler/dibbler-0.7.3-src.tar.gz
en este caso descargaríamos la versión 0.7.3, descomprimimos con gzip y extraemos con tar. Nosotros
ya lo hemos instalado en el paso anterior con sudo aptitude install.
Iniciamos dibbler-client:
Para configurar el cliente de windows XP vamos a utilizar el cliente dibbler, que podemos descargar
desde:
Una vez descargado el fichero la instalación es tan simple como otra cualquiera en windows. Veamos
las ventanas:
Ejecutamos el .exe:
Personalizamos la instalación, ya que esta versión para Windows de dibbler permite también instalar
el servidor DHCPv6 en cualquier ordenador. En este caso, nosotros desactivamos la opción DHCPv6
server porque para funciones de servidor vamos a usar servidores específicos Ubuntu y/o Windows
2008 Server.
Descomentamos (quitamos #) en las líneas indicadas y sustituimos "Local Network Adapter" por el
nombre de nuestro adaptador de red. En nuestro caso "Conexión de área local" (Se debe tener en
cuenta las mayúsculas/minúsculas y las tildes). Está es la configuración más básica. En fichero
client.conf puede configurarse de muchas maneras como veremos posteriormente.
Una vez guardado el fichero la configuración ya ha terminado. Si por ejemplo el servidor que
utilizamos es el Ubuntu-Server 9.10 que hemos configurado en el apartado anterior, la dirección
otorgada podría observarse desde la interfaz de comandos de la siguiente manera:
Utilizando el servidor Windows 2008 Server que hemos configurado el resultado sería:
El hecho de que la dirección asignada por Ubuntu-Server sea global (2000::/3) y la asignada por
Windows 2008 Server privada dentro de una organización (FD00::/8) no tiene ninguna relevancia. Lo
hemos decidido para que exista mayor claridad a la hora de entender las distintas posibilidades.
Para terminar, si tenemos algún problema al obtener la dirección desde el servidor, podemos detener
y volver a iniciar el servicio dibbler-client desde el entorno gráfico de XP o ejecutando
c:\dibbler\dibbler-client stop y a continuación c:\dibbler\dibbler-client start desde la interfaz de
comandos.
Además podemos reiniciar la obtención de direcciones ejecutando: netsh interface ipv6 renew
también desde la interfaz de comandos.
3.3.5. DHCPv6 Cliente Windows 7
Windows 7 no necesita instalar ningún cliente para la obtención de direcciones IPv6 desde un servidor
DHCPv6. Basta con indicar en la configuración del protocolo TCP/IPv6 que la dirección se obtendrá
automáticamente. Veamos:
Si el servidor que poseemos en la red está configurado como nuestro Ubuntu-Server 9.10, el cliente
Windows 7 obtendrá la siguiente configuración automáticamente:
Sin embargo, si el servidor de la red es el Windows 2008 Server, obtendríamos:
Windows XP SP3
Windows 7
En Ubuntu-Linux (estamos usando la versión 9.04), la configuración ipv6 viene instalada por defecto.
Para modificar las configuraciones se utiliza la terminal de comandos. Al igual que ocurre con IPv4 se
supone que en futuras versiones se podrá utilizar el entorno gráfico dentro de:
Sistema-->Preferencias-->Conexiones de red.
En nuestro caso:
Si lo hemos escrito correctamente veremos que la nueva dirección ha sido añadida para la interfaz
especificada. Como indicamos anteriormente, aunque podamos usar ifconfig, este comando ha sido
sustituido por el uso del comando ip. Veamos la respuesta obtenida en ambos casos:
Para determinar el correcto funcionamiento podemos utilizar el comando ping a la nueva dirección.
ping :2001:db8:290c:1291::3
Sin embargo, hay que destacar que la configuración que hemos realizado desaparecerá cuando
reiniciamos el ordenador. Es decir, la dirección de ámbito global 2001:db8:290c:1291::3 no será
asignada. Solamente se configura automáticamente la dirección de enlace local.
untu-Linux
3.4.2. Configuración manual en Windows XP
Instalación manual de IPv6 en Windows XP:
Por lo tanto, para modificar las configuraciones usaremos la interfaz de comandos con netsh. Más
adelante analizaremos en profundidad el uso de netsh.
Por ejemplo, para configurar una dirección IPv6 unicast 2001:db8:290c:1291::1 en la interfaz
“Conexión de área Local” con un valor infinito para los parámetros “valid lifetime” y “preferred
lifetime” y hacer que este cambio sea persistente (no cambie cada vez que se reinicia el sistema):
Se debe tener cuidado al escribir el nombre puesto que "Conexión de Area local" es distinto de
"Conexión de área local" tanto en la A mayúscula como en la tilde. Cualquier error de sintaxis obtendrá
la siguiente respuesta:
Si lo hemos escrito correctamente veremos que la nueva dirección ha sido añadida para la interfaz
especificada.
Para determinar el correcto funcionamiento podemos utilizar el comando ping a la nueva dirección.
ping :2001:db8:290c:1291::1
1.- Usando el entorno gráfico. (Recordad que en XP está opción no puede ejecutarse).
Inicio--> Panel de control --> Redes e internet --> Centro de redes y recursos compartidos:
Pulsamos Conexión de área local.
Vamos a configurar una nueva dirección IPv6 2001:db8:290c:1291::2 en la interfaz “Conexión de área
local” con un valor infinito para los parámetros “valid lifetime” y “preferred lifetime” y hacer que este
cambio sea persistente (no cambie cada vez que se reinicia el sistema):
Tal como indicamos en la instalación manual de XP se debe tener cuidado al escribir el nombre puesto
que "Conexión de Area local" es distinto de "Conexión de área local" tanto en la A mayúscula como en
la tilde.
Si lo hemos escrito correctamente veremos que la nueva dirección ha sido añadida para la interfaz
especificada:
Ping 2001:db8:290c:1291::2
3.5. Planificación de una red IPv6
La secuencia de pasos a dar para realizar la implementación de una red IPv6 sería la indicada en la
tabla siguiente