
Кто-нибудь знает, почему невозможно получить доступ к локальному общему ресурсу Windows (например, c$) на том же компьютере, используя другое имя, которое разрешается в тот же IP-адрес?
Пример:
Computer Name: COMP-1
IP Address: 192.168.1.2
Hosts File Entry: 192.168.1.2 COMP-2
Я могу получить доступ \\COMP-1\C$
изнутри COMP-1
, но не могу получить доступ, \\COMP-2\C$
хотя он указывает на тот же IP-адрес, т. е. на себя. Он всегда будет запрашивать учетные данные, которые никогда не работают.
Следует отметить, что если COMP-1
и COMP-2
добавлены в DNS, то другие системы смогут получить доступ к общему ресурсу, используя любое из имен, но не с локальной машины.
решение1
Ссылка на \\COMP-2\C$
не работает, поскольку Windows специально проверяет ее и требует учетные данные пользователя.
Эта проверка была добавлена для Windows Server 2003 Service Pack 1, предположительно, по каким-то неясным причинам безопасности, и ее можно найти в статье базы знаний с довольно длинным названием:
Сообщение об ошибке при попытке локального доступа к серверу с использованием его полного доменного имени или псевдонима CNAME после установки пакета обновления 1 (SP1) для Windows Server 2003: «Доступ запрещен» или «Ни один поставщик сетевых услуг не принял указанный сетевой путь»
Его эффект заключается в том, что общий доступ к файлам может работать через имя компьютера, с полной квалификацией или без нее, или по IP-адресу. Однако по умолчанию общий доступ к файлам не будет работать с произвольными псевдонимами DNS. Чтобы включить общий доступ к файлам и другие службы Windows для работы с псевдонимами DNS, необходимо внести изменения в реестр, как описано ниже, и перезагрузить компьютер.
- НажмитеНачинать, нажмитеБегать, введите
regedit
и нажмите ОК.- Найдите и щелкните следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- Щелкните правой кнопкой мыши
MSV1_0
, укажите на Новый, а затем нажмитеМногострочное значение.- вИмястолбец, введите
BackConnectionHostNames
и нажмите клавишу ВВОД.- Щелкните правой кнопкой мыши
BackConnectionHostNames
и выберите Изменить.вЦенитьВ поле данных введите CNAME или псевдоним DNS, который используется для локальных общих папок на компьютере, а затем щелкнитеХОРОШО.
Примечание. Введите каждое имя хоста в отдельной строке.
Примечание. Если
BackConnectionHostNames
запись реестра имеет тип REG_DWORD, ее необходимо удалитьBackConnectionHostNames
.Выйдите из редактора реестра и перезагрузите компьютер.
Я проверил эту статью базы знаний 15-летней давности, и она все еще работает, и без необходимости перезагружать компьютер. Если BackConnectionHostNames
содержит COMP-2
, то учетные данные не требуются.
К моему удивлению, после удаления BackConnectionHostNames
учетные данные по-прежнему не запрашивались, поскольку, вероятно, они были неявно сгенерированы в то время и все еще помнились Windows.