14

nslookup работает; ping -4 name.com НЕ работает

Наиболее очевидным симптомом этой проблемы является то, что nslookup работает, а ping -4 name.com НЕ работает.

Это потому, что nslookup содержит свой собственный DNS-клиент и поэтому не использует Windows.

ping когда дано имя, использует Windows DNS-клиент для перевода имени -> номер.

Так что, если nslookup может переводить, то работает много вещей: сетевое оборудование, драйвер адаптера NIC, подключение к Интернету для DNS-серверов и успешный доступ к серверам для выполнения перевода. Это много!

Тем не менее, ping -4 name.com завершается неудачно, поэтому, если все остальное работает, это связано с самим клиентским программным обеспечением Windows DNS.

Обратите внимание, что я выполнил ping -4 чтобы изолировать IPv4, исключая влияния IPv6.

сбой displaydns

Вот почему лучший признак для описания фактической проблемы заключается в том, что

ipconfig /displaydns

доклады:

Could not display the DNS Resolver Cache.

Но DNS-клиент работает

Чтение форумов, наиболее вероятная причина этого признака - не работает служба DNS Client (aka dnscache); Однако для нас это так.

Мы сделали

net stop dnscache
net start dnscache
sc query dnscache

и это включено.

Это не DNS суффикс

Другая возможность заключается в том, что используются DNS-суффиксы. Однако, зайдя в центр управления сетями и общим доступом -> изменить настройки адаптера -> Беспроводное сетевое соединение -> Свойства -> Свойства Интернет-протокола версии 4 -> Дополнительно -> вкладка DNS, мы имеем:

[CHECKED] Добавить основной DNS-суффикс и суффикс соединения

  • [CHECKED] Добавить родительские суффиксы основного DNS-суффикса

[UNchecked] Добавить эти суффиксы DNS

(и список пуст)

DNS-суффикс для этого соединения:

[ПРОВЕРЕНО] Зарегистрируйте адреса этого подключения в DNS [Не проверено] Используйте DNS-суффикс этого подключения при регистрации DNS.

Однако я не уверен, что что-то из этого имеет значение, потому что мы не можем получить goolge.com, то есть полное доменное имя.

Больше информации

Мы отключили IPv6 на данный момент для отладки. Таким образом, все, о чем здесь сообщается, с выключенным IPv6.

nslookup работает надежно, на google.com и на всём остальном.

Тем не мение,

ping -4 google.com

говорит

Ping request could not find host google.com

И просмотр говорит об ошибке DNS.

Теперь я узнал, что у nslookup есть собственный DNS-клиент, отличный от Windows. Что привело бы меня к мысли, что DNS-клиент nslookup's порядке, а Windows как-то повреждена.

Действительно, мы можем просматривать Google и другие сайты по IP-адресу, но не по имени.

ping по IP адресу работает нормально. Как и tracert по IP-адресу.

Не DirectAccess

Проблема, по-видимому, не в DirectAccess:

netsh dns show state

отчеты (между прочим)

Network Location Behavior           Never use Direct Access settings

Direct Access Settings              Not Configured

Wireshark

Захват Wireshark во время nslookup показывает запросы имен.

Однако при выполнении команды ping таких запросов не было. На самом деле никакой активности вообще (кроме фоновой). Это говорит о том, что DNS-клиент Windows даже не пытается выйти в Интернет и перевести имя, что будет соответствовать его неспособности отобразить.

Другие заметки

c:\windows\system32\drivers\etc\hosts пуст (только комментарии).

Проблема возникает, когда DNS-сервер установлен в университет; или когда установлено в Google 8.8.8.8 и / или 8.8.4.4 и / или OpenDNS 208.67.222.222 и / или 208.67.220.220. Что имеет смысл, учитывая, что Wireshark сообщает, что Windows даже не отправляет запрос имени.

Проблема произошла после тепловой аварии. Тем не менее, возможность просматривать по правилам IP аппаратные проблемы, за исключением, возможно, повреждения жесткого диска. Однако chkdsk не сообщил о каких-либо поврежденных секторах, а sfc не обнаружил никаких повреждений.

Мы также удалили сетевой адаптер в диспетчере устройств и позволили ему переустановиться автоматически. Также проверяется наличие обновлений для этого адаптера в Windows. Там не было ни одного.

Авария означает перезагрузку, поэтому, возможно, это было плохое обновление Windows. Однако до этого и после последнего обновления Windows было несколько перезагрузок.

