¿Cómo puedo acceder a direcciones IPv4 desde una red sólo IPv6?

¿Cómo puedo acceder a direcciones IPv4 desde una red sólo IPv6?

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 routers Freifunk no hay DNS disponibles, por lo que downloads.openwrt.orgno se puede resolver el nombre. Solo se puede acceder a todos los servidores de Internet a través de direcciones ipv6. Ahora no podemos acceder a este paquete-espejo desde el interior del enrutador para instalar 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?

Respuesta1

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

Para que su IPv6-soloPara poder 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 direcciones IPv4 en direcciones IPv6 "falsas", 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 esdisponible en la wiki de OpenWrt. Necesitará un ajuste de actitud o un rompe barreras; 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, utilizando464xlat. 464xlat utiliza las mismas herramientas. (mencionado anteriormente, pero sólo de otra manera). Con 464xlat también puedes acceder a URL con IP literales.

Respuesta2

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

Pero ¿por qué utilizarías un cliente sólo IPv6? La opción de doble pila es una buena idea, pero por ahora solo IPv6 solo es útil para realizar pruebas para aquellos que conocen las limitaciones que esto introduce en un mundo que tiene demasiados hosts solo IPv4.

Si logras abrir una conexión TCP con el servidor, enfrentarás otro desafío. La versión 1.1 de HTTP requiere que el cliente envíe el nombre del servidor con el que se comunica a través de la conexión HTTP. Y muchos sitios, incluidos los downloads.openwrt.orgque requieren que se envíe este encabezado.

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

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

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

Respuesta3

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

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

información relacionada