无法访问主机文件中定义的名称的网络共享

无法访问主机文件中定义的名称的网络共享

我在一台只能通过 IP 地址访问的机器上有一个网络共享。然后我在 hosts 文件中为 IP 定义了一个别名,这样我就可以使用它代替 IP,但我无法登录到共享,我只是一次又一次地收到登录提示。基本上是这样的:

\\172.17.0.48\SomeShare

有效,但是这个

\\myalias\SomeShare

没有。myalias 在 c:\windows\system32\drivers\etc\hosts 中定义为

172.17.0.48 myalias

而且我可以毫无问题地使用远程桌面的别名。

谁能告诉我为什么这对文件共享不起作用?

答案1

问题在于服务器不知道它应该响应发往别名的传入 SMB 流量。基本上,服务器不会“监听”针对别名的 SMB 请求。请按照本文中的步骤操作:

http://support.microsoft.com/kb/281308/

在文件服务器上禁用严格名称检查:

Registry location: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
DWORD name: DisableStrictNameChecking
DWORD value: 1

答案2

不幸的是,hosts 文件和 DNS 对于大多数服务来说都很好用,但基于 netbios 的请求却不行。我们也遇到过这个问题,如果您确实需要创建文件共享“别名”,那么我建议的最佳解决方案可能是实施 DFS。

如果这不可能,那么您可能需要探索设置 NFS 或 SSHfs 网关的可能性,其中任何一个都可以与您的别名配合使用。

答案3

原始海报在 10 年前就解决了这个问题,并将答案作为评论发布。

好吧,看来编辑器把我在共享开头的双反斜杠给搞坏了。测试:\someserver – Einar Egilsson 2010 年 2 月 1 日 8:40

答案4

为什么不使用机器的真实名称,这样您就不必禁用严格名称检查 (DisableStrictNameChecking)?或者,您确定无法将机器放入 DNS 吗?如果主机的 IP 发生变化,HOSTS 文件往往会被遗忘,并在以后引起问题。

相关内容