Windows主机文件 – SMBnetworking共享使用指向本地机器的主机条目

我正在做一些与我们的服务器有点创意。 我们正在构build我们的服务器软件的预加载图像。 有时我们的客户要求我们可以通过networking共享存储数据,其他客户则不需要。 我认为我们可以创造性,并保持后安装简单。

我的想法是,使用Windows主机文件指向127.0.0.1,并有一个本地networking共享所有的数据存储。 即使客户希望我们在他们的文件服务器上存储,我们只是将主机文件更新到远程服务器地址。

请注意 – 我们有很多服务,所以我们正在尽可能根据需要进行“重新configuration”。 主机文件位于名称parsing的根目录下,这样可以提供帮助。 我们可以手动做到这一点,而不是这样做。 我们只是想在这个上有创意。

已添加Server 2008 R2文件服务器angular色

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或适配器地址),它不? 它会提示我input用户名/密码,甚至显示服务器的系统名称,但不会进行身份validation。

任何帮助表示赞赏。

这可能是由Windows中的一个安全function(默认情况下)阻止本地主机访问不是主机名(CNAME的名称)的名称或您的案例主机文件自定义名称中的名称所引起的。 你的结果与我所经历的一致。

您需要编辑registry,并添加通用服务器名称或禁用回送保护。 以下是我收集的一些信息,重点介绍了IIS,但也影响了SMB。

http://www.fishbrains.com/2009/07/31/sharepoint-sites-unavail-from-local-host/

依赖主机文件通常是一个非常糟糕的想法,因为当networking发生变化时,会导致各种各样的问题。 我build议使用DNS来代替。 为你的应用程序创build一个标准的主机名(这个东西如此神秘以至于永远不会与“真实的”主机发生冲突),并要求希望使用networking共享的客户端添加一个CNAME指向目标主机。 让您的应用程序在启动时执行DNS查找,testing目标主机是否存在,如果有效则使用该信息,否则返回到本地主机。