2011-03-19 22:41:21 +0000 2011-03-19 22:41:21 +0000
38
38

Acceder a la IP interna utilizando la IP pública

Tengo un módem ADSL con una dirección IP pública (201.206.x.x), y tengo un servidor web en mi red interna (192.168.0.50).

He configurado el módem para que reenvíe las peticiones al puerto 80 a mi servidor web, así que, si accedo a 201.206.x.x desde fuera de mi red, me muestra mi página web, lo mismo ocurre si accedo a 192.168.0.50 desde un ordenador dentro de mi red.

Ahora, el problema es que cuando intento acceder a 201.206.x.x desde mi red interna, el navegador intenta conectarse a la configuración del módem DSL, en lugar de redirigir mi petición a mi servidor web.

¿Qué configuración tengo que cambiar en el módem para establecer esta redirección?

Respuestas (8)

20
20
20
2011-03-19 23:02:55 +0000

El problema es que la reescritura de paquetes generalmente sólo puede tener lugar al atravesar el cortafuegos. Por lo general, los routers no pueden realizar la reescritura necesaria cuando la solicitud llega desde la misma red a la que se reescribiría la solicitud. La solución común a este problema es colocar un proxy web fuera de la red que haga un bucle con la petición a través de su cortafuegos.

Sospecho que su problema específico es que le gustaría acceder al sitio web a través de su nombre de host DNS. Puedes manejar eso usando un DNS de “horizonte dividido”, para que preste atención a la procedencia de la solicitud y responda apropiadamente: Si la petición viene de dentro de su red, reparte la 192.168.0.50 a las peticiones que vienen de su red y la IP pública a todos los demás.

Cualquiera de estas sugerencias podría implementarse en cualquier host fuera de su red, como una micro instancia (gratuita) de Amazon EC2.

14
14
14
2011-03-20 00:32:24 +0000

Yo diría que @Insyte tiene algo de razón cuando habla de que el problema es de resolución de DNS… lo que significa que el problema es de reescritura de paquetes (vuelve a leer el post de @Insyte para esa explicación).

Asumiendo que tienes la siguiente configuración:

  1. IP pública: 201.206.x.y
  2. IP privada: 192.168.0.50
  3. Reenvío de puertos para todos los 80 (y 443 si estás haciendo SSL) en la IP 201.206.x.y192.168.0.50

Entonces escribes lo siguiente en tu navegador, mientras estás en tu red interna:

http://www.yourwebsite.com

y se produce el error. Entonces, solución: hackea tu archivo de hosts.

En Windows, ve a C:\windows\system32\drivers\etc\hosts (fíjate, no hay extensión en ese archivo). En Linux, el archivo se encuentra en /etc/hosts.

Si abre ese archivo en el Bloc de notas, podrá ver las entradas que se utilizan para anular el DNS. Si desea actualizar ese archivo, tendrá que abrir el Bloc de notas (o el programa que esté utilizando para editar el archivo) con derechos de administrador, de lo contrario no podrá guardar el archivo.

Añade esto a tu archivo de hosts:

192.168.0.50 www.yourwebsite.com

Luego reinicie su navegador, introduzca la URL y ¡violá! Ya funciona. Esto significa que tu navegador no depende de tu DNS para resolver tu dominio a la IP. En su lugar, estamos anulando esto y diciendo: Browser, sólo ve a mi IP interna para ese nombre de dominio, en lugar de pedirle al DNS la dirección IP.

Si estás en una oficina, entonces puedes hacer que todas las personas que necesitan acceder a este sitio web interno, hackeen su archivo de hosts, o si tienes un DNS interno, entonces puedes añadir una entrada en eso.

Otra idea es tener un servidor proxy interno (para toda la navegación web, etc) y luego hackear el archivo de hosts en el servidor proxy. Esto significa que tu navegador dirá, Proxy, ¿puedes conseguirme el recurso http://www.mywebsite.com y el proxy dice Claro, y como me han dicho que ignore el DNS para ese dominio, sólo le daré la IP que ha sido codificada en mi archivo de hosts.

9
9
9
2011-03-20 01:27:58 +0000

Este es un problema común con la forma en que algunos routers manejan el tráfico destinado a su dirección pública desde una dirección interna - no siguen las mismas reglas de reenvío de puertos que las solicitudes desde fuera de la red. Lo que tienes que buscar en tus routers es el reflejo NAT. Esto permitirá que el router maneje las solicitudes internas para que la IP pública utilice las mismas reglas de reenvío de puertos como si la solicitud viniera de fuera de la red.

2
2
2
2011-03-19 23:00:42 +0000

Podría ayudarte mejor si me dieras la marca y el modelo de tu módem…

Pero lo que ocurre aquí es que normalmente la página de configuración de un router o módem sólo debería aparecer cuando se visita su IP interna (192.168.0.1)

Pero lo que parece estar ocurriendo aquí es que identifica la petición entrante (201.206.x.x) como proveniente del interior por lo que decide darte la página de configuración en lugar de la ruta normal a tu servidor web…

Ahora bien, si estás usando un módem de nivel de consumidor, probablemente no puedas cambiar esto (lo siento)

Pero tal vez puedas: Tratar de ver si hay una configuración de ‘escucha’ en su página de configuración de administración

Allí puede tratar de cambiar su página de administración a otro puerto o limitar las direcciones que escucha

2
2
2
2011-03-19 23:08:12 +0000

Quizás el problema es que la administración remota está permitida.

2
2
2
2015-03-12 03:14:55 +0000

Puede añadir una ruta para acceder a la IP pública del servidor directamente a través de su IP local. En Windows, el comando es como

route add [public IP] mask 255.255.255.255 [the server's local IP]

Para añadir una ruta persistente, añada el parámetro -p al comando anterior.

Entonces cada vez que visite la IP pública, el ordenador pasará por la IP local del servidor como puerta de enlace. Como el servidor conoce su propia IP pública, procesará el paquete desde sí mismo, en lugar de reenviarlo a la red local.

Hay que asegurarse de que la IP local del servidor es estática.

0
0
0
2015-12-05 05:31:19 +0000

Tengo este mismo problema. He podido solucionarlo añadiendo el nombre del host DNS a la lista de asignación de hosts DNS de mi router. Encontré esta configuración en la lista de opciones avanzadas de mi router.

0
0
0
2016-04-09 16:37:43 +0000

En mi router, tuve que desactivar la “aceleración de NAT” (Cut Through Forwarding) ya que esto rompió el loopback de NAT…