Esta es la situación:
Tengo un servidor web en mi LAN que sirve versiones beta de mi documentación para mi software libre.
Este servidor web, a través de mi router, responde a una dirección IP externa. IPs imaginarias a efectos de explicación:
- Mi servidor web está en mi LAN en
192.168.10.100
- Mi IP estática de la WAN es
200.100.50.25
Externamente, el DNS es no configurado para que algún nombre se resuelva en 200.100.50.25
. Tampoco lo será. Así que no se puede llegar por la vía habitual.
Por lo tanto, proporciono URLs a mis probadores beta en esta forma:
http://200.100.50.25/mybetadocs/webpage.html
Esto funciona bien. Mis probadores en el mundo pueden llegar a mi servidor y todo está bien. Para ellos.
Este es el problema: en mi máquina, si intento llegar a esa URL, por ejemplo, cuando hago clic en un enlace de una página web que la contiene, mi máquina le dice al router que haga NAT a 200.100.50.25
Y ahí se acaba todo, no va a ninguna parte.
El router no parece tener ninguna capacidad de loopback que le permita saber que efectivamente, 200.100.50.25
está, de hecho, en mi LAN (aunque francamente, creo que ya debería saberlo, ya que esa es su IP externa y es donde estoy tratando de llegar. Solía funcionar bien en mi antiguo router. Pero en fin).
Así que lo que estoy buscando es una manera de decirle a OS X aquí en mi máquina local que cuando llegue a 200.100.50.25
En realidad estoy tratando de alcanzar 192.168.10.100
para que mi servidor web me responda aquí en mi máquina, directamente a través de la LAN.
Simplemente, en mi máquina solamente, necesito lo siguiente,...
http://200.100.50.25/mybetadocs/webpage.html
...para llegar aquí:
http://192.168.10.100/mybetadocs/webpage.html
Anteriormente, hice que mis usuarios configuraran un hosts
para un nombre de servidor imaginario de la forma nombredeclaro.com, así...
200.100.50.25 someweirdname.com
...y luego poner todos mis enlaces en el formulario...
http://someweirdname.com/mybetadocs/webpage.html
...que en realidad funciona bien, pero se encontró con un problema de usuario bastante grave en el que la configuración de un hosts
archivo estaba completamente fuera de su alcance, por lo que no se puede acceder a los documentos.
El uso de la IP no requiere nada del usuario más que hacer clic en el enlace, y como he dicho, les funciona bien. Pero bloquea yo lo que me resulta muy incómodo: no puedo seguir las URL de otros servidores web hasta varios lugares de mis documentos beta sin sacar mi teléfono móvil, apagar su acceso al wifi y buscar esos enlaces a través de 4G para que mi router vea la solicitud que llega desde fuera de la LAN.
Cuando sólo estoy leyendo mis documentos aquí, simplemente uso someweirdname.com para llegar a ellos, y todo es relativo desde allí, y eso funciona bien también.
Simplemente no puedo acceder a ellos desde las páginas web de otros servidores en la red. Y por... razones... Necesito probar esas URLs para asegurarme de que van a donde se supone que deben ir.
¿Existe una solución para este problema que no implique la compra de otro nombre de servidor, que me cueste más dinero para exponer mis documentos beta locales y que no tenga que lidiar con el mantenimiento de los DNS?
Puedo vivir con ello tal y como es, y ha sido, pero lo odio.
2 votos
¿Por qué no editas su ¿archivo de hosts?
0 votos
Lo hice. No funcionó. Mira abajo.
0 votos
Esto es pedir alguna ruptura importante de la red para que el sistema ignore 200.100.50.25 y en su lugar hacer una búsqueda de DNS. ¿Cuál es la razón para no hacer que el enlace sea un nombre DNS - incluso utilizando un servicio de DNS dinámico gratuito para poder poner un nombre allí y utilizar el truco normal del archivo de hosts?
0 votos
Tu mensaje es un poco confuso: dices que tu servidor web responde a una dirección IP pública, pero la descripción no coincide realmente. Su router tiene una IP pública, y todo lo que está detrás es NAT'd a través de eso, ¿verdad? Qué modelo de router tienes - probablemente requerirá una configuración personalizada para lograr lo que quieres.
0 votos
@samh Eso podría funcionar - programar el router para interceptar el paquete saliente y en su lugar tener un " siguiente salto " en la IP del servidor local?
0 votos
"no implica comprar otro nombre de servidor" me dice que ya tienes un nombre de dominio. Deberías poder crear un subdominio y apuntarlo a tu IP WAN. Si tu alojamiento web o registrador de dominios no te ofrece esto de forma gratuita, en mi opinión es hora de cambiar de compañía de alojamiento.
0 votos
@bmike hace tiempo que no programo un router así que no recuerdo la terminología exacta pero hay una forma de que un router intercepte el tráfico que normalmente acabaría yendo al exterior y lo enrute internamente en su lugar.