news 2026/6/25 2:03:19

Linux NFS 服务配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 地址、目录路径和权限设置。生产环境部署前建议在测试环境验证配置。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 13:34:48

3大痛点解析:Flink监控体系为何总是失效?终极解决方案来了!

你是否经历过Flink作业突然卡死却找不到原因?背压监控数据一片空白?检查点频繁失败却无从下手?这些困扰开发者的监控难题,本文将为你一一解决!🚀 【免费下载链接】flink 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/6/22 5:49:36

Latest:macOS应用更新的终极完整指南

Latest:macOS应用更新的终极完整指南 【免费下载链接】Latest A small utility app for macOS that makes sure you know about all the latest updates to the apps you use. 项目地址: https://gitcode.com/gh_mirrors/la/Latest Latest 是一款专为 macOS …

作者头像 李华
网站建设 2026/6/25 9:15:22

多语言代码质量检测神器:fuck-u-code的国际化实践解析

在全球化协作日益普及的软件开发环境中,代码质量工具的国际化支持已成为提升开发效率的关键要素。GitHub精选项目"fuck-u-code"作为一款基于Go语言构建的代码质量检测器,不仅能够精准评估代码的"屎山等级",更通过完善的国…

作者头像 李华
网站建设 2026/6/24 13:13:20

终极伺服系统设计指南:5步快速掌握电机控制核心技术

终极伺服系统设计指南:5步快速掌握电机控制核心技术 【免费下载链接】伺服系统设计指导PDF资源说明分享 《伺服系统设计指导》是一本专门针对电机运动控制领域的参考书籍。本书深入浅出地介绍了伺服系统的设计精髓,涵盖了从基础理论到实际应用的广泛知识…

作者头像 李华
网站建设 2026/6/25 9:42:38

5步快速上手GPT-2 XL:从零开始的AI写作实战指南

5步快速上手GPT-2 XL:从零开始的AI写作实战指南 【免费下载链接】gpt2-xl 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/gpt2-xl 还在为复杂的AI模型部署而头疼吗?🤔 想要快速掌握强大的文本生成能力却不知从何入手&…

作者头像 李华
网站建设 2026/6/24 17:19:33

windows不会自更新时应怎样处理?

当Windows自动更新功能失效时,这是一个需要认真对待的问题。系统无法获取安全补丁,会带来严重的安全风险。请按照以下从易到难、逐步排查的流程来解决问题。 第一步:基础检查与快速修复检查网络与时间 网络:确保网络连接正常&…

作者头像 李华