当前位置: 首页 > news >正文

Linux NFS 服务配置指南

一、Debian/Ubuntu 配置 NFS 服务器

1. 安装 NFS 服务组件

# 更新软件包列表apt-getupdate# 安装 NFS 服务器和客户端组件apt-getinstall-y nfs-kernel-server nfs-common

2. 创建共享目录并设置权限

# 创建共享目录(可按需修改路径)mkdir-p /mnt/nfs_share# 设置目录权限(根据需要调整)chmod755/mnt/nfs_share# 或设置为可写权限:chmod 777 /mnt/nfs_share

3. 配置 NFS 共享目录

# 编辑 exports 配置文件vim/etc/exports

添加以下配置(选择其中一种配置方式):

配置示例 1:允许所有客户端访问(生产环境慎用)

/mnt/nfs_share *(rw,sync,no_subtree_check)

配置示例 2:限制特定 IP 或网段访问

# 允许单个 IP /mnt/nfs_share 192.168.1.100(rw,sync,no_subtree_check) # 允许网段 /mnt/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check) # 允许多个客户端(用空格分隔) /mnt/nfs_share 192.168.1.100(rw,sync) 192.168.1.101(ro,sync)

4. 参数说明

  • rw:读写权限
  • ro:只读权限
  • sync:同步写入,数据更安全
  • async:异步写入,性能更好
  • no_subtree_check:禁用子树检查,提高性能
  • no_root_squash:信任客户端 root 用户(安全风险)
  • root_squash:将 root 用户映射为匿名用户(默认,更安全)

5. 启动并启用 NFS 服务

# 重新加载 exports 配置exportfs -ra# 启动 NFS 服务systemctl start nfs-kernel-server# 设置开机自启systemctlenablenfs-kernel-server# 查看服务状态systemctl status nfs-kernel-server

6. 验证配置

# 查看当前共享目录showmount -e localhost# 检查 exports 配置exportfs -v

二、CentOS/RHEL 配置 NFS 服务器

1. 安装 NFS 服务

# 安装 NFS 工具包yuminstall-y nfs-utils# 对于 CentOS 8/RHEL 8+dnfinstall-y nfs-utils

2. 创建并配置共享目录

# 创建共享目录mkdir-p /mnt/nfs_sharechmod755/mnt/nfs_share# 如果需要允许写入# chmod 777 /mnt/nfs_share# 或设置适当的用户/组权限

3. 配置 NFS 共享

vim/etc/exports

添加配置内容:

/mnt/nfs_share 192.168.1.0/24(rw,sync,no_root_squash)

4. 启动相关服务

# 启动 RPC 绑定服务systemctl start rpcbind systemctlenablerpcbind# 启动 NFS 服务systemctl start nfs-server systemctlenablenfs-server# 启动 NFS 锁定服务(可选)systemctl start nfs-lock systemctlenablenfs-lock# 重新加载配置exportfs -ra

5. 防火墙配置

# 查看防火墙状态systemctl status firewalld# 添加防火墙规则(如果使用 firewalld)firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-service=mountd firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --reload# 或者直接开放端口firewall-cmd --permanent --add-port=111/tcp firewall-cmd --permanent --add-port=2049/tcp firewall-cmd --permanent --add-port=2049/udp firewall-cmd --reload

6. 可选:配置固定端口(便于防火墙管理)

vim/etc/sysconfig/nfs

添加以下配置:

# NFS 固定端口配置 LOCKD_TCPPORT=4001 LOCKD_UDPPORT=4001 MOUNTD_PORT=4002 STATD_PORT=4003 RQUOTAD_PORT=4004

重启服务使配置生效:

systemctl restart nfs-config systemctl restart nfs-server

三、NFS 客户端配置

1. 安装客户端工具

Debian/Ubuntu:

apt-getinstall-y nfs-common

CentOS/RHEL:

yuminstall-y nfs-utils

2. 创建本地挂载点

mkdir-p /mnt/nfs_client

3. 测试 NFS 服务器连接

# 查看服务器共享的目录showmount -e192.168.1.100# 测试连接rpcinfo -p192.168.1.100

4. 手动挂载 NFS 共享

# 临时挂载mount-t nfs192.168.1.100:/mnt/nfs_share /mnt/nfs_client# 或使用 NFSv4(如果服务器支持)mount-t nfs4192.168.1.100:/mnt/nfs_share /mnt/nfs_client# 带参数的挂载(推荐)mount-t nfs -o rw,hard,intr,timeo=300,retrans=3192.168.1.100:/mnt/nfs_share /mnt/nfs_client

