Las direcciones que parecen privadas no lo son en el sentido que la mayoría de la gente quiere decir, y el direccionamiento único local de IPv6 es el caso más claro. Un prefijo ULA da a una VPN un plan interno estable para los recursos que tiene detrás. No cifra nada, no autentica a un par y no decide a qué servicios puede llegar un cliente. Tratar el prefijo como un control de seguridad es el error que este artículo pretende eliminar.

Qué proporciona realmente el prefijo

RFC 4193 reserva fc00::/7 para uso local, con el bit L que distingue el espacio asignado localmente de la forma reservada. En la práctica, eso significa que lo que genera es fd00::/8. La especificación también define cómo debe derivarse el ID global de 40 bits, para que los sitios independientes no elijan el mismo prefijo por accidente. Ese espacio está diseñado para permanecer fuera de la internet pública, lo cual es una propiedad de enrutamiento y no una protección.

Dentro de un sitio, la disposición habitual es un ID global /48 dividido en subredes: una para los clientes del túnel, una para el lado del servidor y una por cada LAN remota. Esa estructura es todo el beneficio, y es un beneficio de direccionamiento. Cada paquete sigue necesitando una ruta y sigue necesitando una política que lo permita.

Confundir el prefijo con un túnel es cómo un diseño acaba documentando direcciones fd00 y suponiendo que el tráfico entre ellas está protegido. No lo está, a menos que otra cosa haga la protección.

Por qué copiar el prefijo del ejemplo duele

Todos los tutoriales usan un prefijo fácil de recordar, y todos los lectores que lo copian heredan el mismo riesgo de colisión. Dos sitios que más tarde se conectan por un túnel de sitio a sitio con rangos idénticos producen exactamente la ambigüedad conocida del espacio privado IPv4 superpuesto. Ninguno de los dos lados está equivocado por sí solo, y la red combinada no tiene forma de saber qué destino se quiere decir.

Generar el ID global según el proceso documentado lleva un minuto y elimina la pregunta. Anote el prefijo, la entrada de generación y la fecha junto al plan de direcciones.

El riesgo no es teórico para quien fusiona redes tras una adquisición o une dos laboratorios por una VPN. Tampoco es urgente para un solo sitio, y por eso se pospone hasta que la fusión ya está programada.

Alcance y acceso son preguntas separadas

ULA no está pensado para el direccionamiento ordinario de internet enrutado globalmente. Eso no hace fiable a cada host que lo usa ni hace inalcanzables esos hosts desde otras redes privadas conectadas. Los cortafuegos y los permisos de las aplicaciones siguen decidiendo qué puede usar un par, y el túnel sigue aportando la autenticación con la que se configuró.

Una salida a internet necesita su propio diseño de salida IPv6. Asignar una dirección ULA a un cliente no crea acceso a destinos globales arbitrarios, y no debe esperarse que un cliente que recibe una navegue por la internet pública a través de ella.

Dos sitios con prefijos distintos siguen necesitando rutas de retorno para los rangos del otro, y ambos cortafuegos necesitan reglas coincidentes. Nada de eso se deduce de la familia de direcciones. Lo que se deduce es trabajo de documentación: una tabla de prefijos y los sistemas a los que se permite responder en cada uno.

Compruebe el plan en ambos extremos

Confirme que el prefijo aparece donde cree que aparece y, después, confirme que un destino es realmente alcanzable a través de él.

ip -6 address show
ip -6 route show
ping -6 -c 3 fd12:3456:789a:1::1

El listado de direcciones muestra qué interfaz tiene qué subred, y un cliente que recibió la incorrecta suele mostrarlo aquí. El listado de rutas muestra si el prefijo remoto tiene un camino por el túnel en lugar de ser descartado. La prueba responde a la única pregunta que importa: si un paquete hace el viaje de ida y vuelta.

Repita la comprobación tras una reconexión, porque un cliente que conserva su dirección pero pierde la ruta produce una conexión que parece activa y no reenvía nada. La dirección es la parte fácil, y la ruta es lo que desaparece. Guarde ambas salidas junto al nombre del perfil de conexión para que la siguiente comparación empiece con pruebas.

Artículos relacionados