0 votos

Problemas de traducción directa de IP y DNS en OS X 10.6.8

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?

2voto

klanomath Puntos 19587

Arpanet: En el trabajo desde 1969 - la edición de su propio archivo de hosts es el método de elección.

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

->

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
192.168.10.100  someweirdname.com www.someweirdname.com
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0     localhost

Es posible que tenga que vaciar la caché de DNS utilizando sudo killall -HUP mDNSResponder y sudo dscacheutil -flushcache .

0 votos

No, no funciona. El mismo resultado: no vuelve nada. weirdname.com vuelve, pero la IP no.

0 votos

El host hace ping bien. la IP de la LAN hace ping bien. El sitio web funciona bien. Pero mi navegador no puede llegar a la IP de la WAN desde dentro de la LAN. **La IP de la WAN hace ping bien DENTRO de la red, así que aparentemente el módem está reenviando... pero las cosas del DNS no están sucediendo de alguna manera.

0 votos

Ok, y el ping fue justo ahí. Así que... aparentemente lo de la tabla de hosts SÍ funciona, pero no a través del navegador. Es decir, es un salto. Así que eso es justo a la máquina.

0voto

Oskar Puntos 1242

Su única esperanza para mí parece hacer una ruta estática en su máquina para tener 200.100.50.25 enrutado a 192.168.10.100, pero supongo que no va a funcionar sin algún truco de red en el lado del servidor web para escuchar realmente a los paquetes en lugar de enrutarlos en el router que tiene problemas en su cliente.

Mientras tanto, puedes intentar configurar un servicio de DNS dinámico gratuito para asociar 200.100.50.25 con un nombre de host que se resolverá para todos tus probadores externos a la IP que elijas para el servidor.

A continuación, puede hacer uso de la edición normal de /etc/hosts truco para que ese nombre se resuelva a su elección de IP interna en lugar de ir a los servidores DNS en general.

Básicamente dejar de codificar la dirección IP en la URL y utilice un nombre que pueda anular más fácilmente.

0 votos

Muchos ISP tienen entradas DNS que apuntan a la dirección IP, como aa.bb.cc.dd-nombre-disp.net o algo similar, donde la IP pública es aa.bb.cc.dd o dd.cc.bb.aa. En ese caso, sus usuarios podrían usar el nombre DNS de su router y él podría configurar su archivo de hosts con la dirección IP privada ¿correcto? Ya que parece que un nombre DNS dinámico no es lo que quiere.

0 votos

@samh Mi entendimiento es que el OP quiere una URL que pueda ser publicada/incorporada en documentos o código que resuelva a una dirección IP para la mayoría de los usuarios y a otra dirección IP para él mismo. Un nombre DNS real sería mejor que los dns dinámicos, pero esos no son gratis y son sencillos de configurar en 30 minutos. El aa.bb.cc.dd-isp-name-location.net se romperá para los usuarios externos ya que no pueden enrutar a 192.168.10.100 ya que es una IP no enrutable.

0 votos

Los usuarios no necesitan una ruta a 192.168.10.100. Ahora mismo esos usuarios van a 200.100.50.25/mybetadocs/webpage.html y funciona. Sin cambiar nada, deberían poder ir a 200-100-50-25.myisp.region.net/mybetadocs/webpage.html y debería funcionar. Entonces fyngyrz simplemente añade una entrada para esa dirección en el archivo de hosts apuntando a 192.168.10.100 y su ordenador nunca llegará a la puerta de enlace para ese tráfico.

0voto

Robru Puntos 584

No es el ideal solución y no resuelve ninguno de los problemas reales en sí, pero si todo lo que quieres es dejar todo como está y tener una forma de probar los enlaces , podría iniciar una conexión VPN. En ese momento, deberías poder acceder a tu IP pública desde el exterior y el reenvío de puertos funcionará como quieres.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X