![为什么我无法从 Windows 中找到 Ubuntu 客户端计算机上的 NFS 共享位置?](https://linux22.com/image/191577/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E4%BB%8E%20Windows%20%E4%B8%AD%E6%89%BE%E5%88%B0%20Ubuntu%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%8A%E7%9A%84%20NFS%20%E5%85%B1%E4%BA%AB%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
我已关注这在 Ubuntu 20 上配置 NFS 的链接,
但是当我尝试使用我的 Windows 机器以格式访问服务器 IP 时//server_IP/
,出现错误
Windows 找不到
server_IP
.确保正确输入名称。
我不知道如何纠正这个问题。
注意:我曾经nginx
托管共享位置,并且可以通过服务器 IP 在浏览器中查看共享位置。
请推荐一下,谢谢
答案1
Windows默认的文件共享协议不是NFS而是SMB。当您\\hostname-or-IP\share_name
在 Windows 资源管理器中键入内容时,您会要求 Windows 连接到指定主机上的指定 SMB 文件(或打印机)共享。
Windows 10 可以使用 NFS...如果你安装了选修的NFS 附加服务,可能仅适用于 Windows 10 的企业版和专业版。
即使你安装了它,除非两个系统都加入到一个 AD 域中,否则 Linux NFS 服务器无法识别 Windows 用户,因此无法指定一个 Windows 用户可以访问 NFS 上的某些内容分享而他人可能不分享;这基本上是要么全有要么全无的局面。
虽然配置 Windows 与 Unix&Linux SE 无关,但这里有一个链接描述了如何将 Windows 10 配置为基本 NFS 客户端: https://graspingtech.com/mount-nfs-share-windows-10/
请注意,该过程包括注册表编辑,因此用户界面不太友好。
相反,我建议将 Samba 软件包安装到 Ubuntu 服务器上,并使用 Windows 的本机 SMB 协议来共享磁盘位置。
然而,有一个复杂的情况:由于 Microsoft 正在弃用 SMB 协议版本 1(简称 SMBv1)及其 NetBIOS 功能,SMB 协议的部分允许以\\hostname-or-ip\
非方式浏览网络共享(即仅连接并查看该主机上可用的内容)。 -Active Directory 环境正在被禁用并最终被删除。
(重新启用 SMBv1 仍然是可能的,但是非常不推荐因为 SMBv1 的固有缺陷使得 WannaCry 勒索蠕虫在 2017 年在全球范围内如此迅速地传播。原始蠕虫使用的特定漏洞已被修补,但同一技术可能还有其他变体,因为 SMBv1 是/非常复杂,而 SMBv2 是该协议的彻底简化和优化。)
为了解决这个问题,Microsoft 引入了一种新协议,用于在非 AD 环境中宣布和发现网络共享。该协议尚未与 Samba 集成,但是一个单独的 wsdd2 守护进程可以读取您的 Samba 配置并提供必要的公告允许非 Active Directory Windows 系统找到您的 Samba 服务器并查看其可用的共享。
新的浏览协议称为 WS-Discover,它也存在一些安全问题。如果暴露在互联网上,您的系统可能会被用作针对其他主机的 DoS 攻击放大器。如果您使用wsdd2
,您应该在网络边界双向阻止任何到端口 3702 和 5355(UDP 和 TCP)的流量:您既不希望不受信任的 WS-Discover 消息进入您的网络,也不希望进入您自己的网络系统的 WS-Discover 消息泄露。