Мы использовали руткит Malwarebytes Anti-Malware, а также его бета-версию Malwarebytes Anti-Rootkit, TDSSKiller и Comodo Cleaning Essentials (CCE, но, похоже, он не обновляется).

Еще не пробовал в безопасном режиме с сетью еще.

В основном мы используем университетский маршрутизатор, однако проблема также возникает при подключении к точке доступа смартфона.

ipconfig сообщает о 5 туннельных адаптерах, но все они сообщают "Media Disconnected". 2 из них выглядят специфично для университета.

ipconfig и диспетчер устройств сообщают об Microsoft Virtual WiFi Miniport Adapter . Что это и может ли быть проблемой?

Проблема идентична после многих перезагрузок ПК.

Это ноутбук, и большая часть этого была сделана с помощью беспроводного соединения, но проводное соединение, по-видимому, имело такое же поведение.

Резюме

Таким образом, кажется, что Windows DNS-клиент поврежден или, по крайней мере, работает неправильно, но я не знаю, как выяснить, почему.

(Кстати, я пишу это на другом компьютере)

Редактировать:

@Kris хотел посмотреть ipconfig /all

C:\Users\[username]>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . :       <<<====NOTE NO HOST NAME
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : ed*****.***l.edu

Wireless LAN adapter Wireless Network Connection 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adapter
   Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Wireless LAN adapter Wireless Network Connection:

   Connection-specific DNS Suffix  . : ed*****.***l.edu
   Description . . . . . . . . . . . : Broadcom 802.11n Network Adapter
   Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 10.131.2.**(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.128.0
   Lease Obtained. . . . . . . . . . : Monday, April 27, 2015 11:32:13 AM
   Lease Expires . . . . . . . . . . : Monday, April 27, 2015 11:47:13 AM
   Default Gateway . . . . . . . . . : 10.131.0.1
   DHCP Server . . . . . . . . . . . : 132.236.56.249
   DNS Servers . . . . . . . . . . . : 192.35.82.50
                                       128.253.180.2
                                       132.236.56.250
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : r****.****l.edu
   Description . . . . . . . . . . . : Broadcom NetLink (TM) Gigabit Ethernet
   Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter Reusable ISATAP Interface {CBE4B55D-63C6-460A-82CF-7076427CD2AF}:


   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #2
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter isatap.e****.****l.edu:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #3
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter Local Area Connection* 9:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter isatap.{270C639B-82A2-4AE7-B886-D40DAA7EF798}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #4
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter isatap.r****.****l.edu:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #5
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Изменить 2:

Пытался

netsh int ip set dns "wireless network connection" static 8.8.4.4
net winsock reset

и перезагрузка и ничего не изменилось.

Попробовал этот отличный сайт (спасибо @Kris) Windows 7: Службы - Восстановите Службы по умолчанию в Windows 7 и загрузил их DNS_Client.reg (и назвал его .reg.txt для безопасности) и сравнил его с существующей записью реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache но, к сожалению, они были одинаковыми.

5 ответов5

8

Мы нашли ответ на edugeek.com и использовали его в качестве руководства. Наши явные действия объяснены ниже.

Ответ на EduGeek впервые представлен в посте 13 обуви, который говорит, что он получил его из этой ветки , но я не вижу ничего в этой ветке до этого момента, что бы даже намекало на этот ответ.

Пост 20 от fencecat42 более детально рассмотрен.

В частности,

В разделе реестра:

HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

Следующие "значения" (как MS вводит их в заблуждение, каждое из которых может иметь "данные") отсутствуют

Domain
Hostname
NV Hostname

Все три отсутствовали как на fencecat42, так и в нашей системе.

Теперь, слава (ну, почти;) @Kris, потому что в ipconfig /all которые они попросили меня опубликовать, были доказательства этой проблемы. Обратите внимание, что в моем опубликованном выводе нет Host Name . Это одно и то же имя Hostname из реестра.

Я не решаюсь редактировать реестр, потому что одно случайное нажатие клавиши может сделать вашу систему не загружаемой, и в этом случае, надеюсь, вы сделали восстановление системы или сделали копию реестра (мои любимые способы - ERUNT и Tweaking.com Windows Repair All-In Один (который включает в себя инструмент для сохранения реестра) (об этих инструментах я узнал на techsupportalert.com))

Итак, чтобы установить имя Hostname , мы просто зашли в Панель управления -> Система. (Часто ссылка "Изменить настройки" не отображается на первом экране; необходимо прокрутить вниз. Этот шаг требует авторизации UAC. После установки необходимо перезагрузить компьютер.)

Это действие устанавливает Hostname и NV Hostname "ценности" в реестре.

Мы не смогли найти нередактированный способ редактирования "значения" Domain . (Возможно, netdom но у нас этого не было в этой системе Windows 7 Home Premium.) Поэтому мы использовали реестр, чтобы установить для Domain пустое значение . Мы использовали regedit , перешли к Tcpip/Parameters , щелкнули правой кнопкой мыши -> New -> String Value. Это создаст новое "значение" и настроит вас ввести его имя, изменив новое имя по умолчанию. Тогда нам не нужно было создавать фактические "данные" для этого "значения" (опять же, простите за нелогичные термины MS). Просто создал его и оставил его "данные" неинициализированными.

Примечание: мы попытались установить сеть после установки просто имени хоста. Не работал. Domain (даже пустой) был обязательным. Мы не пытались с созданным (и пустым) доменом, но без создания и настройки имени хоста. Но я думаю, что это интересный эксперимент.

Размышления

Первый,

Я не помню сейчас, но я подозреваю, что мы попробовали Microsoft "Как сбросить TCP/IP с помощью утилиты NetShell", которая

netsh int ip reset c:\resetlog.txt

(или любой другой путь и имя файла, который вы хотите для файла журнала).

И эта страница MS говорит это:

Когда вы запускаете команду сброса, она перезаписывает следующие ключи реестра, оба из которых используются TCP/IP:

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
SYSTEM\CurrentControlSet\Services\DHCP\Parameters

Похоже, тот же ключ реестра, который мы изменили, MS просто не показывает всю свою иерархию. - Джон В Кумпф]

