Я делаю что-то креативное с нашим сервером. Мы создаем предварительно загруженный образ нашего серверного программного обеспечения. Иногда наши клиенты просят нас хранить данные в общей сетевой папке, а другие клиенты не делают этого. Я думал, что мы могли бы проявить творческий подход и упростить постустановку.
Моя идея заключалась в том, чтобы использовать файл хоста Windows, чтобы указать на 127.0.0.1 и иметь общий сетевой ресурс, где хранятся все данные. В том случае, если заказчик хочет, чтобы мы сохранили его на своем файловом сервере, мы просто обновляем файл хоста на адрес удаленного сервера.
Обратите внимание: у нас много сервисов, поэтому мы стараемся делать это с минимальной «реконфигурацией», насколько это необходимо. файл хоста находится в корне разрешения имен, так что это помогает. Мы могли бы сделать это вручную, а не так. Мы просто хотим подойти к этому творчески.
Добавлена роль файлового сервера Server 2008 R2
Local ServerName: SERVERA (10.0.0.10)
Remote ServerName: SERVERB (10.0.0.11)
Host entry name GENERICSERVER
Folder Shared on local or remote server: SomeFileShare
Test1:
Host file on SERVERA: 10.0.0.11 GENERICSERVER
\\GENERICSERVER\SomeFileShare -- Passed
Test2:
Host file on SERVERA: 10.0.0.10 GENERICSERVER
\\GENERICSERVER\SomeFileShare -- **Failed**
\\SERVERA\SomeFileShare -- Pass
\\127.0.0.1\SomeFileShare -- Pass
Test3:
Host file on SERVERA: 127.0.0.1 GENERICSERVER
\\GENERICSERVER\SomeFileShare -- **Failed**
\\127.0.0.1\SomeFileShare -- Pass
Кто-нибудь знает, зачем настраивать его для доступа к удаленному серверу, он работает нормально, но если я указываю его на локальный компьютер (127.0.0.1 или адрес адаптера), это не так? Он запрашивает у меня пользователя / пароль и даже показывает системное имя сервера, но не аутентифицируется.
Любая помощь приветствуется.
Вероятно, это вызвано функцией безопасности в Windows, которая (по умолчанию) предотвращает доступ localhost к именам, которые не являются именем хоста (CNAME или, в вашем случае, пользовательскими именами файла хоста). Ваши результаты согласуются с тем, что я испытал.
Вам необходимо отредактировать реестр и либо добавить общее имя сервера, либо отключить защиту от обратной петли. Вот некоторая информация, которую я собрал об этом, сосредоточенную на IIS, но также влияющую на SMB.
http://www.fishbrains.com/2009/07/31/sharepoint-sites-unavail-from-local-host/
Как правило, полагаться на файл hosts - очень плохая идея, поскольку это приводит к разного рода проблемам позже, когда сеть изменяется. Я бы предложил вместо этого использовать DNS. Создайте стандартное имя хоста для вашего приложения (что-то настолько загадочное, что почти наверняка никогда не столкнется с «реальным» хостом) и попросите клиентов, которые хотят использовать общий сетевой ресурс, добавить CNAME, указывающий на предполагаемый хост. Попросите ваше приложение выполнять поиск DNS при запуске, проверяя наличие вашего целевого хоста и использовать эту информацию, если она действительна, или вернуться к localhost, если это не так.