Поиск в Mac OS X DNS, кажется, испорчен - но только на работе

8

Mac OS X DNS-поиски навсегда берутся из Safari и других приложений, использующих mDNSResponder. Те же поиски работают нормально, если я использую nslookup из командной строки, и они также отлично работают с моих iPhone и iPad в одной беспроводной сети.

И это только в сети на работе; когда я дома или привязан к своему iPhone, все DNS-поиски работают нормально. Когда я нахожусь в сети на работе, через Wi-Fi или Ethernet, у меня есть эти проблемы. Я попытался с помощью следующих команд:

launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Раньше это обеспечивало некоторое временное облегчение (минуты) под Снежным Барсом, но теперь, под Львом, оно обычно вообще ничего не дает.

Ни мои настройки Ethernet, ни Wi-Fi не указывают DNS-серверы; они автоматически заполняются от маршрутизатора. Но я попытался указать свой собственный, например, Google DNS или OpenDNS, и это не решает проблему.

Настройка сети - это маршрутизатор, подключенный к кабельному модему со всеми портами Ethernet в офисе, выходящими из него. Wi-Fi-маршрутизатор Airport Extreme также подключен к основному маршрутизатору (в режиме моста), и к нему подключаются клиенты WiFi.

Я сначала искал и нашел другие вещи, которые на первый взгляд кажутся применимыми (например, поиск DNS не удается, но nslookup работает ), заставляя меня думать, что эти проблемы с mDNSResponder не слишком редки, но ни одна из них точно не совпадает, и их решения не имеют работал для меня еще.

Кроме того: это не каждый поиск DNS, просто большинство. Поиски в Google запускаются мгновенно, но Google Maps загружается вечно (когда я смотрю на окно активности, обычно это скрипты и все такое, что происходит с какого-то сервера Google CDN). Даже сайты, которые мы используем каждый день, и вы думаете, что они будут где-то кэшированы (например, php.net), будут загружаться вечно или время ожидания.

Кроме того: все прекрасно загружается из браузера в виртуальной машине Windows XP, что еще более обвинительно указывает на mDNSResponder как на виновника - но все работает отлично, когда я в любой другой сети.

Чарльз
источник
Вы пытались посмотреть на вывод от opensnoop, чтобы увидеть, говорит ли он что-нибудь? Мне также было бы любопытно, если бы вы посмотрели на вывод tcpdump, чтобы увидеть, есть ли отправленные запросы, на которые не отвечают.
полином
Я посмотрел на оба, но я не совсем уверен, что я должен искать - я не уверен, что такое состояние ошибки. Любые указатели на то, что может быть необычным?
Чарльз

Ответы:

4

Причиной медленной работы DNS в офисе, но не дома, может быть то, что офисный маршрутизатор использует IPv6, а домашний маршрутизатор использует IPv4, и что Lion лучше использует IPv6, чем Snow Leopard. Сайты, которые не подвержены этому замедлению, вероятно, лучше поддерживают IPv6.

В этой статье приведены меры, которые показывают, что IPv6 будет в 2-3 раза медленнее, чем IPv4 в DNS:
IPv6 замедлит работу (DNS)

Если это так, то отключение IPv6 на офисном маршрутизаторе (и так во всей офисной сети) может решить проблему.

Эта статья также может быть полезна: Как отключить IPv6 в Mac OS X 10.7 Lion .

harrymc
источник
2

Раньше у меня была такая же проблема с моим MacBook Pro под управлением 10.6. Я редко выключаю свою машину. Дома я просто закрываю крышку, кладу ее в сумку и беру на работу. На работе открываю крышку и выхожу. То, что я заметил, - то, что OS X, кажется, не делает этот переход столь же гладко, как я хотел бы. Я получал медленный DNS, большие объемы ожидающих сетевых ресурсов и т. Д. Для меня это исправляет ручное отключение от каждой сети перед тем, как я закрою свою машину (т.е. выключу аэропорт, прежде чем закрыть крышку). Если я этого не сделаю, мой режим ожидания:

dscacheutil -flushcache

В любом случае для меня это очень хорошо. В редких случаях я перезагружаю машину.

C0D3M0NK3Y
источник
Гарет, я только что заметил твой комментарий к изменениям, я вернулся и изменил все свои ответы соответственно. Мои извинения.
C0D3M0NK3Y
Я пробовал dscacheutil и перезапустить; Неважно, что я делаю, у меня все еще есть те же проблемы в рабочей сети, но только там - отлично работает дома, независимо от того, выключил ли я свой компьютер перед тем, как идти домой, или просто положил его спать, как обычно.
Чарльз
0

Правильно ли работают другие компьютеры Mac в офисной сети?

Убедитесь, что назначаемые сетевые настройки являются самосогласованными. Я видел ситуацию, когда DHCP-сервер назначал шлюз по умолчанию, которого нет в подсети клиента. Windows пошла дальше и использовала это, и работала нормально, но MacOS (правильно!) Отказался отправлять на IP-адрес, который не был в подсети.

Когда маска подсети применяется как к IP-адресу клиента, так и к шлюзу по умолчанию, результаты должны быть одинаковыми. В противном случае, это плохая конфигурация DHCP-сервера.

Это не похоже на такую ​​ситуацию. Настроен ли ваш Mac для использования WiFi и Ethernet на работе? Если это так, попробуйте выключить по одному.

Джейми Кокс
источник
Проблема DHCP не должна вызывать замедления, если только это не заставляет пакеты обходить офисную сеть.
Harrymc
В настройках сети все вроде нормально. Та же проблема возникает, если я нахожусь только на WiFi, только на Ethernet, или на обоих.
Чарльз