[LAC-TF] Configuracion de Rele 6to4 en BSD

JORDI PALET MARTINEZ jordi.palet at consulintel.es
Fri Jun 8 11:48:43 BRT 2007


Hola a todos,

Esta informacion proporciona los pasos necesarios para configurar un equipo
BSD como Rele 6to4.

Para continuar, necesitas disponer de una direccion IPv4 publica en dicho
equipo, tu propio prefijo IPv6 (en este caso proporcionado por LACNIC), y
transito IPv6.

El equipo BSD necesita soportar pseudo-interfaz stf, FreeBSD 5.4 o superior
son remodendadas. Para FreeBSD 4.9, se requiere recompilar el kernel
añadiendo "pseudo-device stf". NetBSD 1.5 soporta pseudo-interfaz stf
compilando el kernel. Tambien debe de tener habilitado soporte IPv6 y
routing.

Si necesitas ayuda adicional para solicitar tu prefijo IPv6 a LACNIC, no
dues en hacernoslo saber, y si es preciso podemos incluso revisar el
formulario de solicitud.

Igualmente, poemos ayudaros a verificar el resto de la configuracion IPv6
del equipo BSD, asi como en la obtencion de transito IPv6 (nativo o con
tuneles), bien sea de tu upstream o, alternativamente, si esto no es
posible, podemos proporcionarte transito IPv6 sin coste, a traves de otras
redes.

Saludos,
Jordi


Detalles de la configuracion ejemplo
=====================================

El ejemplo que mostramos asume que la direccion publica IPv4 en la interfaz
WAN del Linux, es 192.1.2.3. Debes de reemplazar dicha direccion con la
informacion correcta según el diseño de tu red, al igual que en el caso de
otros paremetros usados por el ejemplo.

Tambien es preciso comprender como calcular la direccion IPv6 6to4 para tu
equipo. Esta se calcula a partir de la direccion IPv4 y el prefijo IPv6
6to4.

El prefijo IPv6 6to4 es 2002::/16, utilizando los primeros 16 bits (los mas
significativos) 16 bits. A partir de ahí, los bits 17 a 48 son la notacion
nibble de la direccion IPv4. Asi, para nuestro ejemplo seria:

192 = c0
1 = 01
2 = 02
3 = 03

Por tanto:
2002:c001:0203::/48

Usaremos la primera direccion disponible en ese prefijo para la interface
WAN: 2002:c001:0203::1/128

La direccion anycast para 6to4 es: 192.88.99.1

En el siguiente texto, se usan ambos, los comandos genericos como ejemplos
concretos.


A) Configuracion de tunel 6to4
===============================

Crear una interfaz stf (en caso de que no exista):

    # ifconfig stf create

Por defecto, la interfaz stf no esta activada.
 
Añadir la direcion local 6to4 a esta interfaz (nota: es muy importante que
la longitud del prefijo sea 16!)

    # ifconfig stf0 inet6 6to4addr prefixlen 16

    # ifconfig stf0 inet6 2002:c001:0203::1 prefixlen 16


B) Configurar la conectividad IPv6
===================================

Dado que estamos configurando un rele 6to4, debe de existir conectividad
IPv6 (bien sea nativa o mediante tunel) a traves de un gateway IPv6 (para
nuestro ejemplo, usaremos 2001:7f9:1::1 como la direccion del GW). Tras
haber configurado una direccion IPv6 en la interfaz correspondiente, la ruta
por defecto ha de ser configurada:

Si nuestra interfaz IPv6 es ne0:

 Para configurar la direccion IPv6:

  # ifconfig ne0 inet6 alias 2001:7f9:1::2

 Para añadir la ruta por defecto:

  # route add -inet6 default 2001:7f9:1::1


C) Configurar los anuncios del prefijo
=======================================
  
En algun punto de la red en la que esta conectado el Rele, tiene que haber
un dispositivo (tipicamente un router BGP) que anuncie el prefijo 2002::/16
a los peers IPv6.

Esto permitira que el trafico nativo IPv6 llegue a los nodos 6to4
(direcciones 2002::/16).

Al respecto de la alcanzabilidad IPv4 del rele, hay dos opciones:

1) Configurar la direccion IPv4 anycast (192.88.99.1) y anunciar el prefijo
anycast (192.88.99.0/24) a los peers IPv4.

2) Usar la direccion IPv4 publica.

Si se elige 1), todos los hosts 6to4 podran alcanzar el rele de forma
automatica, sin necesidad de ninguna configuracion manual.

Si se elige 2) es preciso algun tipo de anuncio adicional de la direccion
IPv4 (por ejemplo un FQDN-Fully Qualified Domain Name) de tal forma que sea
facilmente configurable en hosts que quieran usar dicho rele.

Esto permite a los nodos 6to4 (direcciones 2002::/16) llegar a los nodos
IPv6 nativos, a traves del rele.


D) Configuracion persistente
==============================

Si se desea que esta configuracion sea persistente, se puede utilizar un
script que se ejecute en el momento del arranque. La idea es que el script
ejecute todos los comandos requeridos para la configuracion deseada.

El siguiente ejemplo toma como argumento la direccion IPv4 publica del
hosts:

   #!/bin/sh

   IPV4=$1
   PARTS=`echo $IPV4 | tr . ' '`
   PREFIX48=`printf "2002:%02x%02x:%02x%02x" $PARTS`

   STF_IF="stf0"
   STF_NET6="$PREFIX48":0000
   STF_IP6="$STF_NET6"::1

   ifconfig $STF_IF inet6 $STF_IP6 prefixlen 16 alias

   ifconfig ne0 inet6 alias 2001:7f9:1::2
   route add -inet6 default 2001:7f9:1::1

Para FreeBSD:

  Colocar en /etc/rc.conf:

  stf_interface_ipv4addr="public_v4addr"

  ipv6_defaultrouter="2001:7f9:1::1"

Los ejemplos de configuracion pueden variar para otras distribuciones de
BSD.


Anexo A: Eliminar el tunel 6to4
================================

Eliminar la direccion de la interfaz 6to4

  # ifconfig stf0 inet6 -alias 2002:c001:0203::1
 
Eliminar la ruta del prefijo 6to4

 Primero podemos ver la tabla de rutas con:

  # netstat -rn

 Ahora podemos eliminar la ruta para la entrada 2002::/16 prefix via
<gateway_IPv6> con:

  # route delete -inet6 2002::/16 <gateway_IPv6>






**********************************************
The IPv6 Portal: http://www.ipv6tf.org

Bye 6Bone. Hi, IPv6 !
http://www.ipv6day.org

This electronic message contains information which may be privileged or confidential. The information is intended to be for the use of the individual(s) named above. If you are not the intended recipient be aware that any disclosure, copying, distribution or use of the contents of this information, including attached files, is prohibited.






More information about the LACTF mailing list