Назад | Перейти на главную страницу

Поиск имени хоста многоадресной рассылки в OSX

У меня проблема с поиском имени хоста на моем компьютере OSX. По данным Apple HK3473 документ, в котором говорится для версии 10.6:

Имена хостов, которые содержат только одну метку в дополнение к локальной, например «My-Computer.local», по умолчанию разрешаются с использованием многоадресной передачи DNS (Bonjour). Имена хостов, содержащие две или более меток в дополнение к локальным, например «server.domain.local», по умолчанию разрешаются с использованием DNS-сервера.

Что не так, как мои испытания. Если я попытаюсь открыть соединение на локальном компьютере с удаленным портом:

telnet example.domain.local 22

затем он будет искать IP-адрес с помощью многоадресный DNS сразу после A и AAAA поиски. Это приводит к двухсекундному таймауту поиска при каждом поиске. А это много!

Когда я пытаюсь использовать только IPv4, он не будет использовать многоадресные запросы для получения удаленного адреса, просто A запросы.

telnet -4 example.domain.local 22

Когда я пытаюсь использовать только IPv6:

telnet -6 example.domain.local 22

тогда он будет искать с многоадресным DNS и AAAA снова, и снова произойдет 2-секундная задержка.

Я пытался создать запись резолвера в моем /etc/resolver/domain.local, и /etc/resolver/local.1, но ни один из них не работал.

Есть ли способ отключить этот многоадресный поиск для «двух или более меток, добавленных к локальным» доменам или просто отключить его для выбранного поддомена (domain.local)?

Спасибо!

Обновление # 1

Спасибо @mralexgray за scutil --dns команда, теперь я вижу свой домен в списке, но уже поздно в порядке:

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

Может быть, это сработает, если я смогу переместить resolver #8 на позицию №2.

Обновление # 2

Нет, вероятно, не будет работать, потому что локальный DNS-сервер включен 192.168.1.1 отвечая за domain.local запросов, и это перед mDNS (resolver #2).

Обновление # 3

Я мог бы уменьшить тайм-аут mDNS в /System/Library/SystemConfiguration/IPMonitor.bundle/Contents/Info.plist файл, который немного ускоряет поиск, но это не решение.

Вы пытались определить имена в своем /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 

Какие еще службы DNS работают в локальной подсети? Вы можете решить множество проблем, явно обслуживая локальный DNS, и довольно просто - с помощью DNSMasq, что я всем сердцем рекомендую сделать.

Вам также может потребоваться промыть все с помощью dscacheutil -flushcache ↩ или хороший оле sudo killall mDNSResponder ↩. В крайнем случае, чего я не предлагаю - вы также можете полностью отключить mDNSResponder (Bonjour и т. Д.) ↝

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

Системы после 10.5 обеспечивают разрешение DNS с помощью довольно запутанной цепочки директив, требуемых configd, наследник старого "системного кикера". Чтобы получить его статус ↝ scutil --dns ↩, который показывает системный порядок разрешения DNS, например ↯

Конфигурация DNS

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

resolver # 2 домен: локальные параметры: тайм-аут mdns: 2 порядок: 300000

resolver # 3 домен: 254.169.in-addr.arpa параметры: mdns timeout: 2 order: 300200

resolver # 4 домен: 8.e.f.ip6.arpa параметры: mdns timeout: 2 order: 300400

Если у вас все еще есть проблемы, убедитесь, что этот список «имеет смысл для вас» - и продолжайте ...