У меня есть пользователь в Windows 7, который пытается получить доступ к локальному серверу с DNS-именем windows.cs. У нас есть два внутренних DNS-сервера. DHCP-сервер назначает пользователям два внутренних DNS-сервера в качестве основного и вторичного, а затем наши интернет-провайдеры DNS в качестве третичного DNS-сервера.
Время от времени пользователь не может получить доступ к веб-сайту в windows.cs. Если я пингую его, он говорит, что не может разрешить имя хоста. Я сбрасываю кеш DNS, а затем при отображении кеша DNS он имеет следующее:
windows.cs - имя не существует
Тем не менее, если я использую nslookup, который по умолчанию запрашивает основной DNS-сервер (наш внутренний), и я запрашиваю windows.cs, он возвращает правильный IP-адрес.
Так почему же Windows не может разрешить имя хоста с помощью ping, но это возможно при использовании инструмента nslookup? И как мне это исправить?
Ответы:
Из того, что вы говорите, следует, что запрос на windows.cs поступает на DNS-сервер ISP время от времени. Затем результат nxdomain кэшируется DNS-клиентом Windows и, таким образом, используется для любых повторных попыток с помощью веб-браузера, проверки связи и т. Д. Очистка кэша (ipconfig / flushdns) должна заставить DNS-клиент Windows повторить запрос, но это не гарантируется. больше не пойдет на DNS-сервер интернет-провайдера.
Причина, по которой ping не может разрешить имя хоста, но nslookup может, заключается в том, что nslookup - это низкоуровневый инструмент, который обходит DNS-клиента Windows. Он использует любой DNS-сервер, которому вы его указываете (первый по умолчанию), и выполняет запрос на лету. Вы можете изменить DNS-сервер, который он запрашивает, набрав
server <host>
в приглашении nslookup, где host - это IP или FQDN.Однако DNS-клиент Windows будет выполнять запросы только для тех записей, которые не находятся в его кэше (или срок их действия истек). В противном случае он возвращает кэшированный результат.
Не сразу понятно, почему клиент Windows использует DNS-сервер ISP. Возможно, он не мог разрешить локальный сервер в последнее время (возможно, из-за того, что он был в другой сети), возможно, локальный сервер возвращал ошибки. Или, возможно, он неправильно упорядочен в разделе «Дополнительные параметры TCP / IP»> «DNS».
Лично я предпочитаю использовать адреса локальных DNS-серверов только на рабочих станциях (распространяемых через DHCP), чтобы упростить настройку и избежать подобных проблем. Мне было бы любопытно узнать причину установки DNS-сервера интернет-провайдеров на настольных компьютерах. Я не могу себе представить, что существуют какие-либо веские причины производительности, и для избыточности достаточно двух в большинстве сетей (если не добавить третью).
источник
Результаты
nslookup
отличаются от результатовping
из-заnslookup
индивидуальных особенностей и ошибок . Однако на самом деле они не имеют отношения к вашей основной проблеме: вы нарушили правило, согласно которому ваши резервные прокси-серверы DNS должны обеспечивать такое же представление пространства имен DNS, что и ваше основное . Прокси-сервер DNS вашего провайдера не обеспечивает такое же представление пространства имен DNS, как ваши прокси-серверы DNS в вашей локальной сети.Казалось бы, еще один системный администратор не справился с предоставлением услуг My ISP и задокументировал его, поэтому я должен его использовать. заблуждение. ☺
источник
TL; версия DR: IPv6 вызвал проблему DNS-запроса в моем случае, деактивация позволила решить проблему DNS-запроса.
У меня была такая же проблема на моей машине для разработки. Всякий раз, когда я входил в сеть нашей компании, я не мог разрешить внутренние имена хостов, все внешние имена хостов / URI могли быть разрешены. Я проверил DNS-серверы, которые были назначены для VPN-подключения, и они показали, что DNS-серверы компании были настроены как первичные и вторичные. Я также мог использовать,
nslookup
но пришлось вручную сменить сервер,server X.X.X.X
чтобы получить разрешение DNS.В конце концов я обнаружил, что IPv6 вызывал проблемы с разрешением имен: при каждом DNS-запросе запрашивался DNS IPv6, а не DNS-серверы компании IPv4. После деактивации IPv6 необходимо, чтобы в
ipconfig /flushdns
противном случае ранее запрошенные адреса все еще не могли быть разрешены.источник
Я смог решить проблему просто, удалив запись DNS и запустив команды flushdns и registerdns, и это исправило ее. причина, почему возраст на DNS. DNS не удалял запись после истечения срока аренды и не был продлен, что не могло разрешить имя, потому что оно продано. Я надеюсь, что это поможет вам исправить ваши проблемы.
источник