
При каких условиях может произойти следующее? С данной машины OSX во внутренней сети:
$~ cat /etc/resolv.conf
nameserver 10.102.120.7
nameserver 10.102.120.2
С той же машины:
$~ dig @10.102.120.7 in.local
<snip> ...
;; QUESTION SECTION:
;in.local. IN A
;; ANSWER SECTION:
in.local. 43200 IN A 10.102.123.30
<snip> ...
И все же эта рабочая станция не может пинговать in.local и загружать страницы, размещенные Apache на этой машине. 10.102.123.30 определенно работает (две машины OSX, которые я знаю, не могут разрешить in.local, но другие машины в сети могут). Я также проверил их /etc/hosts, чтобы увидеть, не мешает ли что-нибудь... Не знаю, что еще проверить...
решение1
Tld .local
сначала разрешается на MacOS X с помощью Multicast DNS Bonjour/Rendezvous. Это означает, что если вы пытаетесь использовать DNS-сервер с tld .local
, он не будет разрешен с помощью DNS-сервера.
Некоторые частные сети также используют домены ".local" для хостов, зарегистрированных на их внутреннем DNS-сервере, даже если это не допустимый домен верхнего уровня в публичном Интернете. Если ваш Mac подключен к такой сети, вы можете захотеть, чтобы он искал имена хостов, которые заканчиваются на ".local", используя Unicast DNS для связи с DNS-сервером, таким же образом, как он ищет имена хостов, такие как "www.apple.com" в Интернете.
Видеть:http://support.apple.com/kb/HT3473 и:http://support.apple.com/kb/TA20999
решение2
В OS X есть кэш DNS на уровне ОС, который вам может потребоваться очистить, например nscd в Solaris/Linux/BSD.
Попробуйте dscacheutil -flushcache
(на Leopard) или lookupd -flushcache
(на 10.5.1 и более ранних версиях).
решение3
Вы только что узнали, почемуиспользование .LOCAL — плохая идея.
решение4
Единственное, что приходит мне в голову, это то, что вы не используете DNS для службы имен, или имя кэшируется.
Я больше знаком с Linux, но вы, возможно, ищете файл nsswitch.conf (или эквивалентный) в эквиваленте /etc/ для OSX или конфигурацию (nscd.conf) или состояние демона кэширования (nscd в Linux).
nsswitch.conf управляет тем, как разрешаются имена. DNS — это только один из механизмов. Другие включают файлы (/etc/host), LDAP и (я думаю) NIS.
nscd — это кэш имен, который помогает быстрее разрешать имена при получении повторных запросов на одно и то же имя (например, при загрузке 300 страниц с веб-сервера) путем кэширования ответа на соответствующий промежуток времени (например, 43200 секунд из вашего примера выходных данных dig)