我正在运行一个 CentOS 8 虚拟机(192.168.10.203
)nfs-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
选择要共享的目录
确保您的用户可以访问其目录中的所有内容
获取您计划使用的用户
UID
的GID
获取 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 磁盘通常不需要提升权限。