Проблема с DNS: имена резолвятся только через nslookup
Здравствуйте. Есть машинка, на ней стоит свежая Win7 Максимальная x64, билд 7600 RU.
На ней с перебоями работает разрешение имен. Инет приходит через Ethernet от домашнего роутера (Acorp W422G_v3), к которому машинка цепляется по DHCP. DHCP наряду с айпишниками раздает клиентам адреса DNS-серверов в явном виде, то есть не relay самого роутера, а в моем случае OpenDNS (208.67.222.222, 208.67.220.220). Симптомы такие: Код:
C:\Users\lism>nslookup yandex.ru Код:
C:\Users\lism>ping yandex.ru Вывод ipconfig /all: Я, если честно, не понимаю, как такое вообще возможно - разве механизм разрешения имен в ping и nslookup не один и тот же? И да, пробовал прописать другие DNS (провайдерские, гугловский, и т.п.) - то же самое. Пробовал статически вписать DNS и айпишники - все равно то же самое. Причем данная ситуация наблюдается случайным образом - иногда резолвинг работает, иногда нет. Подозреваю, что это что-то связанное со сбросом какого-либо кэша по времени (ARP, DNS), но не знаю куда копать. ipconfig /flushdns ничего не дает. В Linux и WinXP все нормально работает. |
mexico, эта команда работает?
Код:
ping -4 yandex.ru NSLookup works but ping, tracert etc. can't do name resolution |
Петя, ю а май хиро.
В общем, дело не в ipv6 (ping -4 тоже не работает), дело в службе dnscache, которая, видимо, за каким-то дьяволом пытается резолвить имена через netbios, а не DNS. По ссылке что вы дали, люди решили проблему, но у кого-то не работало, у кого-то работало... ну его нафиг. Я поступил топорней - вырубил DNS-кэш нафиг (net stop dnscache), и пустил DNS-запросы через привычный dnsmasq на отдельной машине. Проблема решена, хоть и костыльно, конечно. |
mexico,
А серверов провайдера без всяких заморочек не хватает? При чем тут netbios? По команде ping yandex.ru делается запрос UDP на адрес сервера DNS который указан в настройках сетевой карты - IP:53 (порт 53 Dns - Query) передается параметр yandex.ru, потом получаем ответ UDP от сервера DNS (порт 53 DNS - Response - 78.110.50.103), далее уже протокол ICMP на полученный IP пробует достучаться. |
Цитата:
Объяснение, которое вижу я: nslookup, видимо, работает мимо кэша, тогда как остальное пользуется службой DNS-клиент. По команде ping yandex.ru, насколько я понимаю, никаких запросов не делается, а имя просто берется из кэша, что хорошо видно из листинга, приведенного мной, так как после отключения dnscache все прекрасно заработало. Кстати, отключение службы Модуль поддержки NetBIOS через TCP/IP дает тот же результат (она ведь за WINS-резолвинг отвечает, или нет?..). А вот уже dnscache хрен знает откуда резолвит имена. Поскольку у меня есть сторонний DNS-кэш на Linux, я не стал заморачиваться и искать причины (я не в ладах с вендой, да и время - деньги), а просто отключил виндовый кэш. Работает - и ладно. Если предложите 100% работающий способ обойтись без этого костыля - буду только рад. |
mexico,
Nslookup действительно кэш DNS не нужен. cmd>ipconfig /displaydns (проверка кэша) cmd>ipconfig /flushdns (очистка кэша) cmd>nslookup www.yandex.ru cmd>ipconfig /displaydns Nslookup работает на прямую с сервером DNS (а именно с записью о доменной зоне вытаскивая из нее нужные данные). Так по команде Nslookup www.yandex.ru 1.Сначала из свойств сетевой будет вытащен адрес DNS сервера, потом будет запрос на определение записи PTR (т.е. обратное преобразование из IP в имя), чисто для того работает ли сервер DNS и как его зовут. Вы получили - Цитата:
3.Получить полностью запись типа "А" Вы получили - Цитата:
Теперь команда ping yandex.ru cmd>ipconfig /flushdns (очистка кэша) cmd>ping yandex.ru cmd>ipconfig /displaydns (проверка кэша) Кеш заполнен на yandex.ru через нормальный запрос на DNS сервер. При попытки второго раза выполнить команду cmd>ping yandex.ru Запроса на DNS сервер не будет, будет работа с кэшем DNS Реестр по кэшу DNS HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache |
mexico, А нашлось какое-то нормальное решение проблемы а то у меня тоже самое и на ноуте который в разных сетях работает:)
Удалил AVAST http://social.technet.microsoft.com/...f-30f4ffe8db72 Вроде решилось. Возникнет снова тогда напишу что не помогло. |
Вообщем у меня проблема была в HAMACHI после сноса все заработало
|
Всем доброго дня.
Столкнулся с аналогичной проблемой. Win7 Professional x64. Система только что установлена. Симптомы аналогичны: имена резолвятся только через nslookup. Пинги до узлов не проходят (в том числе ping -4). net stop dnscache результата не дает. IPv6 отключен. Хелп ми плиз. |
Цитата:
Подключение не через прокси-сервер? Выложите результаты выполнения в командной строке (cmd.exe) Код:
ipconfig /all |
Цитата:
Цитата:
ipconfig /all route print nslookup oszone.net Server: UnKnown Address: 192.168.100.1 Non-authoritative answer: Name: oszone.net Address: 89.108.118.149 ping oszone.net Ping request could not find host oszone.net. Please check the name and try again. ping 89.108.118.149 Reply from 89.108.118.149: bytes=32 time=36ms TTL=54 |
С запозданием.
В плане обмена опытом: Пропал стек TCPIP. Полностью пропал. В свойствах сама сетевая карта числится включенной, протоколы установленными, а окно “сведения” пусто (IP, шлюза, DNS нет). Локальная сеть, интернет и ping не работают. Начал разбираться и обнаружил полное отсутствие файла драйвера tcpip.sys, и записей реестра службы HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip. В общем диагноз – TCP/IP удален напрочь как зловред. Поискав нашел у Касперского в журнале запись об удалении tcpip.sys . ============================================================================ Восстановление. Часть классическая. ============================================================================ Файл tcpip.sys скопировал из дебрей %SystemRoot%\winsxs в C:\Windows\System32\drivers\ выбрав посвежее Начал решать проблему классически (установлен Windows 7 pro x64): 1)В %SystemRoot%\Inf\nettcpip.inf [MS_TCPIP.PrimaryInstall] Characteristics = 0xA0 ; NCF_HAS_UI | NCF_NOT_USER_REMOVABLE Заменил на [MS_TCPIP.PrimaryInstall] ;Characteristics = 0xA0 ; NCF_HAS_UI | NCF_NOT_USER_REMOVABLE Characteristics = 0x80 ; NCF_HAS_UI 2)В %SystemRoot%\Inf\nettcpip.inf [MS_TCPIP.Tunnel.PrimaryInstall] Characteristics = 0x28 ; NCF_HIDDEN | NCF_NOT_USER_REMOVABLE Заменил на [MS_TCPIP.Tunnel.PrimaryInstall] ;Characteristics = 0x28 ; NCF_HIDDEN | NCF_NOT_USER_REMOVABLE Characteristics = 0x20 ; NCF_HIDDEN 3)В %SystemRoot%\Inf\netip6.inf [MS_TCPIP6.Install] Characteristics = 0xA0 ; NCF_HAS_UI | NCF_NOT_USER_REMOVABLE Заменил на [MS_TCPIP6.Install] ; Characteristics = 0xA0 ; NCF_HAS_UI | NCF_NOT_USER_REMOVABLE Characteristics = 0x80 ; NCF_HAS_UI 4) В %SystemRoot%\Inf\netip6.inf [MS_TCPIP6.Tunnel.Install] Characteristics = 0x28 ; NCF_HIDDEN | NCF_NOT_USER_REMOVABLE Заменил на [MS_TCPIP6.Tunnel.Install] ; Characteristics = 0x28 ; NCF_HIDDEN | NCF_NOT_USER_REMOVABLE Characteristics = 0x20 ; NCF_HIDDEN 5)Удалил не удалось запустить дочернюю службу Удалил %SystemRoot%\Inf\netip6.PNF 6)После этого в свойствах сетевой карты стало возможным удалить и после перезагрузки обратно поставить “Протокол Интернета версии 4 (TCP/IPv4)” “Протокол Интернета версии 6 (TCP/IPv6)” ============================================================================ На этом классика окончилась. ============================================================================ Перегрузился, но счастья не наступило: DHCP - не запустился, адрес автоматом не настроился Ping 127.0.0.1 – успешно заработал После ручной установки адреса, шлюза и DNS заработал ping на цифровой адрес и nslookup. Ping на доменное имя не заработал: ping 8.8.8.8 – успешно заработал nslookup yandex.ru – успешно заработал ping yandex.ru – выдал невозможность получения адреса: При проверке связи не удалось обнаружить узел yandex.ru. Проверьте имя узла и повторите попытку. Не помог сброс настроек: netsh in tip reset log.txt netsh winsock reset Не помогло запустить службу вручную – ругается на отсутствие файла net start DHCP – не заработал Оказалось, что автоматически при переустановке стека TCP-IP не до конца прописывается в реестре служба DHCP. Отсутствуют ключи HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dhcp\ServiceDll = REG_EXPAND_SZ = %SystemRoot%\system32\dhcpcore.dll HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dhcp\Parameters\ServiceDll = REG_EXPAND_SZ = %SystemRoot%\system32\dhcpcore.dll HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dhcp\Parametersv6\ DllName = REG_EXPAND_SZ = %SystemRoot%\system32\dhcpcore6.dll HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dhcp\Parameters\ServiceDllUnloadOnStop = dword = 1 Далее файл DHCP-add.REG =================== Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dhcp] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dhcp\Parameters] "ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\ 00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\ 64,00,68,00,63,00,70,00,63,00,6f,00,72,00,65,00,2e,00,64,00,6c,00,6c,00,00,\ 00 "ServiceDllUnloadOnStop"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dhcp\Parametersv6] "DllName"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,\ 00,68,00,63,00,70,00,63,00,6f,00,72,00,65,00,36,00,2e,00,64,00,6c,00,6c,00,\ 00,00 =================== После перезагрузки заработал DHCP, автоматом установил IP адрес, маску, шлюз, DNS. Но продолжает не работать DNS клиент (! Не сервис, а именно resolver). Не видно соседних компьютеров в сети, хотя по IP адресу они достижимы, также заработали сетевые принтера у которых очереди прописаны через цифровой IP адрес. ping yandex.ru – выдал невозможность получения адреса: При проверке связи не удалось обнаружить узел yandex.ru. Проверьте имя узла и повторите попытку. После изучения и сравнения оказалось, что для того, чтобы нормально запустился TCP-IP нужно прописать: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\ EnableIPAutoConfigurationLimits = dword = 1 Далее файл TCP-add.REG ================== Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters] "EnableIPAutoConfigurationLimits"=dword:00000001 ================== После этого сеть полностью восстановилась: -работаю сайты по доменному имени -работают сайта по IP адресу -работает локальная сеть (видны компьютеры и принтеры) P.S. Так как это была уже вторая машина с таким глюком от Касперского, то он был, на всякий случай, снесен нафиг |
Цитата:
Avast также удосуживался убить tctip.sys , в прочем как и опять же Касперский, только в XP, год-полтора назад... |
Подскажите по аналогичной проблеме. win2008 на виртуалке. В сети его никто не видит через имя (dns прописан статически на роутере микротик). Через nslookup тем не менее его видно.
D:\users\Администратор>nslookup kaskad2018 ╤хЁтхЁ: mikrotik Address: 192.168.0.1 Не заслуживающий доверия ответ: ╚ь*: kaskad2018 Address: 192.168.0.7 Служба DNS-cache на всех хостах сети выключена. |
Demige52, сеть на основе домена или рабочей группы?
|
Сеть - рабочая группа.
1. клиент и служба доступа включены. 2. Службы запущены 3. Код:
Настройка протокола IP для Windows -- Кажется решилось всё изменением типа соединения с "общественная сеть" на "сеть предприятия". Мне только не понятно, на основе чего windows не хотел его ресолвить? Если ему DNS сервер явно говорит что вот по этому название вот этот адрес? |
Цитата:
|
Не ресолвит по команде ping. Не подключается через rdp (удаленный сервер не найден).
|
Время: 15:50. |
Время: 15:50.
© OSzone.net 2001-