Mac y DNSMasq local: los clientes siguen olvidando los resultados proporcionados por el DNS local

Tengo varios clientes Mac OS X El Capitan y macOS Sierra cuyas configuraciones DHCP les dan la dirección IP local de un enrutador DD-WRT con configuración DNSMasq dentro de mi LAN.

Esto es para que pueda usarlo server.example.comy hacer que vaya a 192.168.1.3y no a nuestra dirección IP pública, y es mucho más fácil de administrar que editar el archivo de hosts de cada Mac, y tampoco afecta a las Mac portátiles cuando necesitan conectarse al mismo nombre de host. desde el exterior del edificio.

Sin embargo, repetidamente algunas Mac siguen 'olvidando' el DNS local. Por ejemplo, cuando ocurre el problema, puedo hacer ping al nombre de host del servidor y obtener la IP pública externa. Luego puedo borrar el caché de DNS, ejecutar el ping nuevamente y ahora es la dirección IP local correcta.

¿Alguien ejecuta una configuración similar y sabe de problemas o dificultades comunes y cómo solucionarlos?

Antes de usar DNSMasq en un enrutador DD-WRT, estaba usando la capacidad de DNS de la aplicación Mac OS X Server, pero me pareció muy lento ya que el mismo servidor estaba ejecutando File Sharing para el estudio, por lo que se movió.

Incluso he pensado en ejecutar un comando programado (ya sea en cada Mac o mediante algún script de administración de escritorio remoto) para borrar el DNS cada pocas horas más o menos.

¿Ya ha intentado reducir ttl para sus registros locales en dnsmasq (lo que, por supuesto, aumentará el tráfico de DNS)?
@klanomath ¿Cuál es la sintaxis para hacer eso? Solo puedo ver una referencia para local-ttlusar en la configuración, ¿es esa la correcta para usar?
Verifique primero su servidor dns para obtener el TTL actual: dig @%IP_DD-WRT% %fqdn%(p. ej. dig @192.168.1.1 server.example.com). Mi TTL local es 10800 (OS X Server 3.2.2).
¡ Aparentemente el mío está configurado en 0..!

Respuestas (1)

Sí, esto ha sido un dolor durante mucho tiempo y muchas generaciones de hardware y software de red.

Personalmente, he renunciado a ejecutar mi propio dns y ahora elijo uno de dos elementos.

  1. Utilice mDNS y host.local para la resolución y deje que DHCP asigne direcciones desde un grupo.
  2. Establezca reservas de DHCP para cada dispositivo al que quiera conectarme y use http://xip.io para resolver esa IP por nombre.

En su caso, lo uso 192.168.1.3.xip.ioen lugar de server.example.comdonde necesito poner un FQDN para resolver un nombre de servidor. Nunca he tenido esto inestable, pero si lo hace, hay otros proveedores como http://nip.io que hacen el mismo servicio.

¡Qué bueno saber que no es solo un problema que he tenido...! xip.ioparece útil, pero mi caso es más que necesito server.example.comser utilizable, en su forma FQDN, tanto dentro como fuera del edificio. ¿Tiene un ejemplo de implementación para mDNS?