Windows 10 пинг не разрешает имя, но nslookup работает

Вопрос или проблема

У меня есть машина с Windows 10, которая проявляет странное поведение. Когда я пытаюсь разрешить устройства в своей сети по имени, они не разрешаются.

Однако команда ping -a для IP-адреса будет разрешать правильное имя.

Команда nslookup работает как по имени, так и по IP-адресу.

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

    C:\Users\benwh
λ ping -a 192.168.1.4

Пинг в lexmark [192.168.1.4] с 32 байтами данных:
Ответ от 192.168.1.4: байт=32 время<1мс TTL=254
Ответ от 192.168.1.4: байт=32 время<1мс TTL=254
Ответ от 192.168.1.4: байт=32 время<1мс TTL=254
Ответ от 192.168.1.4: байт=32 время<1мс TTL=254

Статистика пинга для 192.168.1.4:
    Пакеты: Отправлено = 4, Получено = 4, Потеряно = 0 (0% потеря),
Приблизительное время в пути в миллисекундах:
    Минимум = 0мс, Максимум = 0мс, Среднее = 0мс

C:\Users\benwh
λ ping lexmark
Запрос пинга не смог найти хост lexmark. Пожалуйста, проверьте имя и попробуйте снова.

C:\Users\benwh
λ nslookup lexmark
Сервер:  UnKnown
Адрес:  192.168.1.1

Имя:    lexmark
Адрес:  192.168.1.4

C:\Users\benwh
λ nslookup 192.168.1.4
Сервер:  UnKnown
Адрес:  192.168.1.1

Имя:    lexmark
Адрес:  192.168.1.4

На машине с Linux с такими же настройками, предоставленными DHCP, пинг работает нормально.

Справка по команде ipconfig – попробуйте это сначала

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig

ipconfig /flushdns

Справка по команде Ping – порядок разрешения: Хост, DNS-сервер, NetBIOS

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ping

Порядок разрешения имен хостов – описывает порядок и шаги для проверки

https://support.microsoft.com/en-us/help/172218/microsoft-tcp-ip-host-name-resolution-order

Скорее всего, кэш DNS сообщает неверную информацию на машине с Windows.

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

В частности, nslookup использует только первый DNS-сервер, настроенный для сетевого адаптера (по умолчанию).

Вы можете проверить DNS-серверы и их приоритет, углубившись в свойства сетевого адаптера. Вы также можете перечислить их с помощью

ipconfig /all

Если у вас настроен другой локальный DNS-сервер, и он работал успешно до недавнего времени, программы, обращающиеся к сети, могут попытаться использовать его, но он может в данный момент не работать, что может быть причиной возникшей проблемы. Чтобы проверить это, вы можете выполнить nslookup для конкретного DNS-сервера, используя:

dnslookup lexmark SERVER

где SERVER – это имя сервера или IP-адрес.

Ответ или решение

Проблема с тем, что ваш компьютер на Windows 10 не может разрешить имена, в то время как команда nslookup работает корректно, может быть вызвана различными факторами, связанными с настройками сети и разрешением имен. Рассмотрим возможные причины и решения этой проблемы.

1. Важные аспекты разрешения имен

Разрешение имен в Windows происходит в определенном порядке: сначала используется локальный кеш (DNS-кеш), затем DNS-серверы, а также NetBIOS (для работы в локальных сетях).

2. Направления для устранения неполадок

Очистка кеша DNS:
Ваша гипотеза о некорректной работе кеша DNS имеет смысл. Вы можете попробовать очистить кеш DNS с помощью команды:

ipconfig /flushdns

Это позволит сбросить некорректные записи и может помочь в разрешении имен.

Проверка настроек DNS:
Выполните команду:

ipconfig /all

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

3. Hotfix с использованием nslookup

Команда nslookup может недоступно использовать в некоторых ситуациях, поскольку она обращается к первому DNS-серверу из списка. Вы можете указать конкретный DNS-сервер для проверки разрешения имени:

nslookup lexmark 192.168.1.1

Замените IP-адрес на тот, который вы хотите проверить. Это поможет определить, работает ли DNS-сервер корректно.

4. Проверьте настройки NetBIOS

Если ваш компьютер использует NetBIOS для разрешения имен, возможно, конфигурации не настраиваются правильно. Для проверки откройте свойства сетевого подключения и перейдите на вкладку "Дополнительно". Убедитесь, что NetBIOS включен.

5. Проверка сетевых конфликтов

Убедитесь, что на вашем локальном сетевом сегменте нет конфликтующих IP-адресов. Вам может помочь выполнение команды:

arp -a

Она даст вам список всех адресов, с которыми взаимодействует ваш компьютер.

6. Сравнение с Linux

Раз вы указали, что на Linux с теми же настройками всё работает правильно, это может указывать на специфическую проблему в клиенте Windows, опции сетевых протоколов или политике безопасности. Следует проверить, не используются ли определенные ограничения на уровне брандмауэра или антивирусного программного обеспечения в системе Windows.

Заключение

Решение проблемы с разрешением имен в Windows 10, когда ping не работает, а nslookup – это многоступенчатый процесс, требующий проверки конфигурации вашей сети. Действия по очистке кеша, проверке кодов DNS и параметров NetBIOS, а также исключение конфликтов в сети должны помочь вам выявить и устранить причины проблемы. Если проблема не решается, возможно, стоит рассмотреть переустановку сетевого адаптера или обновление сетевых драйверов.

Оцените материал
Добавить комментарий

Капча загружается...