我已经尝试了好几天来解决这个问题,但我在网上到处都找不到一个明确的答案,因此这里是简要介绍:
我的 ubuntu 12.04 机器上连接了一个外部驱动器“nicholas-desktop”。我通过 SAMBA 在网络上共享了整个驱动器。如果我尝试使用“\nicholas-desktop”从 Windows 7 访问该驱动器,它会失败,提示找不到“nicholas-desktop”。但是,如果我通过键入“\192.168.2.XXX”使用路由器的 DHCP 服务器分配给我的机器的当前 IP 地址,我就可以毫无问题地访问共享。如果我尝试从 Windows ping 我的 ubuntu 机器的主机名,它会失败。
如果我尝试从我的 ubuntu 机器 ping 我的 windows 机器“nicholas-laptop”,也会发生同样的情况。同样,如果我使用任一机器分配的 IP 地址,它都可以正常工作。有人能帮我让它工作吗?我不想使用任何变通方法,例如设置静态 IP 或 DHCP 保留,我希望能够从两侧解析主机名。我尝试启用 SAMBA 的 WINS 服务器,以便我可以使用 netBIOS 解析主机名,但这也没有用,不过我可能在设置时犯了一个错误。
答案1
嗨,有几点想法,
- 您不需要 Windows 共享的名称来访问。
\\<desktop_ip_address>\nicholas_share
工作同样良好。 - 正如其他人指出的那样,您没有 DNS 服务器来将名称解析为 IP。如果您的路由器充当 DNS 服务器,因为它执行 DHCP,请检查它是否有任何选项可以将名称添加到 IP,或者在 DHCP 上注册主机名。这完全取决于路由器。
- 如何保留桌面的当前 IP。如果桌面充当服务器,则它应该具有保留的租用 IP 地址或静态 IP 地址。名称一旦缓存到 IP,有时就会保持缓存状态,而当 IP 发生变化时,就会发生奇妙的事情。
- 您是否检查过 Windows 是否已为家庭网络启用网络发现? 否则 Windows SMB 客户端会表现得怪异和古怪。
答案2
Windows Live Signin Assistant 可能会导致该问题。我在 Google 上找到了它,删除了它,问题就解决了。现在我在运行 Ubuntu 的新笔记本电脑上又遇到了这个问题。可以从 Ubuntu 访问 Windows 机器上的共享,但不能反过来。
我认为大量的 Windows 更新会重现这个问题,但目前我还不知道。Windows 登录助手已经消失了。
答案3
似乎完全忽略了这一点。将 IP 地址解析为主机名是通过 DNS 完成的。运行 DNS 服务器,您的问题就会得到解决。