В моей домашней сети есть dhcp-сервер и dns-сервер, работающие на роутере. DHCP и доступ в интернет работают нормально.
Для каждого устройства в моей домашней сети у меня есть запись DNS, которая связывает некоторое имя с IP-адресом устройства.
Например, mycomputer разрешается как 192.168.0.111.
Однако когда я ввожу в командной строке в Windows 10:
ping mycomputer
Я получаю
Ping request could not find host mycomputer. Please check the name and try again.
Я думаю, что это проблема Windows, а не маршрутизатора или конфигурации. Это потому, что:
ping mycomputer
отлично работает из ubuntu- если я создам запись DNS, например
mycomputer.local
или дажеmycomputer.bla
и назначу ее тому же IP-адресу, я смогуping mycomputre.local
илиping mycomputre.bla
из Windows 10 без проблем. - Наконец,
ping mycomputer.
(обратите внимание на точку в конце) также работает в Windows 10. - Если я посмотрю на трафик в Wireshark, то увижу, что
ping mycomputer.local
результатом является DNS-запрос, аping mycomputer
результатом — нет.
Похоже, что если имя целевого компьютера не является составным, Windows не разрешит его, пока я не добавлю точку в конце. Этот эффект не происходит для составных имен.
Я хотел бы понять: почему это так?
решение1
Вероятно, у вас нет сервера WINS в сети. Windows сначала пытается использовать сервер WINS для отдельных имен, поскольку предполагает, что это имена NetBIOS, и в случае неудачи не пытается использовать DNS.
В соответствии сРазрешение именстатья, WINS - это первое, что нужно проверить, однако следующий шагявляютсяпредполагается сделать запрос DNS. Возможно, поскольку эта статья не вдается в подробности, существуют некоторые условия, которые выполняются и прерывают процесс разрешения до того, как он достигнет этапа DNS.
Этоболее длинная статьяна предмет.