Skip to main content

NFS 服务器

配置 NFS 服务器以共享网络上的目录。
此示例基于如下环境。
+------------------------+ | +------------------------+
| [NFS 服务器] |10.0.0.30 | 10.0.0.51| [NFS 客户端] |
| dlp.srv.world +----------+----------+ node01.srv.world |
| | | |
+----------+ +----------+

[1] 配置 NFS 服务器

[root@dlp ~]# dnf -y install nfs-utils
[root@dlp ~]# vi /etc/idmapd.conf
# line 5 : uncomment and change to your domain name
Domain = srv.world
[root@dlp ~]# vi /etc/exports
# create new
# for example, set [/home/nfsshare] as NFS share
/home/nfsshare 10.0.0.0/24(rw,no_root_squash)
[root@dlp ~]# mkdir /home/nfsshare
[root@dlp ~]# systemctl enable --now rpcbind nfs-server

 

[2] 如果 Firewalld 正在运行,则允许 NFS 服务

[root@dlp ~]# firewall-cmd --add-service=nfs --permanent
success
# if use NFSv3, allow follows, too
[root@dlp ~]# firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent
success
[root@dlp ~]# firewall-cmd --reload
success

出口的基本选择

选项 描述
rw 允许 NFS 卷上的读取和写入请求。
ro 仅允许 NFS 卷上的读取请求。
sync 仅在将更改提交到稳定存储后才回复请求。(默认)
async 此选项允许 NFS 服务器违反 NFS 协议并在请求所做的任何更改提交到稳定存储之前回复请求。
secure 此选项要求请求源自小于 IPPORT_RESERVED (1024) 的 Internet 端口。(默认)
insecure 此选项接受所有端口。
wdelay 如果怀疑另一个相关的写入请求可能正在进行中或可能很快到达,则稍微延迟将写入请求提交到磁盘。(默认)
no_wdelay 如果还设置了异步,则此选项无效。如果 NFS 服务器怀疑另一个相关的写入请求可能正在进行中或可能很快到达,它通常会稍微延迟向磁盘提交写入请求。这允许通过一个可以提高性能的操作将多个写入请求提交到磁盘。如果 NFS 服务器主要接收小的无关请求,则此行为实际上会降低性能,因此可以使用 no_wdelay 将其关闭。
subtree_check 此选项启用子树检查。(默认)
no_subtree_check 此选项禁用子树检查,这具有轻微的安全隐患,但在某些情况下可以提高可靠性。
root_squash 将请求从 uid/gid 0 映射到匿名 uid/gid。请注意,这不适用于可能同样敏感的任何其他 uid 或 gid,例如用户 bin 或组人员。
no_root_squash 关闭根挤压。此选项主要用于无磁盘客户端。
all_squash 将所有 uid 和 gid 映射到匿名用户。对于 NFS 导出的公共 FTP 目录、新闻假脱机目录等很有用。
no_all_squash 关闭所有挤压。(默认)
anonuid=UID 这些选项显式设置匿名帐户的 uid 和 gid。此选项主要用于 PC/NFS 客户端,您可能希望所有请求都来自一个用户。例如,考虑下面示例部分中 /home/joe 的导出条目,它将所有请求映射到 uid 150。
anongid=GID 阅读上文(annuid=UID)