Это имеет тот же эффект, что и удаление и переустановка TCP/IP. Для успешного выполнения ручной команды необходимо указать имя файла журнала, в который будут записаны действия netsh. (Этот файл журнала называется «resetlog.txt» в процедурах, описанных выше в этом разделе.)

Возможно, этот процесс переустановки перезаписывает эти разделы реестра и не может записать имя хоста и домен? Может быть?

Если это так, то то, что действительно работает для нас, - это сброс IP-адреса MS, затем установка этих ключей реестра.

Во-вторых,

Наша проблема появилась после перезагрузки после сбоя из-за жары. Трудно связать это событие с проблемой. Одна возможность состоит в том, что высокая температура сломала небольшое количество блоков диска, и один из этих блоков оказался частью значений ключа реестра Tcpip. Вряд ли, но я думаю, возможно.

Или, если это повторно установить TCP/IP необходимо, что блоки диска повреждены службы TCP/IP, и мы должны были повторно установить его , а затем зафиксировать его после.

В третьих,

Это довольно интересный результат. Это означает, что DNS-клиент Windows ищет в реестре либо Domain либо 2, либо все 3 из этих "значений". И если он найдет это (их), это нормально. Если он не находит их, особенно если он не находит Domain , он выдает ошибку и просто терпит неудачу. Нет сообщения об ошибке [1].

Я думаю, мы можем сделать вывод из этого доказательства, что это ошибка в Windows DNS Client. Мы можем доказать это, потому что он работает с пустым значением Домена, что означает, что программное обеспечение не может его использовать, что означает, почему оно требует, чтобы оно существовало (даже пусто) для правильной работы? Это ошибка.

[1] В-четвертых,

Возможно , был отчет об ошибке, но не в средстве просмотра событий в общих местах (в иерархии: Просмотр событий (локальный) -> Windows -> Приложение и Система). Существуют и другие журналы, многие из которых не включены по умолчанию, которые могли иметь какой-то вывод, особенно

  • Просмотр событий (локальный)
    • Приложения и сервисы локальные
      • Microsoft
        • Windows
          • События DNS-клиента
            • Microsoft-Windows-DHCP-клиент События / Администратор
            • Microsoft-Windows-DHCP-клиент События / Оперативные

но также возможно

  • Просмотр событий (локальный)
    • Приложения и сервисы локальные
      • Microsoft
        • Windows
          • Dhcp * -> *
          • Диагностика-Сеть -> Оперативный
          • Iphlpsvc -> Операционный
          • NCSI -> Операционный
          • NDIS -> Операционный
          • Защита доступа к сети
            • эксплуатационный
            • WHC
          • NetworkProfile -> Операционный
          • NlaSvc -> Операционный
          • NTLM -> Операционный
          • WebIO -> NDF/ Диагностика
          • Изменение каталога Winsock -> Операционный
          • Сетевое событие Winsock -> Операционный
          • Wired-AutoConfig -> Операционный
          • WLAN-AutoConfig -> Операционный

В-пятых,