5. 自动挂载配置

vim/etc/fstab

添加以下行:

# NFS 自动挂载 192.168.1.100:/mnt/nfs_share /mnt/nfs_client nfs rw,hard,intr,timeo=300,retrans=3 0 0

测试自动挂载配置:

# 测试 fstab 配置是否正确mount-a# 查看挂载状态df-hmount|grepnfs

6. 挂载参数说明

  • rw:读写模式
  • ro:只读模式
  • hard:硬挂载,更稳定(推荐)
  • soft:软挂载,超时返回错误
  • intr:允许中断挂载操作
  • timeo=N:超时时间(十分之一秒)
  • retrans=N:重试次数
  • nfsvers=3:指定 NFS 版本

四、故障排查与常用命令

1. 服务状态检查

# 查看 NFS 服务状态systemctl status nfs-server# CentOSsystemctl status nfs-kernel-server# Debian# 查看 RPC 服务rpcinfo -p localhost# 查看当前挂载showmount -e localhost

2. 连接测试

# 测试服务器连接telnet192.168.1.1002049# 检查端口netstat-tulpn|grepnfs

3. 卸载 NFS

# 卸载挂载点umount/mnt/nfs_client# 强制卸载(如果设备忙)umount-f /mnt/nfs_client# 或umount-l /mnt/nfs_client# 延迟卸载

4. 日志查看

# 查看 NFS 相关日志tail-f /var/log/messages# CentOStail-f /var/log/syslog# Debian/Ubuntu# 查看内核日志dmesg|grepnfs

五、安全建议

  1. 最小权限原则:仅共享必要的目录
  2. IP 限制:使用具体 IP 或网段,避免使用*
  3. 使用安全选项
    • 避免使用no_root_squash
    • 考虑使用all_squash将所有用户映射为匿名用户
  4. 网络隔离:将 NFS 流量限制在内部网络
  5. 定期更新:保持 NFS 软件包最新
  6. 使用 NFSv4:相比 NFSv3 更安全,支持 Kerberos 认证

说明:在实际使用中,请根据具体需求和环境调整 IP 地址、目录路径和权限设置。生产环境部署前建议在测试环境验证配置。

http://www.cnnetsun.cn/news/16042.html

相关文章:

  • 告别低效内耗:2025中小企业办公新方式
  • 微信7.0.6提示升级问题解决方法
  • 大模型训练优化:5个内存效率提升技巧与实战配置指南
  • 英伟达发布OpenReasoning-Nemotron-32B:多智能体协作改写推理范式,32B参数刷新三大领域性能纪录
  • Lottie-Web实战指南:打造高性能动画应用
  • 思源宋体实战指南:从零到精通的字体应用全解析
  • 转载Centos7.9 MySQL 8.0 部署MGR高可用
  • Spring管理MyBatis Mapper接口的原理详解
  • ISO 19011-2018管理体系审核指南中文版资源详解
  • 第十届网络安全与信息工程国际会议(ICCSIE 2025)已被EI检索
  • MinerU API终极指南:3分钟快速上手PDF转Markdown神器
  • 12.12 作业
  • 简单上手的完整智能家居平台搭建指南
  • Linux 文件及用户的一些日常命令
  • 中央空调科普:从选型到维护全攻略,舒适生活的 “温度管家”
  • 3分钟极速部署:MuseScore跨平台音乐创作工具高效配置指南
  • 刚刚,DeepSeek又一重大突破,小身材大智慧玩出新高度
  • 计算广告:智能时代的营销科学与实践(八)
  • AI帮你做跨境!DeepBI助力亚马逊广告新手卖家实现质的飞跃
  • LCD字模工具终极对比:3款神器如何选择?
  • 终极收藏版:2025年最值得合作的GEO公司推荐,技术实力大揭秘!
  • QARM:多模态语义对齐与量化在推荐系统中的实践路径
  • AI 省钱双 buff:价格优化 + 优惠整合,省到实处
  • 用1/10的成本跑RAG?向量压缩+模型蒸馏+智能缓存实战指南
  • 毕业设计实战:基于SpringBoot+MySQL的机动车号牌管理系统,从0到1避坑全流程,导师都说稳!
  • 高密度互联:连接AI“积木”的精密桥梁
  • 2025十大项目管理工具揭晓:从轻量协作到企业级方案全解析
  • 26Java基础之特殊文本文件、日志技术
  • AI投喂Geo优化系统哪家经验丰富?深度解析行业领先服务商
  • 专业的煤矿水仓清淤公司