这个场景一开始可能看起来有点奇怪;)操作系统是 Windows Server 2003。
我们每天从生产服务器进行备份,并将整个应用程序复制到备份服务器,我们希望从生产环境中获得完全一样的副本(或多或少)。
这种方法效果很好,但有一个例外:生产系统必须访问共享上的某些文件(即 \\PROD_SHARE\Files$)。此路径在配置文件中指定。
现在我们不想在将此配置文件复制到备份服务器时对其进行更改。问题是,备份环境中的共享路径不同(这次是在本地主机上,因此路径为 \\LOCALHOST\Files$)。
是否有可能(在备份服务器上)以某种方式将所有对 PROD_SHARE 的请求“重定向”到 LOCALHOST,以便我们可以使用与生产环境完全相同的配置文件?我们尝试使用 etc\hosts 文件,但它不起作用(连接似乎有效,但出现登录对话框,我们无法登录 - 也许这只是一些策略问题?)。
有人有想法吗?
更新:
感谢您迄今为止的回答,我认为我的问题太复杂了 - 实际上,我的问题很简单(我的错,抱歉):
我希望能够使用 \\PROD_SHARE 而不是 \\LOCALHOST(但结果应该相同)
我尝试使用别名以及 LMHOSTS 来解决问题 - 两者的结果与我第一次尝试使用 HOSTS 文件的结果相同:我可以使用不同的名称 ping localhost,但当我尝试打开 SMB Share \\PROD_SHARE 时,我得到了一个登录对话框(因此连接似乎有效),我无法登录 - 即使使用我刚刚用于启动 Windows(域管理员)的用户凭据也是如此。错误是“Windows 无法让您登录。请确保您的用户名和密码正确”。
生产和备份环境根本不在同一个网络/域中,因此不应该存在任何名称冲突。
答案1
这是一篇旧帖子,但我在 Covid 季节尝试在家工作时遇到了这个问题。
我想要将 \\SERVERNAME\ (或在上面的示例中为 PROD_SHARE)的 SMB 服务器调用重定向为计算机上的本地 SMB。
方法
- 将“SERVERNAME”添加到 etc\hosts 文件中,IP 地址为 127.0.0.1
本地 Windows 身份验证将弹出并给出错误,因为计算机无法识别“SERVERNAME”。因此,通过编辑/添加以下注册表值来禁用环回身份验证检查:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa > DWORD > DisableLoopbackCheck=1
重新启动 services.msc 下的“Workstation”。
其他方法(未经验证):
编辑/添加注册表项:
HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters DWORD DisableStrictNameChecking=1
答案2
我还没有尝试过,但是也许 LMHOSTS 文件会有帮助?
它类似于 SMB 服务器名称的 /etc/hosts。您可以在 %SystemRoot%\System32\Drivers\Etc 找到它(可能不存在,但至少在 Vista 上有一个 lmhost.sam 示例文件)。
答案3
如果我理解正确的话,您希望备份环境中的一台机器响应在生产环境中运行的服务器计算机的名称。
这是可能的,但如果备份环境和生产环境之间存在 NetBIOS 通信,您可能会遇到一些困难。
以下是向 Windows Server 计算机添加别名的基本步骤。
在备份服务器上,在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters 中添加一个名为“OptionalNames”的 REG_MULTI_SZ 值。将您希望备份服务器响应的名称放入该值中。
向名为“DisableStrictNameChecking”的同一注册表项添加一个 REG_DWORD 值并将其设置为“1”。
重新启动“服务器”服务(或者重新启动机器)。
您可能遇到的问题是备份服务器将尝试在 WINS 中注册此别名,并使用 TCP/IP 上的 NetBIOS 广播它。由于您已经有一台运行别名的计算机,您可能会收到“重复的计算机名称”消息。如果您可以将备份环境与 NetBIOS 的生产环境隔离开来,那么这将不成问题。
另外,请注意,设置了别名的服务器与真实的使用 NetBIOS 名称登录服务器计算机。您必须“连接”到真实的如果您需要该功能,可以通过 IP 地址从备份服务器获取服务器计算机。
答案4
我不确定我是否误解了这个问题,但我想知道是否微软DFS是否可以用于这种场景?