Назад | Перейти на главную страницу

Проблема с разрешением имен в Windows 10

У меня есть небольшая офисная сеть с несколькими машинами Windows / Ubuntu разных выпусков. Несколько дней назад одна машина с Windows потеряла возможность доступа к любым службам на машинах Ubuntu по имени хоста.

я жестяная банка разрешить имя хоста Ubuntu с помощью DNS:

C:\>nslookup gruit
Server:  router.asus.com
Address:  192.168.73.1

Name:    gruit
Address:  192.168.73.152

Но я не может использовать такие вещи, как ping, ftp, sshи т.д. по имени хоста. Например:

C:\>ping gruit
Ping request could not find host gruit. Please check the name and try again.

я жестяная банка успешно использовать IP-адрес с любой из этих команд:

C:\>ping 192.168.73.152

Pinging 192.168.73.152 with 32 bytes of data:
Reply from 192.168.73.152: bytes=32 time<1ms TTL=64

я жестяная банка также используйте имя хоста с . в конце:

C:\>ping gruit.

Pinging gruit [192.168.73.152] with 32 bytes of data:
Reply from 192.168.73.152: bytes=32 time<1ms TTL=64

Это попахивает проблемой NetBIOS. Действительно, такие вещи, как NET VIEW потерпеть поражение:

C:\>net view \\gruit
System error 53 has occurred.

The network path was not found.

Интересно, однако, что NBT разрешает имя хоста должным образом:

C:\>nbtstat -c

Ethernet0:
Node IpAddress: [192.168.73.104] Scope Id: []

                  NetBIOS Remote Cache Name Table

        Name              Type       Host Address    Life [sec]
    ------------------------------------------------------------
    GRUIT          <20>  UNIQUE          192.168.73.152      592

В практических целях меня не интересуют NetBIOS / Samba / и т. Д. на Ubuntu здесь; Я просто хочу, чтобы мой "нормальный" TCP / IP работал (а именно Postgres). Но каким-то образом каждый клиент на этом компьютере с Windows 10, похоже, использует NetBIOS. Если я очищу кеш с помощью nbtstat -R, например, затем используйте какой-нибудь TCP / IP-клиент (например, ssh, psql...), кеш NBT сразу же снова показывает имя хоста Ubuntu и IP-адрес.

[EDIT: некоторые команды не запускают запись в кеш NBT. nslookup никогда не делает. Как и обычные преступники (например, ping), когда я заканчиваю имя хоста точкой.]

Настоящая проблема, конечно, в том, что, несмотря на успешное решение с помощью обе DNS и NBT, я не могу использовать имена хостов с какими-либо клиентскими приложениями. Я прочитал много противоречивых страниц документации, блогов и сообщений на форумах о порядке разрешения имен в Windows и о том, играет ли клиент роль в определении метода разрешения. Я не уверен, что правильно / актуально.

[nslookup поведение в предыдущем редактировании предполагает, что клиент делает играют роль в выборе метода разрешения имен. Не уверен, явное это или случайное - например, какую из нескольких функций API они вызывают.]

Для контекста:

Любые идеи?

Подобная ошибка случилась со мной в прошлом, это была ошибка повреждения базы данных WINS / NBT, в то время как DNS разрешился правильно.

Перезапустил главный сервер браузера, и это помогло мне.

Wirehark, вероятно, определит виновника, который отвечает на неверные данные на запрос NBT вашего Windows 10.