После многих часов серфинга по этой проблеме кажется, что эту проблему обычно трудно отладить, и это что-то "странное".

Например, в этом сообщении на spiceworks проблема заключалась в устаревшем сертификате на DNS-сервере.

Плакат "Galen in Laguna" на spiceworks предложил способ полностью удалить стек TCP/IP в Windows 7 и позволить Windows переустановить его. Я подозреваю, что это работало бы в нашем случае, потому что это восстановило бы раздел реестра Tcpip . (Но см. Пост MS выше.)

Плакат ILS на spiceworks предположил, что драйвер afd.sys может иметь троянец или каким-либо образом поврежден, и предложил, как его заменить. (afd означает "Драйвер вспомогательной функции" для Winsock.)

Это сообщение суперпользователя Почему ping не может разрешить имя, когда nslookup работает нормально? где вопрос имел 35 голосов, а лучший ответ - 27, это хорошая ссылка. Там люди сообщили о "других решениях для них", включая:

  • несколько шлюзов по умолчанию
  • два компьютера с одинаковым IP-адресом в сети
  • Проблема многопользовательского DNS-запроса в Windows 7 (что бы это ни было)

Также люди сообщают, что эта проблема может быть вызвана "руткитами". Я бы предложил всем, кто борется с этой проблемой, запустить несколько сканеров руткитов. bleepingcomputer.com - хорошее место, чтобы получить совет. Или прочитайте Лучший бесплатный сканер рутов Gitmo /Remover на techsupportalert.com

В-шестых,

На форумах есть свидетельства того, что эта проблема чаще всего остается неразрешенной.

Один из тех плакатов, "Galen in Laguna", в spiceworks сказал, что это то, что они обычно должны делать.

Тот же пост суперпользователя Почему ping не может разрешить имя, когда nslookup работает нормально? Там, где на вопрос было 35 голосов, а лучший ответ - 27, автор лучшего ответа сказал:«В этом случае некоторые сайты также рекомендуют удалить и переустановить SP3».

И этот бедный суперпользователь, который все перепробовал, не получил ответа, и через 18 дней пришлось ремонтировать установку

Седьмой,

Полезный совет, если это не решит вашу проблему: при поиске в Интернете проблем с DNS в Windows имейте в виду, что во многих публикациях говорится о сервере Windows, функционирующем как DNS-сервер. Наша проблема заключалась в том, что у нас был простой старый ПК, подключенный через маршрутизатор к Интернету, и наше программное обеспечение DNS- клиента не работало. Иногда читая посты, я пропускал это различие.

Восьмой,

Еще один полезный совет, если вы отправляетесь на поиск: многие проблемы такого рода, которые мы обнаружили, имели атрибуты, которых у нас НЕ было:

  1. локальный DNS-сервер внутри здания (наш был общедоступным DNS-сервером, например, Google 8.8.8.8).
  2. не удалось перевести названия локальных узлов в здании (мы пытались получить доступ к общедоступным интернет-сайтам, таким как www.google.com)
  3. часть домена Windows и / или использование Active Directory, например, в корпоративной среде (мы только что подключили наш компьютер к беспроводному маршрутизатору)

Я надеюсь, что наш ответ поможет кому-то еще.

1

Я бы переустановил все сетевые драйверы и установил статический DNS на 8.8.8.8 и 8.8.4.4 (основной и дополнительный серверы Google).

0

У меня та же проблема, мой реестр выглядит нормально, единственный способ временно решить эту проблему - запустить: ipconfig /renew . Попробую сбросить стек IP, выложу больше информации, если найду решение ...

0

Попробуйте очистить кэш DNS, используя:

ipconfig /flushdns

Если это не поможет, возможно, стоит проверить службу DNS-клиента, запустив services.msc из командной строки. Найдите службу под названием «DNS-клиент» и убедитесь, что для ее метода запуска установлено значение "Автоматически" и что служба запущена.

0

Переустановите TCP/IP (пожалуйста, продолжайте читать ...). Я не имею в виду "сбросить", "перезапустить", "включить его". В Windows 10 запустите "netcfg -u ms_tcp". Это на самом деле удалит протокол из вашей системы. Нет больше TCP/IP v4 на нем. Переустановите протокол обычным способом (свойства сетевого подключения; добавить протокол). В Windows 7 вы можете отредактировать файл nettcpip.inf, чтобы разрешить удаление протокола из свойств сетевого подключения, но это невозможно в Windows 10 (нельзя сказать ни в 8, ни в 8.1). Надеюсь, это кому-нибудь поможет. Р.В.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .