Si bien no estoy al 100% en el razonamiento detrás de por qué no funciona como se esperaba, parece haber un conflicto muy grande con el servicio mDNS (Avahi en Linux, Bonjour / Zeroconf en Mac / Windows) y las redes de Windows que use .local como nombre de enrutamiento interno para dominios. Lo que parece suceder es que cuando se hace ping al servidor01, se salta el uso de mDNS para la resolución y luego se agrega el dominio de búsqueda (foo.local) a la solicitud, consultando con éxito el servidor DNS para server01.foo.local. Sin embargo, cuando usa mDNS (que usa .local como la extensión de nombre de máquina predeterminada), cuando intenta hacer ping a server01.foo.local, en realidad está transmitiendo a través de mDNS buscando una máquina con el nombre de "server01.foo"; cuando falla, no pasa a DNS directo por cualquier razón. Una gran solución para esto es no nombrar su dominio .local, lo que probablemente va en contra de la capacitación de la mayoría de los administradores de Windows para la estructuración del dominio. Habiendo dicho eso:
Si mDNS no tiene ninguna consecuencia en su red (como es común en la empresa, que tiende a ejecutar servidores DNS dedicados en comparación con la red doméstica, donde a veces se usa mDNS), cambiar el orden de búsqueda es la solución más fácil.
Esto se puede encontrar en /etc/nsswitch.conf. La sección para hosts enumerará el orden, que para Fedora 16 por defecto es:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Si cambia eso a:
hosts: files dns mdns4_minimal [NOTFOUND=return] myhostname
donde te mueves dns adelante en el orden de búsqueda, eso debería arreglar las cosas por ahora. Alternativamente, si sabe que no necesitará mDNS en absoluto, simplemente elimine la parte "mdns4_minimal [NOTFOUND = return]".
Al observar este error en el rastreador de Red Hat , parece que este es un problema de larga data sin una solución aparente en este momento. Sin embargo, si alguien puede proporcionar más información sobre por qué sucede esto de esta manera, sería apreciado.