6 votos

Dirección IPv6 estática de la publicidad y la configuración automática de IPv6 en Debian/Ubuntu

Tengo una red que se anuncia direcciones IPv6 a través de la configuración automática de IPv6. Para permitir las búsquedas de DNS y tener la fantasía de direcciones IP, la configuración inicial "estática" de las direcciones IPv6 a través de /etc/network/interfaces:

auto eth0
iface eth0 inet dhcp
iface eth0 inet6 static
    address a:b:c:d:e::f 
    netmask 64

Siempre que se conecte a través de IPv6 en Linux utiliza el IPv6 configuración automática de direcciones:

 a:b:c:d:21d:60ff:fe4a:479

y no la dirección IPv6 estática:

 a:b:c:d:e::f

Un servidor en el otro lado sólo se ve la configuración automática de direcciones.

Es allí una manera de forzar a linux (Debian/Ubuntu) para uso de la dirección estática para los paquetes salientes? Esto es especialmente interesante para la inversa de DNS y la configuración del firewall.

No quiero desactivar el IPv6 configuración automática ya que no tengo control sobre la configuración del router anuncia.

6voto

Celada Puntos 3781

Por supuesto, la forma más fácil de prevenir la autoconf direcciones de acostumbrarse es para evitar que el núcleo de la creación de ellos por hacer algo como esto:

echo 0 >/proc/sys/net/ipv6/conf/eth0/autoconf

Observe cómo este no tendrá que volver a configurar el router para que se detiene emiting anuncios para el prefijo.

NOTA en los comentarios, usted habla de la /etc/gai.conf, pero esto no es aplicable. Este es un archivo de configuración de glibc, no del kernel, y que influye en la selección de direcciones de destino, no el de la selección de direcciones de origen.

Si usted todavía desea tener la autoconf direcciones, pero ellos no quieren acostumbrarse, entonces sigue leyendo...

Para la comunicación entre los hosts en la misma red

No pude encontrar una buena manera de forzar la selección de la dirección a preferir la dirección estática sobre la autoconf. Observando todas las reglas de RFC 3484 ninguno de ellos era realmente útil.

Usted puede tratar de cambiar el /64 de la ruta en su tabla de enrutamiento para el conectado de subred por lo que tiene un atributo "src", pero es autogenerado por el núcleo cuando cualquiera de las direcciones en la subred se agregan a la interfaz y no tuve éxito en la edición que después del hecho.

Para la comunicación con los anfitriones en el resto de internet

Hay varias maneras que usted podría influir en la selección de la dirección para las conexiones salientes. La más obvia es el uso de la src de atributo en las rutas. Por ejemplo:

ip route add ::/0 via <gateway> src <desired-source-IP-address>

Pero tal vez su ruta por defecto viene de un mensaje de anuncio de enrutador y se inserta automáticamente por el kernel. En ese caso es imposible para que usted dé un atributo "src" de la ruta. Pues aquí hay otro método, basado en la configuración de las etiquetas de dirección.

Por defecto, en Linux, el núcleo de la dirección de etiqueta de mesa se parece a esto:

prefix ::1/128 label 0
prefix ::/96 label 3
prefix ::ffff:0.0.0.0/96 label 4
prefix 2001::/32 label 6
prefix 2001:10::/28 label 7
prefix 2002::/16 label 2
prefix fc00::/7 label 5
prefix ::/0 label 1

La idea es que, cuando se inicia un paquete a una dirección de destino con la etiqueta x, el núcleo prefiere el uso de una dirección de origen con la misma etiqueta x. Así, por ejemplo, si usted envía un paquete a un host con una dirección 6to4 (que es una dirección en el 2002::/16), la etiqueta de que es 2, y el kernel se prefieren para seleccionar un 6to4 dirección de origen de la salida de paquetes, si hay uno disponible.

General IPv6 destinos obtener la etiqueta 1 (::/0, que se corresponde con todo). Aquí es lo que usted desea hacer:

  • Anular la asignación etiqueta para la subred local para que las direcciones en la subred local obtener un "marciano" de la etiqueta (una etiqueta que no es utilizado por otra cosa). Esta regla va a coincidir con la totalidad de subred por lo que será /64.
  • Volver a anular la asignación etiqueta para la dirección estática para configurar de nuevo a 1 (es decir, el mismo de la etiqueta como el resto de las direcciones de Internet que obtienes). Esta regla va a coincidir solo a la dirección deseada por lo que será /128.

De esta manera, todos aquellos autoconf direcciones en la subred local recibirá un marciano etiqueta que no coinciden con la etiqueta de cualquier otra cosa en el internet, así que no será preferido, mientras que la etiqueta de la fuente deseada de la dirección será 1, de manera que coincidan con la dirección de destino y obtener elegido.

Si el prefijo 2001:db8::/64 y el elegido estática dirección 2001:db8::aaaa/128 a continuación:

ip addrlabel add prefix 2001:db8::/64 label 99
ip addrlabel add prefix 2001:db8::aaaa/128 label 1

Puede agregar estos dos comandos como up comandos en /etc/network/interfaces de manera que se ejecuta cada vez que el interfaz.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: