У меня проблема с поиском имени хоста на моем компьютере 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
Если у вас все еще есть проблемы, убедитесь, что этот список «имеет смысл для вас» - и продолжайте ...