¿Existe alguna forma de utilizar siempre la misma dirección IPv6 de Teredo?

¿Existe alguna forma de utilizar siempre la misma dirección IPv6 de Teredo?

Una de mis computadoras tiene un ISP solo IPv4, por lo que estoy usando miredo para tener una dirección IPv6. Ahora necesito acceder a esta computadora de forma remota con IPv6. (No puedo usar IPv4 aquí porque está detrás de una NAT I y no puedo agregar nuevos reenvíos de puertos). El problema es que no puedo agregar un registro DNS AAAA porque una parte de la dirección IP cambia aleatoriamente cada vez que la computadora se conecta a la red.

Entonces mi pregunta es: ¿hay alguna manera de usar siempre la misma dirección IP con Teredo?

Respuesta1

Las direcciones IP de Teredo dependen de algunas cosas segúnWikipedia.

En primer lugar, depende de la dirección IPv4 del enrutador. Si eso está sujeto a cambios, tienes un problema.

En segundo lugar, depende del puerto de origen utilizado por Teredo, que puede ser traducido y modificado por el dispositivo NAT. Si su dispositivo NAT conserva el puerto de origen utilizado por las aplicaciones en el interior,puedeser capaz de hacer que esto no cambie. Si está en Windows, la opción "puerto de cliente" para Teredo puede resultar útil.Consulte este artículo de Technet.

Respuesta corta: tupuedepodrá lograr que sea el mismo la mayor parte del tiempo, pero su kilometraje puede variar considerablemente. Probablemente no podrá obtener esta confiabilidad porque el dispositivo NAT puede dañar su puerto de origen. Es posible que puedas detener eso configurando el reenvío de puertos en tu firewall... pero ya no puedes hacerlo... así que...

Una mejor opción podría ser configurar un cliente DNS dinámico, suponiendo que pueda encontrar uno que publique una dirección IPv6 de una interfaz teredo.

Respuesta2

Al parecer, desdeRFC 5991, algunas partes de la dirección IPv6 son siempre aleatorias para que no sea predecible.

Entonces, la solución más sencilla para mí fue utilizar un servicio DNS dinámico que admita IPv6 como dynv6.com.

Respuesta3

Sí, es posible hacerlo con el protocolo Teredo. Pero requiere código modificado tanto en el cliente Teredo como en el servidor Teredo.

Para explicar por qué todavía se puede considerar el mismo protocolo una vez que se han modificado tanto el cliente como el servidor, primero tengo que explicar cuáles son los otros componentes involucrados en la comunicación.

Conceptos básicos de Teredo

Los cuatro nodos de red críticos en una comunicación que utiliza el protocolo Teredo son:

  • cliente teredo
  • Servidor Teredo (elegido por el cliente)
  • Retransmisión Teredo (elegida por el nodo IPv6 nativo)
  • Nodo IPv6 nativo

En última instancia, son el cliente Teredo y el nodo IPv6 nativo quienes quieren intercambiar paquetes IPv6. Los servidores Teredo y los repetidores Teredo existen para facilitar ese tráfico.

El servidor Teredo sólo participa en la configuración de la conexión inicial. Una vez que se establece la conexión, el tráfico entre el cliente Teredo y el nodo IPv6 nativo pasa por el relé sin que el servidor Teredo vea nada del tráfico.

Dado que el cliente no tiene influencia en la elección del relé Teredo, cualquier solución que requiera cambios en el relé no funcionará. Por suerte eso no es necesario. La conexión entre el cliente y el repetidor a donde se envía la mayor parte del tráfico seguirá siendo tráfico Teredo completamente estándar.

Debido a que el cliente y el relé aún se comunican usando Teredo estándar y debido a que el cliente todavía tiene una dirección IPv6 en el 2001::/32prefijo, esto aún califica como Teredo.

Cambios necesarios

El cliente Teredo elige aleatoriamente 12 de los bits de la dirección Teredo. Se necesita una modificación en el lado del cliente para que no sean aleatorios.

