He instalado, configurado el servidor DNS (instancia local de Dnsmasq) que resuelve en localhost como quiero, todo bien.
Cuando me desconecto, deja de funcionar porque OS X vacía el contenido de resolv.conf e ignora el intento de reflejar los cambios en este archivo.
¿Alguna idea de cómo configurar DNS incluso sin conexión?
Problema similar (sin resolver): http://blog.steamshift.com/geek/leopard-lookupd-and-local-web-development-sites
La motivación principal es el desarrollo sencillo de la aplicación RoR que utiliza subdominios como claves de cuenta. Y no puede usar 127.0.0.1 * .yourapp.local en / etc / hosts. Algunos individuos registraron el dominio smackaho.st y srt DNS para ello, como .smackaho.st en 127.0.0.1, pero aún así, no puede usarlo cuando está trabajando sin conexión.
EDITAR: intentó el comando scutil, pero parece que puede cambiar DNS si está desconectado
NOTA: cuando tiene todas las interfaces desactivadas, no puede configurar servidores DNS en Pref. panel.
fuente
Respuestas:
¡VEA LA ACTUALIZACIÓN A CONTINUACIÓN!
También disfruto usando Dnsmasq en mi máquina local, y también tuve este problema. Aquí está la solución:
De
man 5 resolver
:/etc/resolver/
no está presente por defecto; debes crearlo tú mismo.También desde la página del manual:
Entonces, si desea que todas las consultas dns para el dominio de nivel superior
dev
se enruten al servidor de nombres local, debería:configd
no altera los archivos/etc/resolver/
, por lo que esta configuración persistirá a través de cambios de red y reinicios.ACTUALIZACIÓN 17 de julio de 2012
Desafortunadamente, a partir de OS X Lion, la resolución superior (como se muestra en
scutil --dns
) desaparece cuando no hay interfaces activas:Observe que el resolutor # 1 está vacío, pero que la entrada del servidor de nombres derivado / etc / resolver permanece.
Resulta que, dado que puede especificar el dominio de resolución directamente en el archivo / etc / resolver /, la especificación del dominio raíz especial de Internet
.
provoca la creación de una entrada de resolución global que se parece a:Ahora todas las consultas DNS se enrutan a localhost, incluso cuando están fuera de línea.
Por supuesto, aún tendrá que resolver sus dominios elegidos como 127.0.0.1 usando algo como la opción --ddress de dnsmasq:
En resumen:
cf. http://opensource.apple.com/source/configd/configd-395.11/dnsinfo/dnsinfo_flatfile.c
fuente
scutil --dns
cuando no estoy conectado a Internet todo lo que obtengo esNo DNS configuration available
que seguí tus instrucciones anteriores, pero no tuve suerte¿Por qué no hacer las entradas en / etc / hosts en su lugar? Tengo problemas para pensar en una situación en la que realmente necesites ejecutar un servidor DNS completo. Uso entradas de archivos host todo el tiempo para lograr cosas como esta en mis Mac.
La resolución en OS X funciona de manera diferente a la de Linux u otros Unixes. Esto es probablemente parte de lo que te causa dolor. Por ejemplo, tiene preferencias sobre qué método de resolución usar primero y almacena en caché los resultados de todas las consultas durante un período de tiempo.
¿Ha agregado el servidor DNS a la interfaz en el panel de preferencias Red? Esto debería garantizar que el solucionador use ese servidor para sus consultas si decide buscar una entrada DNS.
fuente
(respondiendo b / c no puedo comentar todavía ...)
¿Cómo te vas fuera de línea?
(La mejor respuesta que tengo ahora)
Por lo tanto, debe poder ingresar algo en la interfaz de usuario, y debe pegarse. Lo había hecho un par de veces cuando no me gustaba el servidor DNS que proporciona mi servidor DHCP local.
fuente
¿OSX tiene el archivo de configuración /etc/dhcp3/dhclient.conf que tienen las configuraciones normales de cliente Linux / UNIX DHCP?
Si es así, debe tener una línea que pueda descomentar
para que el cliente DHCP siempre agregue esa línea a su resolv.conf
fuente
Intente agregar un segundo servicio de Ethernet configurado con una dirección estática y 127.0.0.1 como su servidor DNS. O bien, agregue una ubicación de red que establezca su servidor DNS en 127.0.0.1. Ambos cambios se realizarían en "Preferencias del sistema" en el panel "Red".
fuente
Podría ayudar simplemente poner
en / etc / hosts, por lo que no es necesario resolver para encontrar localhost.
fuente