usar servidor por mac google defecto como cambiar alternativos macos dns bind osx-mavericks

macos - servidor - dns por defecto



OSX Mavericks-BIND ya no está instalado... ¿cómo hacer que el servidor DNS local funcione? (7)

Bind se instala en Mavericks. Sólo los archivos se han movido. Puede encontrar todos los archivos de zona en / Library / Server / named /.

En realidad, Apple ha hecho un buen trabajo al buscar una implementación más compatible en comparación con 10.6.8.

Es fácil modificar los archivos a mano.

Mi $ 0.02

LL

Siempre he usado BIND en OSX para proporcionar una resolución de DNS local para mis máquinas de desarrollo local, particularmente para facilitar que las máquinas virtuales accedan a mi entorno de desarrollo local.

Tontamente, decidí actualizar a OSX Mavericks durante la noche y parece que BIND ya no está instalado, incluso cuando se agregan las herramientas de la línea de comandos para desarrolladores.

¿Alguien tiene una sugerencia de cómo restaurar esta funcionalidad, o si el último OSX tiene una solución DNS alternativa?

Gracias Steve


Instalar Homebrew y usarlo para instalar bind parece la mejor ruta.

Hay pocos "gotcha''s" pequeños, así que armé este script bash para simplificarlo todo.

1) http://brew.sh/ .

2) Guarde este archivo en su Mac como "ConfigureBrewBindOnOSX10_9.sh" y ejecútelo ( sh ./ConfigureBrewBindOnOSX10_9.sh ), o ejecute los comandos línea por línea (si desea ver más detalles sobre la sh ./ConfigureBrewBindOnOSX10_9.sh ).

Contenido de ConfigureBrewBindOnOSX10_9.sh

#!/bin/bash # Last Updated: Jun 17, 2014 # [email protected] # # Run as root or sudo the commands that need it as you go. # 1) USE HOMEBREW TO INSTALL BIND brew install bind # 2) CONFIGURE BIND # Create a custom launch key for BIND /usr/local/sbin/rndc-confgen > /etc/rndc.conf head -n 6 /etc/rndc.conf > /etc/rndc.key # Set up a basic named.conf file. # You may need to replace 9.10.0-P2 with the current version number if it is out of date. cat > /usr/local/homebrew/Cellar/bind/9.10.0-P2/etc/named.conf <<END // // Include keys file // include "/etc/rndc.key"; // Declares control channels to be used by the rndc utility. // // It is recommended that 127.0.0.1 be the only address used. // This also allows non-privileged users on the local host to manage // your name server. // // Default controls // controls { inet 127.0.0.1 port 54 allow {any;} keys { "rndc-key"; }; }; options { directory "/var/named"; }; // // a caching only nameserver config // zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; logging { category default { _default_log; }; channel _default_log { file "/Library/Logs/named.log"; severity info; print-time yes; }; }; END # Symlink Homebrew''s named.conf to the typical /etc/ location. ln -s /usr/local/homebrew/Cellar/bind/9.10.0-P2/etc/named.conf /etc/named.conf # Create directory that bind expects to store zone files mkdir /var/named curl http://www.internic.net/domain/named.root > /var/named/named.ca # 3) CREATE A LuanchDaemon FILE: cat > /System/Library/LaunchDaemons/org.isc.named.plist <<END <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>EnableTransactions</key> <true/> <key>Label</key> <string>org.isc.named</string> <key>OnDemand</key> <false/> <key>ProgramArguments</key> <array> <string>/usr/local/sbin/named</string> <string>-f</string> </array> <key>ServiceIPC</key> <false/> </dict> </plist> END chown root:wheel /System/Library/LaunchDaemons/org.isc.named.plist chmod 644 /System/Library/LaunchDaemons/org.isc.named.plist # Shutdown bind (if it was running) #launchctl unload /System/Library/LaunchDaemons/org.isc.named.plist # Launch BIND and set it to start automatically on system reboot. launchctl load -wF /System/Library/LaunchDaemons/org.isc.named.plist

Avíseme si necesita ayuda; lo he configurado correctamente en algunas máquinas.


Instale BIND9 utilizando Homebrew. La instalación actual de brew no es tan completa como me gustaría, así que cuando me encontré con este problema, actualicé el archivo de brew para generar los archivos de configuración iniciales (para que coincidan con la instalación del sistema en Mountain Lion), así como para incluir un launchd plist

Aunque mis cambios aún no se han fusionado, puede ver el archivo actualizado aquí: github.com/mxcl/homebrew/pull/23598 Use brew edit bind para abrir la fórmula para BIND, y copiar en mi versión bifurcada, guardar, y reinstalar con cerveza usando el brew install bind .


