无法在 Windows 10 上挂载 CentOS NFS 共享-“网络错误-53”

无法在 Windows 10 上挂载 CentOS NFS 共享-“网络错误-53”

我正在运行一个 CentOS 8 虚拟机(192.168.10.203nfs-server,并且我正尝试在我的 Windows 10 Pro x86_64 机器上挂载共享(192.168.10.10我已经安装了“NFS 服务”Windows 功能),但是当我运行时mount \\<nfs_server_IP>\data N:,我一直收到此错误:

网络错误 - 53

输入“NET HELPMSG 53”以获取更多信息。

网络错误 53 的消息是“未找到网络路径”,但我不确定这是什么意思。

这是我/etc/exports在 CentOS 机器上的样子:

/data 192.168.10.0/24(rw,sync,root_squash,insecure,anonuid=0,anongid=0)

我也尝试过最低限度的选择:

/data 192.168.10.0/24(rw,sync)

CentOS 和 Windows 10 机器都可以互相 ping 通。

我可以连接到端口 2049 上的 NFS 服务器

rpcinfo -p localhost在 NFS 机器上运行的输出:

$ rpcinfo -p localhost
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100024    1   udp  39181  status
        100024    1   tcp  38357  status
        100005    1   udp  20048  mountd
        100005    1   tcp  20048  mountd  
        100005    2   udp  20048  mountd
        100005    2   tcp  20048  mountd
        100005    3   udp  20048  mountd
        100005    3   tcp  20048  mountd
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    3   tcp   2049  nfs_acl
        100021    1   udp  53482  nlockmgr
        100021    3   udp  53482  nlockmgr
        100021    4   udp  53482  nlockmgr
        100021    1   tcp  39197  nlockmgr
        100021    3   tcp  39197  nlockmgr
        100021    4   tcp  39197  nlockmgr

我可以insecure选择/etc/exports尝试在 Windows Server 2008 客户端中挂载 NFS 共享时出现“网络错误 - 53”.没用。

我尝试禁用两个主机上的防火墙,但没有结果(systemctl disable firewalld && iptables --flush在 CentOS 机器上,并禁用两个 Windows Defender 防火墙(公共和私有网络防火墙)。

有任何想法吗?

答案1

在Linux部分- 确保您的 NFS 服务器配置正确:

  • 应该安装 nfs-utils 和 nfs-utils-lib

  • 应启用 rpcbind、nfs-server、nfs-lock、nfs-idmap

  • 应启动 rpcbind、nfs-server、nfs-lock、nfs-idmap

  • 选择要共享的目录

  • 确保您的用户可以访问其目录中的所有内容

  • 获取您计划使用的用户UIDGID

  • 获取 Windows 10 NFS 客户端的 IP 地址

  • 编辑导出文件(etc/exports)并添加你将使用的用户:/home/user 192.168.1.2(rw,sync,root_squash,all_squash,anonuid=1001,anongid=1001)- 注意:ID 是之前获得的

  • 重新启动服务systemctl restart nfs-server

  • 获取正确的端口rpcinfo -p

  • 将它们添加到防火墙

在窗口部分:

  • 确保安装了 NFS 客户端

  • 现在,您需要在服务器和客户端上匹配先前拉取的 UID 和 GID(Linux 部分示例中为 1001)

  • 注册到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default

  • 您需要通过右键单击 Default 键来创建两个新的 DWORD(32 位)条目。它们应命名为“AnonymousGid”和“AnonymousUid”。它们都应具有与您之前获得的用户 GID 和 UID 匹配的十进制值(示例中为 1001)

  • 使用以下命令在 Windows 10 客户端上重新启动 NFS 服务:

    nfsadmin 客户端 HOSTNAME 配置区分大小写=是

    nfsadmin 客户端 HOSTNAME 停止

    nfsadmin 客户端 HOSTNAME 启动

  • 最后,制作你的坐骑:mount -o anon \\192.168.1.3\home\storage\ X:

您应该会收到一条成功挂载的消息。

答案2

这为我解决了这个问题:

NFS 仅在 NFS v4 下运行 - 向 Linux 服务器添加 v2/3 服务解决了该问题,我可以挂载 NFS。

答案3

在我的情况下,即使我允许端口 111、2049 和 20048 通过,防火墙也会导致这种情况。我刚刚完全打开了两台服务器之间的防火墙,它就起作用了,所以我不确定需要打开哪些端口。

我认为按照这个建议设置静态端口然后打开它们也会起作用: https://askubuntu.com/questions/1313682/set-static-ports-for-nfs-v3-on-ubuntu-20-x-server

答案4

当 NFS 磁盘已安装时,这种情况就发生在我身上。它没有在资源管理器中列出,因为我从提升的 cmd 终端安装了它。在 Windows 上,安装 NFS 磁盘通常不需要提升权限。

相关内容