mayo 12, 2021, 11:54:52 am

Noticias:

Si tienes problemas para ingresar: puedes escribir a [email protected] para soporte técnico.


Hairpin NAT con un router DLink

Iniciado por pish, febrero 21, 2011, 07:40:58 pm

Tema anterior - Siguiente tema

pish

Eso compas, tengo una consulta.

Les describo el escenario que tiene un amigo:

Un router DLink (en la IP local 192.168.1.1) al que se le configuró lo siguiente:
+ Port forwarding del puerto 80 hacia un web server en IIS en la IP local 192.168.1.50
+ El Remote Management en el puerto 8080 para administrarlo remotamente

Ok, para administrar el router dentro de la red local, simplemente navego en http://192.168.1.1
Para administrar el router desde fuera de la red local, simplemente navego en la IP pública con el puerto 8080: http://xxx.xxx.xxx.xxx:8080
Para acceder al web server desde dentro de la red local, simplemente navego a su IP local: http://192.168.1.50
Para acceder al web server desde fuera de la red local, navego en la IP pública: http://xxx.xxx.xxx.xxx

Hasta aquí todo perfecto y todo funciona sin ningún problema.

Peeeeero...

El web server tiene un sistemita que desarrolló una gente hace muchísimo tiempo en ASP y en varios de sus scripts y páginas hacen solicitudes de manera directa a la IP pública xxx.xxx.xxx.xxx.
He aquí el problema, cuando se accede a ese sistemita desde la red local (navegando en la 192.168.1.50) y esos scripts/páginas hacen las solicitudes a la IP pública, al ser solicitudes locales a la IP pública de la misma red en la que me encuentro, entonces el router no las deja salir, las atrapa y trata de gestionarlas él por su puerto 80 (al ser una solicitud local) y allí el sistema se cae.
Traté de toquetear un poco y hacer pruebas con los "Static Routes" del router pero no sirvió. De todas formas no sé si eso se soluciona allí.

Lo que se ocuparía es que el router deje salir esas peticiones locales a la IP pública y que las tome como si vinieran de afuera para que sean redireccionadas correctamente de vuelta al puerto 80 del web server.
Googleando un poco me encontré que a esto se le llama comúnmente como "Hairpin NAT" pero no he logrado resolverlo para el router.

Lo extraño es que cuando antes tenían un router Linksys WRT54G ese problema no sucedía. Me imagino que ese router dejaba salir esas peticiones y las volvía a atrapar como si vinieran de afuera. Al dañarse ese router fue que compraron el DLink que hasta el momento ha sido una maravilla con todo excepto ese pequeño gran problema.

Sé que lo más lógico es que los desarrolladores de la aplicación deben solucionar eso; pero por ahora me cuenta mi amigo que no es posible contactarlos (porque fue hace mucho) y nadie de allí sabe ASP. Yo tampoco puedo ayudarlo porque yo no sé ASP y estoy ayudándolo a tratar de buscar una solución que se haga ojalá desde el router.

Cualquier ayuda es muy apreciada y bienvenida.

Saludos!

JorgeAVM

Ah man, eso yo lo había resuelto en otro lado mediante DNS.
Digamos si el sistema Web en realidad lo que accede es al nombre de dominio y este a su vez resuelve por la IP pública, entonces modifique el archivo:
%SystemRoot%\System32\drivers\etc\hostsy agregue la entrada:
192.168.1.50 nombredominio.dom
Reemplace nombredominio.dom con el nombre de dominio que realmente usa el sistema.
Puede agregar varias entradas, una por línea, con la misma IP si fuera necesario para más nombres de dominio o subdominios.

Eso deberá hacerlo en cada computadora que trate de acceder el sistema web desde dentro de la LAN.

Si el sistema intenta acceder directamente a la IP, entonces esta solución no funcionará.

pish

Gracias Jorge!

De hecho esa es la bronquilla, que las solicitudes que hace el sistema no las hace a un nombre de dominio sino a la IP pública directamente  :(

Un saludo

JorgeAVM

Ah eso sí que está fatal! Y qué pasa si el proveedor de Internet les cambia la IP?
Los amigos que hicieron el sistema no conochen! ;D Con razón usaron ASP y no PHP :juju:

pish

Cita de: "Jorge.A.V.M."Ah eso sí que está fatal! Y qué pasa si el proveedor de Internet les cambia la IP?
Los amigos que hicieron el sistema no conochen! ;D Con razón usaron ASP y no PHP
Jajaja sí de hecho, concuerdo con eso :)

darkraptor

pish creo que esto es muy facil de solucionar a nivel de la programacion ASP inclusive sin saber nada... ya que ASP es un lenguaje interprete no hay nada compilado yo te aconsejaria lo siguiente... haga una copia de seguridad de los documentos .asp y luego haga una busqueda en los archivos del IP (con notepad o Dreamweaver) ... luego de encontrarlo simplemente modifiquelo salve y listo.. puede que ocupe cambiarlo en varios documentos pero si los programadores fueron mas eficientes debe estar en un solo doc

Saludos,
DR

pish

Cita de: "darkraptor"pish creo que esto es muy facil de solucionar a nivel de la programacion ASP inclusive sin saber nada... ya que ASP es un lenguaje interprete no hay nada compilado yo te aconsejaria lo siguiente... haga una copia de seguridad de los documentos .asp y luego haga una busqueda en los archivos del IP (con notepad o Dreamweaver) ... luego de encontrarlo simplemente modifiquelo salve y listo.. puede que ocupe cambiarlo en varios documentos pero si los programadores fueron mas eficientes debe estar en un solo doc

Saludos,
DR
Ah ok, perfecto darkraptor, nos meteremos a revisar entonces esos archivitos ASP para encontrar los lugares en donde se hacen las referencias a la IP y postearé acá lo que logremos encontrar al respecto.

Muchas gracias!

Un saludo ;)

Buscar en el Foro: