Многоадресные запросы хостов на OSX

У меня проблема с поиском имен хостов на моем компьютере OSX. Согласно документу Apple HK3473 он говорит для v10.6:

  

Имена хостов, содержащие только одну метку в дополнение к локальным, например «My-Computer.local», разрешаются с использованием Multicast 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 секунд .

Я попытался создать запись resolver для моего /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, что немного ускоряет поиск, но это не решение.

7 голосов | спросил KARASZI István 1 J000000Friday11 2011, 19:23:17

1 ответ


1

Вы пытались определить имена в вашем файле /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 ↩ или хорошего ole sudo killall mDNSResponder ↩. В крайнем конце вещей, которые я не предлагаю, вы также можете отключить mDNSResponder (Bonjour и т. Д.) Alltogether ↝

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

Системы Post-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 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

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

ответил mralexgray 1 J000000Friday11 2011, 21:04:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132