暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

windows 挂载 nfs

原创 手机用户1277 2024-12-31
1550

在 CentOS 上设置 NFS 共享并确保 Windows 客户端能够挂载该共享时,需要确保 NFS 服务所需的端口已经开放并且正确配置。以下是配置 CentOS 服务器并确保它允许 Windows 客户端访问 NFS 共享的步骤:

1. NFS 服务所需的端口

NFS 和其依赖的 RPC 服务使用以下端口:

  • RPC 端口映射器:端口 111(TCP 和 UDP)
  • NFS 服务:端口 2049(TCP 和 UDP)
  • Mountd 服务:动态分配端口,通常是 20048(TCP 和 UDP)
  • RPC 的锁服务:端口 4045(TCP 和 UDP)
  • NFS 相关的其他服务(如 statd:端口 32803(TCP 和 UDP)

2. 配置 CentOS 防火墙

确保 CentOS 的防火墙允许这些端口通过。你可以使用 firewalld(CentOS 7 及以上版本)来配置防火墙规则,或者使用 iptables

使用 firewalld 开放端口:

  1. 首先,确认 firewalld 服务正在运行:
bash


复制代码
sudo systemctl status firewalld
  1. 然后,开启 NFS 所需的端口:
bash


复制代码
sudo firewall-cmd --permanent --zone=public --add-port=111/tcp
sudo firewall-cmd --permanent --zone=public --add-port=111/udp
sudo firewall-cmd --permanent --zone=public --add-port=2049/tcp
sudo firewall-cmd --permanent --zone=public --add-port=2049/udp
sudo firewall-cmd --permanent --zone=public --add-port=20048/tcp
sudo firewall-cmd --permanent --zone=public --add-port=20048/udp
sudo firewall-cmd --permanent --zone=public --add-port=4045/tcp
sudo firewall-cmd --permanent --zone=public --add-port=4045/udp
sudo firewall-cmd --permanent --zone=public --add-port=32803/tcp
sudo firewall-cmd --permanent --zone=public --add-port=32803/udp
  1. 重新加载防火墙配置:
bash


复制代码
sudo firewall-cmd --reload

使用 iptables 开放端口:

如果你使用的是 iptables,你可以手动打开这些端口:

bash


复制代码
sudo iptables -A INPUT -p tcp --dport 111 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 111 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 2049 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20048 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 20048 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 4045 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4045 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 32803 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 32803 -j ACCEPT

3. 配置 NFS 服务

确保 CentOS 上的 NFS 服务和相关服务已启动,并配置正确。

  1. 安装 NFS 相关软件包(如果未安装):
bash


复制代码
sudo yum install nfs-utils
  1. 启动并使 NFS 服务开机启动:
bash


复制代码
sudo systemctl start nfs-server
sudo systemctl enable nfs-server
  1. 确保 NFS 相关服务也正在运行(rpcbindmountdnfs 等):
bash


复制代码
sudo systemctl start rpcbind
sudo systemctl enable rpcbind
  1. 检查 NFS 共享目录是否正确配置:
    • 编辑 /etc/exports 文件,确保共享目录正确配置。例如:
bash


复制代码
/path/to/share *(rw,sync,no_root_squash)

这表示将 /path/to/share 目录共享给所有主机(*),并允许读写。

  1. 重新导出 NFS 共享:
bash


复制代码
sudo exportfs -a
  1. 检查 NFS 服务状态:
bash


复制代码
sudo systemctl status nfs-server

4. 在 Windows 上挂载 CentOS 的 NFS 共享

  1. 确保你已经启用了 Windows 上的 NFS 客户端功能。
    • 你可以通过以下命令在 PowerShell 中启用:
powershell


复制代码
Enable-WindowsOptionalFeature -Online -FeatureName NFS-Client -All
  1. 使用 mount 命令挂载 NFS 共享:
cmd


复制代码
mount -o anon \\192.168.4.200\nfsdrive Z:
    • 192.168.4.200 替换为 CentOS 服务器的 IP 地址,nfsdrive 替换为实际共享目录,Z: 是本地 Windows 上的驱动器字母。

5. 确认共享成功

在 CentOS 上,执行以下命令确认共享目录已正确导出:

bash


复制代码
showmount -e 127.0.0.1

这将列出已共享的目录。如果共享目录列表正确,说明配置没有问题。


总结

  1. CentOS 防火墙配置:确保开放 RPC 映射端口(111)、NFS 服务端口(2049)及其它相关端口。
  2. CentOS NFS 配置:启动并配置 NFS 服务,正确设置共享目录。
  3. Windows 客户端:在 Windows 上启用 NFS 客户端并使用 mount 命令挂载共享。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论