一、NFS 简介
NFS(Network File System) 是一种分布式文件系统协议,允许用户通过网络在不同主机间共享文件和目录。它适用于局域网环境,常用于服务器集群、数据共享等场景。本文详细介绍 NFS 服务端与客户端的安装、配置及挂载流程。
介绍在 Linux 系统中部署 NFS(网络文件系统)的完整流程。涵盖服务端安装(CentOS/Ubuntu)、共享目录创建、exports 配置及防火墙设置;客户端工具安装、手动与自动挂载方法;以及版本指定、用户映射、日志排查和常见问题解决。通过合理配置权限与安全策略,实现局域网内高效稳定的文件共享。

NFS(Network File System) 是一种分布式文件系统协议,允许用户通过网络在不同主机间共享文件和目录。它适用于局域网环境,常用于服务器集群、数据共享等场景。本文详细介绍 NFS 服务端与客户端的安装、配置及挂载流程。
根据 Linux 发行版选择命令:
CentOS/RHEL
sudo yum install nfs-utils # CentOS 7
sudo dnf install nfs-utils # CentOS 8+/RHEL
Ubuntu/Debian
sudo apt update && sudo apt install nfs-kernel-server
sudo mkdir -p /mnt/nfs_share
sudo chown nobody:nogroup /mnt/nfs_share # 设置权限(根据需要调整)
编辑配置文件 /etc/exports,定义共享目录及访问权限:
# 语法:<共享目录> <客户端 IP/网段>(权限选项)
/mnt/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)
rw:读写权限。ro:只读权限。sync:同步写入磁盘(数据安全性高)。async:异步写入(性能更好,但可能丢失数据)。no_root_squash:允许客户端 root 用户保留权限(谨慎使用)。示例:
/mnt/nfs_share *(rw,sync,no_root_squash)
sudo exportfs -a # 重新加载 exports 配置
sudo systemctl start nfs-server # 启动服务
sudo systemctl enable nfs-server # 设置开机自启
开放 NFS 相关端口(NFSv4 默认使用 TCP 2049):
sudo ufw allow 2049/tcp # Ubuntu
sudo firewall-cmd --permanent --add-service=nfs && firewall-cmd --reload # CentOS
CentOS/RHEL
sudo yum install nfs-utils
Ubuntu/Debian
sudo apt install nfs-common
sudo mkdir -p /mnt/nfs_client
sudo mount -t nfs <服务端 IP>:/mnt/nfs_share /mnt/nfs_client
示例:
sudo mount -t nfs 192.168.1.100:/mnt/nfs_share /mnt/nfs_client
编辑 /etc/fstab 文件,添加以下行:
<服务端 IP>:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
示例:
192.168.1.100:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
df -h | grep nfs # 查看挂载状态
touch /mnt/nfs_client/test.txt # 测试读写权限
挂载时强制使用 NFSv4:
sudo mount -t nfs -o vers=4 192.168.1.100:/mnt/nfs_share /mnt/nfs_client
在服务端 /etc/exports 中配置 anonuid 和 anongid:
/mnt/nfs_share 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
客户端:
showmount -e <服务端 IP>
服务端:
showmount -e localhost # 查看已导出的共享目录
/var/log/syslog(Ubuntu)或 /var/log/messages(CentOS)。dmesg | grep nfs。/etc/exports 的权限配置。rpcbind 端口)。rpcinfo -p <服务端 IP> 检查 RPC 服务状态。no_all_squash 或指定 anonuid/anongid。NFS 是 Linux 环境中高效的文件共享解决方案。通过配置服务端导出规则、客户端挂载目录,并合理设置权限与防火墙规则,即可实现稳定可靠的网络存储。对于生产环境,建议结合 Kerberos 增强安全性,并定期监控 NFS 性能。
注意:NFS 默认不加密传输数据,公网环境建议使用 VPN 或 SSH 隧道保护通信。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online