¿Cómo alcanzo las direcciones IPv4 desde una red solo IPv6?

11

Me gustaría llegar a esta dirección a través de una dirección IPv6:
http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

En nuestros enrutadores Freifunk no hay DNS disponible, por lo que el nombre downloads.openwrt.orgno se puede resolver. Todos los servidores en Internet solo son accesibles a través de direcciones IPv6. Ahora no podemos alcanzar este paquete espejo desde el interior del enrutador. Instale paquetes a través de opkg install.

Sería una solución, si pudiéramos agregar esto a nuestra configuración, por ejemplo:

http://[2001:db8::1]/attitude_adjustment/12.09/ar71xx/generic/packages/

Nuestros enrutadores ejecutan OpenWRT y son solo IPv6 y me gustaría agregar una entrada /etc/hostspara que el nombre de dominio downloads.openwrt.orgse resuelva en una dirección IPv6 adecuada

¿Es posible redirigir un IPv6 a un dominio?

rubo77
fuente
2
Ese sitio no tiene una dirección IPv6 por alguna razón. ¿Quizás debería explicar cuál es su problema real, en lugar de cuál cree que es la solución ?
Michael Hampton
¿Por qué a través de IPv6? En qué sistema operativo estás.
JakeGould
@MichaelHampton: agregué el motivo por el que
escribí
Edité su título para explicar cuál es la pregunta real, ya que es fácil pasarla por alto en el cuerpo de la pregunta.
Michael Hampton

Respuestas:

12

No puede simplemente "agregar" una dirección IPv6 para llegar a un host que solo está disponible a través de IPv4. Estos son dos protocolos completamente diferentes e incompatibles.

Para que su red solo IPv6 pueda alcanzar direcciones IPv4, se requiere una puerta de enlace que tenga acceso a IPv4. Esto generalmente se hace con una puerta de enlace NAT64 / DNS64, que traduce las direcciones IPv4 en direcciones IPv6 "falsas", y acepta conexiones a esas direcciones IPv6 "falsas" y traduce las conexiones a la red IPv4. Estas direcciones IPv6 estarán en el 64:ff9b::/96rango.

En OpenWrt, NAT64 se realiza con Tayga y DNS64 con bind. Más información sobre cómo configurarlos está disponible en la wiki de OpenWrt . Necesitará un ajuste de actitud o un interruptor de barrera; Las versiones anteriores de OpenWrt no tenían soporte suficientemente completo para IPv6 y otras tecnologías.

Puede agregar solucionadores DNS64 / NAT64 públicos a su /etc/resolv.conf:

nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6

También puede "revertir" la traducción en el sitio del cliente, utilizando 464xlat . 464xlat utiliza las mismas herramientas. (mencionado anteriormente, pero solo de una manera diferente). Con 464xlat también puede llegar a las URL con IP literales.

Michael Hampton
fuente
2

El dominio downloads.openwrt.orgtiene una dirección IPv4 pero ninguna dirección IPv6. Por lo tanto, no puede alcanzarlo a través de IPv6 a menos que use un mecanismo de traducción. Puede usar NAT64 para poder crear una conexión TCP a ese servidor solo IPv4 desde un cliente solo IPv6.

Pero, ¿por qué usaría un cliente solo IPv6? Ir a doble pila es una buena idea, pero por ahora solo IPv6 es realmente útil para probar para aquellos que conocen las limitaciones que se introducen en un mundo que tiene demasiados hosts solo IPv4.

Si logra abrir una conexión TCP al servidor, enfrentará otro desafío. La versión 1.1 de HTTP requiere que el cliente envíe el nombre del servidor con el que está contactando a través de la conexión HTTP. Y muchos sitios, incluso downloads.openwrt.orgrequieren que se envíe este encabezado.

Su cliente HTTP solo puede enviar ese encabezado, si conoce el nombre de dominio para enviar. Por lo tanto, sería mejor que le permitiera al cliente conocer la URL original y de alguna manera darle acceso para resolver ese nombre a una dirección IP. Si tiene que ser IPv6, eso significa que necesitará NAT64. Sin embargo, se puede colocar una asignación del nombre de dominio a la dirección IP NAT64 /etc/hosts, y debería funcionar bien.

Eso puede funcionar bien para un nombre de dominio individual. Pero si desea que un host IPv6 solo pueda alcanzar múltiples dominios sin tener que poner a todos y cada uno de ellos /etc/hostscon una dirección NAT64, necesita una traducción dinámica de las direcciones. Para eso es DNS64.

Ahora, si el cliente tiene acceso IPv4 y solo le falta DNS, la respuesta se vuelve mucho más simple. Simplemente /etc/hostsingrese la dirección IPv4 como davidgo sugirió. Por supuesto, deberá actualizar ese archivo cada vez que cambie la dirección IP del servidor, lo que con suerte no será muy frecuente.

kasperd
fuente
Ciertamente, "ir a la pila dual es una buena idea", pero no todos pueden simplemente "ir a la pila dual". Si mi proveedor solo me da uno u otro, no hay mucho que pueda hacer al respecto.
paolo
@paolo Si está hablando de servidores, puede elegir un proveedor de alojamiento que admita doble pila. Hay una cantidad tan grande de proveedores competidores para elegir que insistir en el soporte de doble pila solo hace que la elección sea un poco más fácil al recortar la lista de proveedores para elegir. Si hablamos de redes con usuarios finales, hay menos competencia, ya que está limitado a los ISP en su área geográfica. En ese caso, seguir con lo que proporciona el ISP funcionará siempre que los servicios en los que confíe sean de doble pila como deberían ser.
kasperd
@paolo Si está hablando de redes donde los usuarios son desarrolladores, administradores de sistemas u otros que necesitan doble pila para desarrollar / soportar la infraestructura de doble pila, entonces realmente debería ir a la doble pila y usar un túnel si el ISP no soporte IPv6. Puede estar casi seguro de que el ISP proporciona alguna forma de llegar a los servicios solo de IPv4, posiblemente a través de NAT64 u otro mecanismo de transición.
Kasperd
Aparentemente ese sitio está habilitado para IPv6 ahora (mi navegador se conecta a una IP real en lugar de mi conexión estándar 6to4)
Paul Stelian hace
1

Creo que puede estar haciendo una pregunta incorrecta: no puede redirigir una dirección IPv6 a un dominio porque el proceso funciona de la manera opuesta, es decir, un dominio se resuelve en [o muchos] hosts.

No he podido encontrar ninguna información en su enrutador, pero si está ejecutando OpenWRT, debería poder agregar una entrada en / etc / hosts para que el nombre de dominio se resuelva en la dirección IP adecuada.

davidgo
fuente
eso era lo que tenía en mente. pero como no hay una dirección ip6 "apropiada", pensé que podría redirigirla de alguna manera. Lo agregué a la pregunta
rubo77