¿Cómo agrego un servidor DNS personalizado y conservo el DNS predeterminado del ISP en OS X Mountain Lion?

9

Estoy usando OS X Mountain Lion. Estoy usando dnsmasqpara configurar nombres de dominio localhost comodín, como http://local.dev , para señalar localhost. Pero tengo que agregar 127.0.0.1 en la preferencia de mi sistema -> configuración de red.

Después de configurar 127.0.0.1 como servidor DNS, los servidores DNS predeterminados del ISP fueron reescritos por el mío. Esto me impedía acceder a sitios web. No es gran cosa cuando no muevo mi computadora, podría ingresar manualmente al servidor DNS del ISP. Pero si cambio de lugar, el DNS del ISP cambia.

También intenté usar el servidor DNS de Google, pero en algunos casos no funciona. ¿Cómo puedo reservar (o actualizar) el servidor DNS del ISP sin eliminar 127.0.0.1 como DNS?

Gracias de antemano.

Daiwei
fuente

Respuestas:

11

Sí. Puedes hacer esto, /etc/resolveres tu amigo.

$ man 5 resolver:

dominio
Nombre de dominio asociado con esta configuración de resolución. Normalmente, el sistema de búsqueda DNS de Mac OS X no requiere esta opción cuando la configuración del resolutor se lee desde un archivo en el directorio / etc / resolver. En ese caso, el nombre del archivo se utiliza como nombre de dominio.

En pocas palabras, puede colocar nameserver 127.0.0.1dentro de un archivo que cree llamado/etc/resolver/dev

Tendrá que volver a cargar / reiniciar. Luego dirigirá cualquier solicitud *.deva su servidor de nombres local.

Su DNS de conexión de red permanece en automático, por lo que hará frente a cualquier cambio en su entorno.

Editar: acabo de encontrar https://serverfault.com/a/164215/163311 y http://www.echoditto.com/blog/never-touch-your-local-etchosts-file-os-x-again que tienen algunos detalles más e incluyen dnsmasqdetalles de configuración.

rjocoleman
fuente
El segundo artículo ahora se puede encontrar en alanthing.com/blog/2012/04/24/…
ebelisle
0

¿Hay alguna razón específica para usar dnsmasq?

Simplemente puede agregar entradas a su /private/etc/hostsarchivo, dejando que DNS apunte a cualquier ISP al que esté conectado. Aquí se explica cómo hacerlo usando Terminal:

sudo nano /private/etc/hosts Ingrese su contraseña cuando se le solicite.

Agregue cualquier adición al final del archivo de hosts (una sola entrada por línea), por ejemplo:

127.0.0.1 local.dev

Control + O y luego ingrese para guardar el archivo dentro de nano. Control + X para salir de nano.

Tendrá que vaciar el caché de DNS local usando: dscacheutil -flushcache

crh
fuente
2
Usar el archivo hosts puede ser una solución simple, pero necesito configurar dominios comodín como * .dev para apuntar a localhost.
Daiwei