Bucle invertido NAT y DynDNS

Bucle invertido NAT y DynDNS

Configuré exitosamente DynDNS en mi enrutador y ahora puedo acceder a mi servidor doméstico desde fuera de mi red local usando mi dominio personalizado.

Usando el mismo dominio, puedo llegar a mi servidor doméstico desde dentro de la red local, a pesar de tener una IP externa, por lo que supongo que mi enrutador permite el bucle invertido NAT para ese dominio.

Estaba pensando que esto era suficiente para garantizar que el tráfico de la red permanezca dentro de la red local para las solicitudes a mi servidor doméstico.

Pero hice una prueba simple que parece desmentir eso.

Cambié el archivo /etc/hosts de mi computadora portátil (conectada a la red local) para resolver mi dominio DynDNS como la IP local de mi servidor (por ejemplo, 192.168.1.2).

La velocidad de la red es mucho más rápida utilizando la IP local para cada solicitud. Supongo que se debe a que la solicitud no sale de la red local.

Mi computadora portátil no es el único dispositivo que utilizará el servidor. Además, cambiar el archivo de hosts dentro/fuera de mi red no es una opción viable. Lo que realmente no entiendo es por qué el enrutador no es lo suficientemente "inteligente" para redirigir las solicitudes.

¿Me estoy perdiendo de algo?

¿La única forma de resolver esto es implementar un servidor DNS en mi red local?

Respuesta1

No, su enrutador no realiza el "bucle invertido NAT".

Hay dos casos. Puede ver cuál se aplica mirando la IP de la interfaz de red externa de su enrutador (que puede ser diferente de su IP pública, ver más abajo).

1) Su ISP está realizando NAT de nivel de operador (muy probablemente, en Alemania es casi seguro).

Su IP pública estará en la red de su ISP. Su enrutador también tendrá una IP privada en la red de su ISP (que es diferente de la IP privada en su red doméstica). Cuando envía un paquete a su IP pública, irá al enrutador, luego a la red de su ISP, luego de regreso a su enrutador y luego a su servidor. Es posible que veas o no (parte de) esto con traceroute.

Por lo tanto, abandonará su red doméstica, pero no abandonará la red de su ISP.

Existe un mecanismo ICMP REDIRECT para hacer esto más rápido la próxima vez, pero su ISP puede usarlo o no, y el Fritzbox puede obedecerlo o no.

OTOH, cuando usas directamente la dirección de tu servidor, ahí es donde irá.

2) Su ISP no realiza NAT de nivel de operador. El paquete a su IP pública irá a su enrutador, detectará que es una IP local, pero aún así aplicará las reglas de reenvío de puertos y lo enviará de regreso a su servidor.

Esto sigue siendo más lento que enviarlo directamente al servidor, pero no tanto como en el caso (1).

3) Tu Fritzbox es perfectamente capaz de gestionar IP estáticas. Y ya ejecuta un servidor DNS. Puede editar el nombre del dispositivo en la GUI, puede marcar la casilla "siempre la misma IP" y se podrá acceder al servidor en xyz.fritz.box, siempre con la misma IP.

Lo que no hará es anular la resolución de nombres para nombres fuera de su dominio (al menos no creo que pueda hacerlo, en realidad podría valer la pena intentarlo).

Entonces, sí, si desea que su nombre de dominio DDNS se resuelva en diferentes IP dependiendo de si está en su red doméstica o fuera, tendrá que implementar un segundo servidor DNS. O escriba algo para que cambie /etc/hostsautomáticamente según el SSID al que esté conectado, etc.

información relacionada