Pesquisas de nome de host de multicast no OSX

7

Eu tenho um problema com as pesquisas de nome de host no meu computador OSX. De acordo com o documento HK3473 da Apple, ele diz para a v10.6:

Host names that contain only one label in addition to local, for example "My-Computer.local", are resolved using Multicast DNS (Bonjour) by default. Host names that contain two or more labels in addition to local, for example "server.domain.local", are resolved using a DNS server by default.

O que não é verdade como meu teste. Se eu tentar abrir uma conexão no meu computador local em uma porta remota:

telnet example.domain.local 22

em seguida, ele pesquisará o endereço IP com DNS multicast ao lado das pesquisas A e AAAA . Isso causa um tempo limite de pesquisa de dois segundos em cada consulta. O que é muito!

Quando eu tento apenas com IPv4, ele não usa as consultas multicast para buscar o endereço remoto apenas as consultas A simples.

telnet -4 example.domain.local 22

Quando tento apenas com o IPv6:

telnet -6 example.domain.local 22

em seguida, ele procurará novamente com o multicast DNS e AAAA , e o intervalo de tempo limite de 2 segundos ocorrerá novamente.

Eu tentei criar uma entrada de resolvedor para meus /etc/resolver/domain.local e /etc/resolver/local.1 , mas nenhum deles estava funcionando.

Existe alguma maneira de desabilitar essas pesquisas de multicast para os domínios "dois ou mais acréscimos de rótulo a locais" ou simplesmente desabilitá-lo para o subdomínio selecionado (domain.local)?

Obrigado!

Atualização # 1

Obrigado @mralexgray pelo comando scutil --dns , agora posso ver meu domínio na lista, mas está atrasado na ordem:

DNS configuration

resolver #1
  domain : adverticum.lan
  nameserver[0] : 192.168.1.1
  order   : 200000

resolver #2
  domain : local
  options : mdns
  timeout : 2
  order   : 300000

resolver #3
  domain : 254.169.in-addr.arpa
  options : mdns
  timeout : 2
  order   : 300200

resolver #4
  domain : 8.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 300400

resolver #5
  domain : 9.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 300600

resolver #6
  domain : a.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 300800

resolver #7
  domain : b.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 301000

resolver #8
  domain : domain.local
  nameserver[0] : 192.168.1.1
  order   : 200001

Talvez funcionasse se eu pudesse mover o resolver #8 para a posição # 2.

Atualização # 2

Não, provavelmente, não funcionará porque o servidor DNS local está respondendo 192.168.1.1 para domain.local e é antes do mDNS ( resolver #2 ).

Atualização # 3

Eu poderia diminuir o tempo limite do mDNS no arquivo /System/Library/SystemConfiguration/IPMonitor.bundle/Contents/Info.plist , o que acelera um pouco as pesquisas, mas essa não é a solução.

    
por KARASZI István 01.07.2011 / 17:23

1 resposta

1

Já tentou definir os nomes no seu ficheiro /etc/hosts ?

10.0.1.1                ns1 ns1.local
10.0.1.200              www www.local
2001:470:20::9999       www ns1 www.example.net ns1.example.net 

Quais outros serviços DNS estão operando na sub-rede local? Você pode resolver muitos problemas servindo o DNS local explicitamente e de forma bastante simples - com o DNSMasq , que eu recomendo vivamente que faça.

Você também pode precisar simplesmente liberar as coisas com um dscacheutil -flushcache ↩ ou um bom ole sudo killall mDNSResponder ↩. No extremo das coisas, o que eu não sugiro - você também pode desabilitar o mDNSResponder (Bonjour, etc) em conjunto ↝

launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponderHelper.plist
launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Os sistemas pós-10.5 fornecem resolução de DNS por meio de uma cadeia de diretivas bastante confusa, definida por configd , herdeira do antigo "kicker do sistema". Para obter o status ↝ scutil --dns ↩, que mostra a ordem do sistema de resolução de DNS, como ↯

DNS configuration

resolver #1 domain: example.net search domain[0]: example.net nameserver[0]: 127.0.0.1 order: 200000

resolver #2 domain: local options: mdns timeout: 2 order: 300000

resolver #3 domain:254.169.in-addr.arpa options: mdns timeout: 2 order: 300200

resolver #4 domain: 8.e.f.ip6.arpa options: mdns timeout: 2 order: 300400

Se você ainda tiver problemas, verifique se a lista "faz sentido para você" - e a partir daí ...

    
por 01.07.2011 / 19:04