10 segundos de retraso para .local TLD en Mac OS X Lion

13

La red de nuestra empresa utiliza xxx.companyname.localtodos los servidores de nuestra red local. Cada vez que accedo a uno de estos servidores en mi Mac, tengo un retraso de 10 segundos. Descubrí que este retraso es causado por las búsquedas de DNS, porque aparentemente Lion resuelve los dominios .local en el siguiente orden:

  1. verificar la /etc/hostsdirección IPv6
  2. verifique el servidor DNS para un registro AAAA (dirección IPv6)
  3. consulte a través de MDNS (Bonjour) para obtener un registro AAAA
  4. buscar /etc/hostsuna dirección IPv4
  5. Verifique el servidor DNS para un registro A (dirección IPv4)
  6. revise MDNS para un registro A

Ahora, el problema es que no tenemos una red IPv6. Todos los xxx.companyname.localservidores de nuestra red solo tienen direcciones IPv4 y el servidor DNS solo tiene registros A. Esto significa que la dirección se resuelve en el paso 5. ¡El problema con esto es que el paso 3 tarda diez segundos antes de que se agote el tiempo de espera! Cada vez que me conecto a nuestro wiki, servidor SVN, servidor Kerberos, etc., hay un retraso de 10 segundos.

He logrado engañar a Lion agregando líneas como las siguientes para /etc/hosts

::FFFF:10.99.99.99 xxx.companyname.local

Si hago esto, Lion cree que hay una dirección IPv6 para el dominio y se detiene después del paso 1. Sin embargo, esta solución evita totalmente todas las características útiles de DNS. ¡No quiero hacer un seguimiento manual de las direcciones IP de docenas de dominios internos! ¡También podría dejar de usar nombres de host y simplemente escribir direcciones IP!

Entonces: ¿Alguien tiene una idea de cómo cambiar este orden de búsqueda? ¿O deshabilitar la búsqueda de IPv6 ya que de todos modos no tenemos una red IPv6?

Jakob Egger
fuente
Gracias por la pregunta: lo marco como referencia de resolución DNS de Mac;)
Alex
Sería mucho mejor tratar de determinar por qué sus servidores DNS tardan 10 segundos en enviar una respuesta de conjunto de registros vacía para los AAAAregistros cuando (de acuerdo con lo que usted dice) no tardan tanto tiempo en responder Aconsultas los mismos nombres de dominio Parece que se encuentra en el clásico territorio RFC 4074, donde el problema es que los servidores están rotos . Tenga en cuenta también que ha encontrado una de las varias razones bien conocidas y discutidas durante mucho tiempo para no usar el local.servicio DNS de horizonte dividido. Eso también es mejor arreglarlo.
JdeBP
1
Los servidores DNS en el paso dos devuelven un registro AAAA vacío al instante. El problema es el paso 3: la consulta MDNS / Bonjour / Zeroconf. Lion espera 10 segundos después de la transmisión antes de que se agote el tiempo. Después de buscar en Google un poco, soy muy consciente de que usar local.es una mala idea, pero el departamento de TI me dijo que piensan que usar local.companyname.está perfectamente bien y realmente no puedo hacer nada al respecto.
Jakob Egger
Las personas en su departamento de TI están muy mal informadas. Se sabe que esto no está "perfectamente bien" en los círculos de administración de red durante aproximadamente media década. Podrías ... alentar ... el conocimiento de redes de las personas de tu departamento de TI para llevarlo al siglo XXI. Podrías ... recordarles ... que su trabajo no es arreglar los asuntos para que las computadoras corporativas no funcionen correctamente. ☺
JdeBP
@JdeBP Y, sin embargo, Apple decidió que sería una buena idea usarlo ... Notará que Microsoft también lo usa y lo recomienda como mejor práctica. Entonces ... ¿Quién dice que no lo es ?
Básico

Respuestas:

8

Deje de abusar de su departamento de TI local..

Como se discutió, abusar de un nombre de dominio que no es propiedad de su empresa y, por lo tanto, no debería suponer que puede crear subdominios corporativos, es incorrecto y es la mitad del problema aquí. Si las computadoras de la compañía incluyen Macintoshes (o cualquier otra cosa que use DNSSD para ese asunto), entonces definitivamente no asumas que local.es tuyo para jugar libremente de esta manera.

Actualiza tu Macintosh.

MacOS 10.4 de hecho se trataría xxx.companyname.local.como lo describe. Pero esto ha cambiado en revisiones posteriores del sistema operativo. MacOS 10.5 pasa solo nombres de dos etiquetas a DNS de multidifusión. Los nombres de tres etiquetas, como xxx.companyname.local.no son manejados por MDNS. MacOS 10.6 lleva esto más lejos e intenta detectar si el servidor DNS ha sido mal configurado para tener una local. zona y actuar en consecuencia.

Como mínimo debe configurar el Macintosh para tener un /etc/resolver/nombredeempresa.local archivo con search_order 1en él que indica la dirección IP actual (es) de su servidor DNS proxy (s). Sin embargo, esto no funcionará bien con las direcciones IP del servidor DNS asignadas por DHCP que cambian, como dice Apple.

En la mano apasionante ...

... estos son simplemente cuerpos progresivamente más complejos para acomodar el malentendido. Para citar a Marc Krochmal de Apple, "siempre habrá algún problema" cuando la gente abusa local.de la forma en que lo hace su empresa. Se sabe que está equivocado desde (2002, una búsqueda rápida me dice) 2002, si no antes. Solo no lo hagas .

Otras lecturas

JdeBP
fuente
2
Ninguna de esta información aborda mis problemas con la resolución de DNS en Lion (Mac OS X 10.7). Además, /etc/resolver/companyname.localparece ser ignorado en Lion.
Jakob Egger
0

No conozco Mac, así que realmente no puedo ayudar, pero se me ocurrió una idea ingeniosa: si configuras en algún lugar de Internet, "somedomain.com DNAME companyname.local"detectará DNAME en el paso 2. Ahora no estoy seguro de lo que sucederá a continuación, seguirá volviendo a bonjour, o dado que ya está en medio de algún proceso de DNS, tal vez se quedará con DNS.

Alex
fuente
Puedo ser voluntario para crear el DNAME para ti si lo deseas :)
Alex