O problema maior aqui é que os nomes de domínio DNS terminados em .local
não devem ser usados ao configurar infra-estruturas de DNS.
.local
use é reservado para o uso de zeroconf / avahi aka bonjour, que são serviços paralelos para resolver nomes / serviços locais além do DNS.
Então o que acontece é que o seu serviço interno de nomes DNS está certamente tendo conflitos com o zeroconf em alguns cenários. Assim, a solução na pergunta que você aceitou.
A longo prazo, o nome DNS da sua rede interna não deve terminar em .local
.
PS Como um aparte, além do DNS, os DCs / ADs locais da Microsoft também não devem receber o nome .local
. Você terá problemas estranhos acontecendo se você fizer isso.
Multicast DNS (mDNS) standard.
The Internet Engineering Task Force
(IETF) standards-track RFC 6762 (February 20, 2013) reserves the use
of the domain name label local as a pseudo-top-level domain for
hostnames in local area networks that can be resolved via the
Multicast DNS name resolution protocol.
De MS Technet (wikipedia)
If you have Macintosh client computers that are running the Macintosh
OS X version 10.3 operating system or later, … it is recommended that
you do not use the .local label for the full DNS name of your internal
domain. If you must use the .local label, then you must also configure
settings on the Macintosh computers so they can discover other
computers on the network
RFC 6762
Any DNS query for a name ending with ".local." MUST be sent to the
mDNS IPv4 link-local multicast address 224.0.0.251 (or its IPv6
equivalent FF02::FB).
......
-
Reverse Address Mapping
Like ".local.", the IPv4 and IPv6 reverse mapping domains are also
defined to be link-local:
Any DNS query for a name ending with "254.169.in-addr.arpa." MUST
be sent to the mDNS IPv4 link-local multicast address 224.0.0.251
or the mDNS IPv6 multicast address FF02::FB. Since names under
this domain correspond to IPv4 link-local addresses, it is logical
that the local link is the best place to find information
pertaining to those names.
......
No special control is needed for enabling and disabling Multicast DNS
for names explicitly ending with ".local." as entered by the user.
The user doesn't need a way to disable Multicast DNS for names ending
with ".local.", because if the user doesn't want to use Multicast DNS, they can achieve this by simply not using those names.
If a user does enter a name ending in ".local.", then we can safely assume the user's intention was probably that it should work.
Eu não sou uma fonte oficial, eu também achei isso, que tem um parágrafo que explica bem o problema: Pare de usar .local como o domínio de nível superior para sua LAN
The .local domain is what is called a pseudo-top-level domain. What
does that mean? It means that it’s not an official top level domain
usable (routable) on the internet, but it has a semi-official standing
because it is used in some applications.
In the case of .local it is
used by the Multicast Domain Name Service (mDNS). Hosts that
implement this service use .local as their domain names and have their
own way of resolving names. Normally, this wouldn’t be a problem;
however, if you also implement DNS on your network with .local as the
top-level domain it will cause serious name resolution issues.
I’ve
seen this happen a lot on Linux systems, and I imagine Apple’s OS X
will probably have these issues as well. Usually, on these types of
networks you find that DNS name resolution doesn’t work at all or
works only some of the time. In the end, you end up having to use ip
addresses all the time because you don’t know whether a name might
resolve or not (which negates the whole point of having a DNS server
in the first place).