使用 nfs 服务共享目录的完整配置与挂载指南
环境说明
同一个局域网或者服务端有公网IP,例如:
- 服务端 IP 地址:10.135.5.108
- 服务端共享路径:/home/ysgz/共享文件
- 客户端 IP 地址:10.135.5.109
- 客户端挂载路径:/home/ysgz/108
服务端配置步骤
1. 安装 NFS 服务
确保服务端安装了 NFS 服务组件。
sudo apt update
sudo apt install nfs-kernel-server -y
2. 创建共享目录
创建需要共享的目录并设置权限。
备注:无创建需求,可共享已有的文件夹。
sudo mkdir -p /home/ysgz/共享文件
sudo chmod -R 777 /home/ysgz/共享文件
3. 配置共享
编辑 /etc/exports
文件,添加共享配置。
sudo vim /etc/exports
在文件末尾添加以下内容:
/home/ysgz/共享文件 *(rw,sync,no_root_squash,no_subtree_check)
4. 应用配置
重新导出 NFS 配置:
sudo exportfs -arv
验证导出状态:
sudo exportfs -v
正常输出应包含:
/home/ysgz/共享文件 *(rw,sync,wdelay,no_root_squash,no_subtree_check)
5. 启动 NFS 服务
确保 NFS 服务和相关组件正在运行。
sudo systemctl start nfs-server #启动服务
sudo systemctl enable nfs-server #设置开机自启
sudo systemctl status nfs-server #查询服务状态
6. 检查防火墙
确保服务端的防火墙允许以下端口,可忽略此步骤继续往下操作,若无法挂载再检查此部分:
- TCP 和 UDP 111(RPC 服务)
- TCP 2049(NFS 服务)
开启端口:
sudo ufw allow 111/tcp
sudo ufw allow 111/udp
sudo ufw allow 2049/tcp
然后重载防火墙规则:
sudo ufw reload
客户端配置步骤
1. 安装 NFS 客户端
确保客户端安装了 NFS 客户端工具,实际客户端为nfs-common
安装服务端会自动安装客户端
sudo apt update
sudo apt install nfs-kernel-server -y
2. 创建挂载点
在客户端创建挂载路径。
sudo mkdir -p /home/ysgz/108
sudo chmod -R 777 /home/ysgz/108
3. 挂载共享目录
挂载 NFS 共享目录到本地路径。
sudo mount -t nfs 10.135.5.108:/home/ysgz/共享文件 /home/ysgz/108
4. 验证挂载
运行以下命令查看是否挂载:
df -h
如果能正常列出挂载路径,则说明挂载成功。
5. 配置开机自动挂载(可选)
编辑客户端的 /etc/fstab
文件,末尾添加以下内容:
sudo vim /etc/fstab
10.135.5.108:/home/ysgz/网络共享 /home/ysgz/108 nfs defaults,nofail,x-systemd.automount 0 0
故障排查
1. 测试服务器端导出
在客户端测试服务器的共享状态:
showmount -e 10.135.5.108
正常输出应显示:
Export list for 10.135.5.108:
/home/ysgz/共享文件 10.135.5.109
2. 检查服务端日志
在服务端查看日志以诊断问题:
sudo tail -f /var/log/syslog
3. 手动指定协议版本
如果挂载遇到问题,可尝试手动指定 NFS 协议版本:
sudo mount -t nfs -o nfsvers=4 10.135.5.108:/home/ysgz/共享文件 /home/ysgz/108
sudo mount -t nfs -o nfsvers=3 10.135.5.108:/home/ysgz/共享文件 /home/ysgz/108
总结
通过以上步骤,您可以在服务端和客户端之间成功配置 NFS 共享服务,实现目录共享。
评论区