我在一台只能通过 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 文件往往会被遗忘,并在以后引起问题。