Войти

Показать полную графическую версию : [решено] Проблема с DNS: имена резолвятся только через nslookup


mexico
19-06-2010, 18:20
Здравствуйте. Есть машинка, на ней стоит свежая 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
╤хЁтхЁ: resolver1.opendns.com
Address: 208.67.222.222

Не заслуживающий доверия ответ:
╚ь*: yandex.ru
Addresses: 87.250.251.11
93.158.134.11
213.180.204.11
213.180.204.211
77.88.21.11
Казалось бы все нормально, однако:
C:\Users\lism>ping yandex.ru
При проверке связи не удалось обнаружить узел yandex.ru.
Проверьте имя узла и повторите попытку.
Аналогично не резолвятся имена в других приложениях.

Вывод ipconfig /all:
C:\Users\lism>ipconfig /all

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : slowpoke
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена . . . . : Нет
WINS-прокси включен . . . . . . . : Нет
Порядок просмотра суффиксов DNS . : WORKGROUP

Ethernet adapter eth1:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Сетевая карта Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.20) #2
Физический адрес. . . . . . . . . : 00-22-15-83-60-E9
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да

Ethernet adapter eth0:

DNS-суффикс подключения . . . . . : WORKGROUP
Описание. . . . . . . . . . . . . : Сетевая карта Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)
Физический адрес. . . . . . . . . : 00-22-15-83-5F-C0
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
Локальный IPv6-адрес канала . . . : fe80::6157:3b29:214c:4984%11(Основной)
IPv4-адрес. . . . . . . . . . . . : 192.168.0.178(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Аренда получена. . . . . . . . . . : 19 июня 2010 г. 13:15:37
Срок аренды истекает. . . . . . . . . . : 20 июня 2010 г. 13:15:37
Основной шлюз. . . . . . . . . : 192.168.0.231
DHCP-сервер. . . . . . . . . . . : 192.168.0.231
IAID DHCPv6 . . . . . . . . . . . : 234889749
DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-13-76-6B-AB-00-22-15-83-5F-C0

DNS-серверы. . . . . . . . . . . : 208.67.222.222
208.67.220.220
Основной WINS-сервер. . . . . . . : 192.168.0.231
NetBios через TCP/IP. . . . . . . . : Включен

Я, если честно, не понимаю, как такое вообще возможно - разве механизм разрешения имен в ping и nslookup не один и тот же?

И да, пробовал прописать другие DNS (провайдерские, гугловский, и т.п.) - то же самое. Пробовал статически вписать DNS и айпишники - все равно то же самое.

Причем данная ситуация наблюдается случайным образом - иногда резолвинг работает, иногда нет. Подозреваю, что это что-то связанное со сбросом какого-либо кэша по времени (ARP, DNS), но не знаю куда копать. ipconfig /flushdns ничего не дает.

В Linux и WinXP все нормально работает.

Petya V4sechkin
19-06-2010, 18:41
mexico, эта команда работает?
ping -4 yandex.ru
Если да, отключите IPv6 (http://support.microsoft.com/kb/929852/ru).

NSLookup works but ping, tracert etc. can't do name resolution (http://social.technet.microsoft.com/Forums/en-US/itprovistanetworking/thread/15e3d483-bec2-4c86-bd64-16c58dde4a93)

mexico
19-06-2010, 19:00
Петя, ю а май хиро.

В общем, дело не в ipv6 (ping -4 тоже не работает), дело в службе dnscache, которая, видимо, за каким-то дьяволом пытается резолвить имена через netbios, а не DNS.
По ссылке что вы дали, люди решили проблему, но у кого-то не работало, у кого-то работало... ну его нафиг.
Я поступил топорней - вырубил DNS-кэш нафиг (net stop dnscache), и пустил DNS-запросы через привычный dnsmasq на отдельной машине.

Проблема решена, хоть и костыльно, конечно.

Valeant
19-06-2010, 21:47
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 пробует достучаться.

mexico
20-06-2010, 00:54
А серверов провайдера без всяких заморочек не хватает? »
Не-а. Я и их ставил, не в них дело. Про UDP 53 не надо - азы же.

Объяснение, которое вижу я: nslookup, видимо, работает мимо кэша, тогда как остальное пользуется службой DNS-клиент. По команде ping yandex.ru, насколько я понимаю, никаких запросов не делается, а имя просто берется из кэша, что хорошо видно из листинга, приведенного мной, так как после отключения dnscache все прекрасно заработало. Кстати, отключение службы Модуль поддержки NetBIOS через TCP/IP дает тот же результат (она ведь за WINS-резолвинг отвечает, или нет?..). А вот уже dnscache хрен знает откуда резолвит имена.

Поскольку у меня есть сторонний DNS-кэш на Linux, я не стал заморачиваться и искать причины (я не в ладах с вендой, да и время - деньги), а просто отключил виндовый кэш. Работает - и ладно.

Если предложите 100% работающий способ обойтись без этого костыля - буду только рад.

Valeant
20-06-2010, 12:43
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 и как его зовут.
Вы получили -
╤хЁтхЁ: resolver1.opendns.com
Address: 208.67.222.222
2.Потом обычный запрос по имени www.yandex.ru получить IP адреса.
3.Получить полностью запись типа "А"
Вы получили -
Не заслуживающий доверия ответ:
╚ь*: yandex.ru
Addresses: 87.250.251.11
93.158.134.11
213.180.204.11
213.180.204.211
77.88.21.11

При отключении windows кэша DNS вы заставляете лишний раз ПК клиента определять IP по мнемонике используя запросы по сети на ваш DNS (если они есть у него в кэше, то он просто их отправит), по времени это доли секунд.

Теперь команда 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

yalexey
27-10-2011, 11:02
mexico, А нашлось какое-то нормальное решение проблемы а то у меня тоже самое и на ноуте который в разных сетях работает:)

Удалил AVAST http://social.technet.microsoft.com/Forums/ru/windows7ru/thread/a74e158d-639d-471a-821f-30f4ffe8db72
Вроде решилось. Возникнет снова тогда напишу что не помогло.

yalexey
16-11-2011, 20:44
Вообщем у меня проблема была в HAMACHI после сноса все заработало

antipov.su
17-02-2013, 15:02
Всем доброго дня.

Столкнулся с аналогичной проблемой. Win7 Professional x64. Система только что установлена.

Симптомы аналогичны: имена резолвятся только через nslookup. Пинги до узлов не проходят (в том числе ping -4). net stop dnscache результата не дает. IPv6 отключен.

Хелп ми плиз.

Petya V4sechkin
17-02-2013, 17:06
Система только что установлена
Что-то еще установлено?

Подключение не через прокси-сервер?
Выложите результаты выполнения в командной строке (cmd.exe)
ipconfig /all
route print
nslookup oszone.net
ping oszone.net
ping 89.108.118.149

antipov.su
17-02-2013, 19:37
Что-то еще установлено?
Нет, больше ничего, что могло бы быть связано с работой сети (Офисный пакет, архиватор, кодеки...).

Подключение не через прокси-сервер?
Подключался и через прокси, и без него. Сейчас прокси не используется (подключен к роутеру с поднятым pptp).

ipconfig /all
Windows IP Configuration
Host Name: RUTTIWLT0070
Primary DNS Suffix: tti.ru.corp
Node Type: Hybrid
IP Routing Enabled: No
WINS Proxy Enabled: No
DNS Suffix Search List: tti.ru.corp
app.corp
app.ad.corp
ad.corp
// Рабочая корпоративная сеть

Wireless LAN adapter Wireless Network Connection:
Connection-specific DNS Suffix:
Description: Intel(R) Centrino(R) Advanced-N 6205
Physical Address: 10-0B-A9-11-9C-10
DHCP Enabled: Yes
Autoconfiguration Enabled: Yes
IPv4 Address: 192.168.100.101(Preferred)
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.100.1
DHCP Server: 192.168.100.1
DNS Servers: 192.168.100.1
NetBIOS over Tcpip: Enabled

route print
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.100.1 192.168.100.101 25
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.100.0 255.255.255.0 On-link 192.168.100.101 281
192.168.100.101 255.255.255.255 On-link 192.168.100.101 281
192.168.100.255 255.255.255.255 On-link 192.168.100.101 281
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.100.101 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.100.101 281
===========================================================================
Persistent Routes:
None

===========================================================================

IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 306 ::1/128 On-link
1 306 ff00::/8 On-link
===========================================================================
Persistent Routes:
None

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

APuh
16-11-2013, 00:36
С запозданием.
В плане обмена опытом:

Пропал стек 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.
Так как это была уже вторая машина с таким глюком от Касперского, то он был, на всякий случай, снесен нафиг 

diagnoz_
16-11-2013, 01:27
с таким глюком от Касперского, то он был, на всякий случай, снесен нафиг »
Обновление антивируса Касперского блокирует файл tcpip.sys (http://habrahabr.ru/post/199322/)

Avast также удосуживался убить tctip.sys , в прочем как и опять же Касперский, только в XP, год-полтора назад...

Demige52
26-05-2017, 07:34
Подскажите по аналогичной проблеме. win2008 на виртуалке. В сети его никто не видит через имя (dns прописан статически на роутере микротик). Через nslookup тем не менее его видно.

D:\users\Администратор>nslookup kaskad2018
╤хЁтхЁ: mikrotik
Address: 192.168.0.1

Не заслуживающий доверия ответ:
╚ь*: kaskad2018
Address: 192.168.0.7

Служба DNS-cache на всех хостах сети выключена.

Petya V4sechkin
26-05-2017, 08:39
Demige52, сеть на основе домена или рабочей группы?
Убедитесь, что в свойствах сетевого подключения включены флажки:
Клиент для сетей Microsoft
Служба доступа к файлам и принтерам сетей Microsoft
Нажмите Win+R -> введите services.msc -> работают ли службы:
Рабочая станция
Сервер
Модуль поддержки NetBIOS через TCP/IP
Приведите результаты выполнения в командной строке (cmd.exe)
ipconfig /all
nbtstat -n

Demige52
26-05-2017, 09:04
Сеть - рабочая группа.

1. клиент и служба доступа включены.
2. Службы запущены
3.

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : Kaskad2018
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена . . . . : Нет
WINS-прокси включен . . . . . . . : Нет

Ethernet adapter Подключение по локальной сети 2:

DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Сетевое подключение Intel(R) PRO/1000 MT
Физический адрес. . . . . . . . . : 52-54-00-83-97-C6
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да
IPv4-адрес. . . . . . . . . . . . : 192.168.0.7(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз. . . . . . . . . : 192.168.0.1
DNS-серверы. . . . . . . . . . . : 192.168.0.1
NetBios через TCP/IP. . . . . . . . : Включен

Туннельный адаптер isatap.{FF53DA58-62CD-44D6-9F65-649391B542EF}:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Адаптер Microsoft ISATAP
Физический адрес. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да

Туннельный адаптер Teredo Tunneling Pseudo-Interface:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Физический адрес. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да

D:\users\Администратор>



Подключение по локальной сети 2:
Адрес IP узла: [192.168.0.7] Код области: []

Локальная таблица NetBIOS-имен

Имя Тип Состояние
----------------------------------------------------
KASKAD2018 <00> Уникальный Зарегистрирован
RUNO2 <00> Группа Зарегистрирован
KASKAD2018 <20> Уникальный Зарегистрирован




Хосты линуксовые без проблем видят этот сервер.

--
Кажется решилось всё изменением типа соединения с "общественная сеть" на "сеть предприятия". Мне только не понятно, на основе чего windows не хотел его ресолвить? Если ему DNS сервер явно говорит что вот по этому название вот этот адрес?

Petya V4sechkin
26-05-2017, 09:06
В сети его никто не видит через имя
Каким образом определяете "видимость" или "невидимость"?

Demige52
26-05-2017, 22:08
Не ресолвит по команде ping. Не подключается через rdp (удаленный сервер не найден).




© OSzone.net 2001-2012