Men & Mice ofrece a los instaladores BIND gratis en http://support.menandmice.com/download/bind/macosx/10.9-Mavericks/

MacOS X 10.4 (PPC), 10.5 / 10.6 (x86) y 10.7 / 10.8 (y nuevo) 10.9 (x86_64)

Aquí está mi recomendación para un archivo básico "/etc/named.conf" para BIND 9.9.4. Muchas recomendaciones de configuración básica en Internet y las plantillas de las instalaciones BIND en distribuciones de Linux / BSD no se han actualizado a las actualizaciones recientes en BIND y no son óptimas (aunque continúan funcionando)

// BIND named.conf caching only DNS server // configuration file for // BIND 9.7 and up options { // set the DNS servers "home" directory // all files with relative path names // will be read or written from this // directory directory "/var/named"; // disable query-logging on start // query-logging can be enabled using // "rndc querylog" querylog no; }; // automatic empty zone for the "localhost" name zone "localhost" IN { type master; database "_builtin empty . nothing.invalid."; }; // logging template for a caching DNS server logging { channel syslog { syslog daemon; severity info; }; channel security { file "security.log" versions 10 size 50M; print-time yes; }; channel query_log { file "query.log" versions 10 size 50M; severity debug; print-time yes; }; category general { syslog; }; category security { security; }; category queries { query_log; }; category dnssec { security; }; category default { syslog; }; category resolver { syslog; }; category client { syslog; }; category query-errors { query_log; }; category edns-disabled { syslog; }; };

Algunos comentarios:

  • rndc.key no necesita ser importado usando una declaración de importación. Si no hay una configuración rndc dedicada, se leerá rndc.key por nombre en el inicio de forma predeterminada
  • si no se define ningún bloque de "control", se está utilizando la instrucción de control por defecto. La configuración de control predeterminada es

    los controles {inet 127.0.0.1 permiten {localhost; } teclas {rndc_key; }; };

  • nunca especifique "fuente de consulta" con un número de puerto para un servidor DNS de almacenamiento en caché (preferiría no verlo incluso aunque haya comentado, alguien podría habilitarlo y crear un agujero de seguridad), es un riesgo de seguridad (desactiva el puerto UDP la aleatorización y, por lo tanto, permite una fácil suplantación de caché de DNS)

  • no es necesario especificar una zona vacía para "0.0.127.in-addr.arpa.", tal como está (entre un par de otras zonas vacías) en la configuración BIND predeterminada desde la versión 9.5.x
  • la especificación de zona para "localhost" muestra cómo definir una zona vacía que no requiere un archivo de zona adicional en el disco
  • para el almacenamiento en caché de los servidores DNS que operan en el DNS de Internet, recomiendo usar los "root.hints" (lista de servidores DNS raíz) que se integran en el BIND al no especificar una zona de tipo "hint". Las sugerencias de raíz "integradas" se actualizan cada vez que se actualiza el programa BIND.
  • La declaración de registro proporciona una lista de categorías de registro que son interesantes para un servidor DNS de almacenamiento en caché. El "registro de consultas" (registra todas las consultas recibidas por el servidor DNS) puede afectar el rendimiento de un servidor DNS ocupado (> 1000 consultas por segundo), está deshabilitado en el bloque de opciones pero puede habilitarse (alternar) usando "rndc querylog ". El estado de la función querylog (habilitado / deshabilitado) se puede consultar usando "rndc status"



Solía ​​usar un servidor DNS local que se ejecuta en el MAC hasta que descubrí DNSMasq en DD-WRT

Configuré un enrutador DD-WRT para mi LAN y WIFI y luego utilicé la función DNSMasq de DD-WRT para enumerar todos los elementos que deberían asignarse a las máquinas de desarrollo.

Inicie sesión en su enrutador DD-WRT:

En Servicios, Habilitar DNSMasq

Debajo de "Opciones DNSMasq adicionales" enumere cada entrada que desea enmascarar:

address=/[url]/[ip]

Ejemplos:

address=/www.dev.mysite.com/192.168.1.10 address=/photos.dev.mysite.com/192.168.1.11 address=/static.dev.mysite.com/192.168.1.12

Esto es casi como ejecutar su propio servidor DNS en el enrutador solo para direcciones locales pero sin la sobrecarga.

De esta manera puedo conectarme a las máquinas de desarrollo local a través de la LAN y todos los dispositivos móviles a través de WIFI sin mucha molestia.

Ventajas:

  • Sin sobrecarga del servidor DNS en su MAC
  • No se requiere configuración de DNS solo funciona a través de DHCP
  • ¡Conecte fácilmente dispositivos móviles a través de WIFI a las máquinas de desarrollo!
  • Fácil de mantener y configurar a través de la interfaz del enrutador