DNS resuelve servidores IP externos en lugar de IP internos

0

Me gustaría acceder a un servidor web desde dentro y fuera de mi red doméstica. Luego tengo mi firewall (pfSense) nombrado como example.com . Desde mi red, puedo acceder a todas las máquinas por su nombre de host completamente resuelto ( webserver.example.com , jenkins.example.com , nas.example.com , etc). Esto funciona muy bien en todas mis máquinas.

El problema entra en juego cuando intento agregar acceso externo, específicamente a mi servidor gitlab. Soy propietario de un dominio y uso DNS dinámico para actualizarlo y apuntar siempre a mi dirección IP residencial. Luego abrí el puerto 443 para apuntar a mi gitlab IP interno y agregué una entrada CNAME para gitlab.example.com para apuntar a example.com . Esto funciona como se esperaba, ahora puedo acceder a gitlab.example.com desde dentro y fuera de mi red.

El problema es que OS X ahora tiene un problema para resolver la dirección IP correcta. gitlab ahora se resuelve en 192.168.1.XXX y sea cual sea mi dirección IP externa. OS X elige inconsistentemente la IP incorrecta para acceder. Cuando ping gitlab.example.com , a veces veré mi IP interna, a veces mi externa. nslookup siempre parece mostrar la IP interna, mientras que la función de búsqueda de Network Utility parece mostrar ambas IP (76.xx.xxx.xxx, 192.168.1.xxx) o solo la IP externa. Esto solo parece ser un problema al acceder a mi servidor desde la línea de comandos a través de git . La conexión se agota porque parece que no puede encontrar el servidor.

Al usar Chrome, parece que siempre puedo acceder al cliente web, independientemente de qué IP se haya resuelto. Safari solo puede acceder al servidor si se resuelve la IP interna. Cuando se usa la IP externa, Safari me notifica que no puede abrir la página "porque el servidor donde se encuentra esta página no responde". Puedo "forzar" al sistema operativo a que olvide la IP externa vaciando el caché de DNS ( sudo killall -HUP mDNSResponder ), que funciona durante unos minutos, pero luego vuelve a la IP externa.

Estoy confundido acerca de por qué está ocurriendo este problema. Idealmente, me gustaría que OS X siempre use la IP interna si tiene la opción. Pero incluso si está utilizando la IP externa, ¿por qué no podría acceder al servidor? ¿Mi ISP está bloqueando el tráfico de bucle de retorno de mi IP a mi IP?

La razón por la que publico esta pregunta aquí es porque solo OS X parece tener este problema, y puedo reproducirlo de manera confiable con múltiples Mac. Ni Linux ni Windows parecen tener este problema. Cada uno de ellos siempre resuelve la IP interna cuando está dentro de la red y la IP externa fuera de la red. Esto también está en varias máquinas. No soy exactamente un experto en redes o DNS, por lo que cualquier ayuda sería apreciada. Es bastante probable que me haya equivocado de configuración en algún lugar, pero no tengo idea de dónde empezar a buscar.

    
pregunta Kyle 10.08.2014 - 22:42

1 respuesta

2

Parece que lo que estás tratando de hacer se llama Split Horizon DNS, y puede ser bastante complicado. Dicho esto, parece que ya tienes bastante configurado, pero que el DNS interno no tiene autoridad para tu dominio.

Si aún no lo ha hecho, necesita modificar su DNS interno para crear una zona primaria para example.com. Luego, cuando consulta su dominio, el DNS no debe buscar una dirección en el exterior.

    
respondido por el tim.rohrer 10.08.2014 - 23:08

Lea otras preguntas en las etiquetas