news 2026/4/19 18:03:39

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/4/18 8:14:54

企业Agent落地的可靠实践

Agent落地的可靠实践:工作流控稳定,自主规划提效率 在AI Agent落地过程中,“工作流模式保障核心业务稳定,自主规划模式承接效率型搜集整理任务”是兼顾可靠性与智能化的核心策略——前者让Agent成为“标准化业务的执行者”&#x…

作者头像 李华
网站建设 2026/4/18 3:12:22

【资源对接会哪个靠谱】落地执行与效果验证:一套可复用的筛选方

资源对接会哪个靠谱?落地执行与效果验证:一套可复用的筛选方法论 在当前经济环境下,资源对接会已成为中小企业主、创业者及产业运营者获取合作机会、拓展业务网络的重要渠道。然而,市场上各类对接会鱼龙混杂,参会成本…

作者头像 李华
网站建设 2026/4/18 12:09:09

Docker容器网络全栈学习路径

一、Docker网络基础概念与核心原理 Docker网络架构是容器间通信和与外部系统交互的核心机制,通过虚拟化网络设备和命名空间为每个容器提供独立的网络栈。Docker利用Linux的网络命名空间实现容器间的网络隔离,每个容器拥有独立的网络接口、路由表和端口空间。容器内部的eth0接…

作者头像 李华
网站建设 2026/4/18 12:08:53

如何用PrivateGPT轻松搞定超长文档处理?

在日常工作和学习中,我们常常需要处理各种超长文档——可能是上百页的技术手册、复杂的学术论文,或者是堆积如山的商业报告。面对这些海量信息,传统的人工阅读方式效率低下,而普通的AI工具又往往因为上下文窗口限制而无法全面理解…

作者头像 李华
网站建设 2026/4/17 23:43:01

Jupyter Notebook滚动卡顿终极解决方案:告别闪烁困扰

Jupyter Notebook滚动卡顿终极解决方案:告别闪烁困扰 【免费下载链接】notebook Jupyter Interactive Notebook 项目地址: https://gitcode.com/GitHub_Trending/no/notebook 在使用Jupyter Notebook进行数据分析和编程学习时,很多用户都遭遇过令…

作者头像 李华
网站建设 2026/4/18 12:09:02

搭建本地支持联网推理助手(附源码)

20251212_搭建本地支持联网推理助手 一、问题 搭建本地助手,提升工作效率。 二、代码 import json import os import warnings import gradio as gr import requestsAUTHORIZATION "Bearer XXXXXXXXXXX" PROXIES {https: http://XXXXXXXXXXX8080, # 替…

作者头像 李华