NFS 网络文件系统配置指南:从基础到实战

NFS是基于TCP/IP的网络文件系统协议,可将一台机器的目录/文件通过网络共享给其他机器,客户端能像访问本地目录一样操作远程共享资源。

一、基础核心

核心前提:客户端与服务端需正常通信(能ping通、端口可访问)。

跨网段共享:默认网段不同无法直接共享,可通过网络路由、防火墙策略打通连通性。

二、环境准备

服务器(共享目录主服务器):<192.168.10.130>

客户端(访问共享资源):<192.168.10.133>

依赖软件:nfs-utils(NFS核心工具)、rpcbind(端口映射服务)

三、配置步骤(服务器端)

1. 安装 nfs-utils、rpcbind

Bash 复制代码
yum install -y nfs-utils recbind

2. 设置共享目录

创建共享目录:mkdir -p /root/gongxiang

赋予最大权限(确保客户端可访问):chmod 777 /root/gongxiang

3. 修改配置文件(/etc/exports)

格式:共享目录位置 客户端地址(权限选项)

复制代码
vim /etc/exports

/root/gongxiang 192.168.10.0/24(rw,sync,no_root_squash)
共享目录位置      客户端网段
rw代表可读可写
sync代表同步到内存与硬盘
no_root_squash代表以root身份访问时赋予本地root权限

4. 启动服务与设置自启

关闭防火墙和SELinux(避免拦截):

Bash 复制代码
systemctl stop firewalld
setenforce 0

启动服务(先rpcbind后nfs):

Bash 复制代码
先开启rpcbind
systemctl start rpcbind
再开启nfs
systemctl start nfs

设置开机自启:

Bash 复制代码
systemctl enable rpcbind
systemctl enable nfs

查看端口启动情况

复制代码
netstat -natp | gerp rpcbind
netstat -natp | gerp 111

5. 发布与查看共享

发布共享:exportfs -rv

查看本机共享:showmount -e

四、配置步骤(客户端)

1. 安装依赖与启动服务

安装软件:yum install -y nfs-utils rpcbind

关闭防火墙和SELinux:同服务器端操作

启动服务:systemctl start rpcbind && systemctl start nfs

2. 查看服务器共享目录

Bash 复制代码
查看共享目录
showmount -e 192.168.10.130

3. 挂载共享目录

手动挂载:

Bash 复制代码
新建目录作为挂载目录
mkdir /gx

对共享目录进行手动挂载
mount 192.168.10.130:/root/gongxiang /gx

查看挂载结果
df -Th

自动挂载(开机生效):

  1. 编辑配置文件:vim /etc/fstab

  2. 添加内容:192.168.10.130:/root/gongxiang /gx nfs defaults,_netdev 0 0

  3. 生效配置:mount -a(解除手动挂载:umount /gx)

    vim /etc/fstab

    192.168.10.130:/root/gongxiang /gx nfs defaults,_netdev 0 0
    要挂载的共享目录 挂载点 格式nfs netdev表示挂载需要网络

    #解除手动挂载
    umount /gx
    查看挂载情况
    df -Th

    重新加载自动挂载配置文件
    mount -a
    查看挂载情况
    df -Th

4. 验证共享成功

服务器端:cd /root/gongxiang && vim 1.txt(写入测试内容)

客户端:cd /gx && cat 1.txt(能查看测试内容即成功)

五、关键权限选项说明

权限选项 说明
rw 允许客户端读写共享目录
ro 客户端仅能只读访问(默认)
sync 数据同步写入内存与硬盘,保证数据一致性
async 数据先存于内存缓冲区,必要时写入硬盘,效率高但有数据丢失风险
no_root_squash 客户端以root身份访问时,赋予本地root权限(默认是root_squash)
root_squash 客户端root用户映射为匿名用户
all_squash 所有访问用户均映射为匿名用户或用户组
no_subtree_check 不检查共享子目录的父目录权限,提升效率
anonuid=xxx 指定匿名用户的UID(对应服务器/etc/passwd文件)
anongid=xxx 指定匿名用户的GID(对应服务器/etc/passwd文件)
享子目录的父目录权限,提升效率
anonuid=xxx 指定匿名用户的UID(对应服务器/etc/passwd文件)
anongid=xxx 指定匿名用户的GID(对应服务器/etc/passwd文件)
相关推荐
是jin奥18 分钟前
Ubuntu 访问 Windows 共享目录
linux·运维·ubuntu
Gauss松鼠会19 分钟前
【GaussDB】破除gaussdb ugin索引支持中文模糊查询的迷思-字符序
java·运维·服务器·网络·数据库·gaussdb·经验总结
科技象限22 分钟前
数据防泄密系统怎么选?看它怎么把几道防线叠成网
运维·安全·网络安全·安企神
luiyarch23 分钟前
汽车电子ISO 21448 SOTIF系列(第26期):未知危险场景的确认方法(下)——AI驱动的场景发现
网络·人工智能·安全·车载系统·汽车
砚凝霜32 分钟前
【软考信息安全】第十六章 网络安全风险评估项目流程与应用
网络·安全·web安全
Mr_韩36 分钟前
子网路由实战:无需公网 IP,异地直接访问家庭内网全部设备
运维·网络·物联网·nas
Bruce_Liuxiaowei36 分钟前
内网“影子资产“:串口服务器安全盲区剖析
服务器·网络·安全·iot
星恒随风40 分钟前
Linux基础IO万字详解:从文件描述符fd到重定向、FILE缓冲机制及MiniShell升级
linux·运维·笔记·学习·状态模式
yunwei371 小时前
eBPF 入门开发实践教程一:Hello World,基本框架和开发流程
linux·后端·性能优化
小雪崩1 小时前
嵌入式学习 day65:Linux驱动进阶——pinctrl 子系统和 platform 驱动框架
linux·学习·驱动