48 de los bits de la dirección Teredo son la dirección IPv4 y el número de puerto UDP del cliente Teredo visto por el servidor Teredo.

Aquí es muy importante que esos 48 bits sean la dirección del puerto tal como la ve el servidor. Debido a NAT, el cliente y el repetidor pueden pensar que el puerto UDP tiene una dirección completamente diferente. Pero la dirección IPv4 y el número de puerto que ven el cliente y el relé no influyen en la dirección IPv6 final.

Normalmente, el único NAT involucrado se encuentra cerca del cliente Teredo. Pero si desea influir en la dirección IPv6 final, se puede colocar una NAT en la misma máquina que el servidor Teredo. Incluso es posible construir NAT directamente en el servidor Teredo si así lo desea.

¿Existe alguna implementación de esto?

Probablemente no.

ya lo he implementado previamentemayoríade un servidor Teredo haciendo esto. Pero el cliente sólo podrá elegir la dirección IPv4 y no el número de puerto UDP. Necesitaba el número de puerto UDP para distinguir a los clientes.

Un servidor Teredo con soporte para mantener estática tanto la dirección IPv4 como el puerto UDP para un usuario específico necesitaría alguna forma de reconocer al usuario. Hay campos en el protocolo que podrían usarse para eso. Pero no conozco ninguna implementación que admita la identificación de clientes Teredo en servidores Teredo.

Además, Teredo sufre un importante problema de fiabilidad. Este problema de confiabilidad está relacionado con la parte del protocolo Teredo, que no se ve afectada por ninguna de las modificaciones que he descrito aquí.

El problema con Teredo

El problema es cómo el nodo IPv6 nativo elige qué relé Teredo usar. Lo ideal sería que el administrador de la red en la que se encuentra el nodo IPv6 nativo configurara un relé Teredo para esa red (y lo ubicara fuera de NAT si se utiliza NAT para IPv4).

Pero muchos administradores optan por no implementar un repetidor Teredo. Por lo general, razonan que, dado que Teredo es tan poco confiable, no necesitan respaldarlo (sin darse cuenta de que este razonamiento hace que la falta de confiabilidad de Teredo sea una profecía autocumplida).

En cambio, lo que sucede es que el tráfico desde el nodo IPv6 nativo se enviará a través de la ruta predeterminada al proveedor ascendente, quien a su vez puede enviarlo a su proveedor ascendente y, finalmente, el tráfico puede terminar en una retransmisión pública de terceros en un AS que tiene decidió anunciar 2001::/32.

El uso de un repetidor de terceros significa una ruta de red más larga, lo que a su vez significa una mayor latencia. También significa que no existe un SLA y que es posible que el repetidor Teredo no tenga capacidad suficiente para el tráfico que se le envía.

En la mayoría de los casos en los que se desea una dirección IP estática, también se desea cierta confiabilidad. Y dado que rara vez tiene control sobre todos los nodos remotos con los que se comunicará, tampoco tiene control sobre qué relés Teredo se utilizarán.

Esto hace que Teredo con dirección IP estática sea un producto de nicho para aquellos pocos que están dispuestos a instalar un cliente Teredo modificado para obtener una dirección IP estática sin garantías de confiabilidad.

Respuesta4

Quizás te convenga más un 6in4túnel. Esto utiliza el protocolo 41 y no requiere reglas NAT adicionales. Hay corredores que ofrecen túneles gratuitos. Siempre que sea el único en su red que utilice la IP del agente de túnel, no debería haber problemas.

Si la dirección IP de su enrutador no es estática, deberá realizar una configuración adicional para reconfigurar la red cuando cambie la dirección IP. Esto es similar a lo que necesitaría hacer con DDNS.

Configure su conexión con un firewall, ya que no tendrá una NAT que lo proteja del tráfico no deseado.

Soporte para ambos 6in4y 6to4está integrado en Linux. Originalmente comencé con 6to4 que funcionaba pero no era tan estable como me gustaría. Con 6in4he tenido conectividad estable. Lo he estado usando para conectividad NTP y obtengo fuentes de tiempo estables a través de IPv6.

información relacionada