2.7. 配置只使用 NFSv4 的服务器


如果您的网络中没有任何 NFSv3 客户端,则您可以配置 NFS 服务器,以只支持 NFSv4 或其特定的次协议版本。在服务器上仅使用 NFSv4 可减少向网络开放的端口数量。

流程

  1. 安装 nfs-utils 软件包:

    # dnf install nfs-utils
    Copy to Clipboard Toggle word wrap
  2. 编辑 /etc/nfs.conf 文件,并进行以下更改:

    1. [nfsd] 部分中禁用 vers3 参数来禁用 NFSv3:

      [nfsd]
      vers3=n
      Copy to Clipboard Toggle word wrap
    2. 可选:如果您只需要特定的 NFSv4 次版本,请取消所有 vers4.<minor_version> 参数的注释,并相应地设置它们,例如:

      [nfsd]
      vers3=n
      # vers4=y
      vers4.0=n
      vers4.1=n
      vers4.2=y
      Copy to Clipboard Toggle word wrap

      使用这个配置,服务器仅提供 NFS 版本 4.2。

      重要

      如果您只需要特定的 NFSv4 次版本,则只为次版本设置参数。不要取消 vers4 参数的注释,以避免不可预测地激活或停用次版本。默认情况下,vers4 参数启用或禁用所有 NFSv4 次版本。但是,如果您将 vers4 与其他 vers 参数一起设置了,则此行为会改变。

  3. 禁用所有与 NFSv3 相关的服务:

    # systemctl mask --now rpc-statd.service rpcbind.service rpcbind.socket
    Copy to Clipboard Toggle word wrap
  4. rpc.mountd 守护进程配置为不侦听 NFSv3 挂载请求。使用以下内容创建 /etc/systemd/system/nfs-mountd.service.d/v4only.conf 文件:

    [Service]
    ExecStart=
    ExecStart=/usr/sbin/rpc.mountd --no-tcp --no-udp
    Copy to Clipboard Toggle word wrap
  5. 重新加载 systemd 管理器配置,并重启 nfs-mountd 服务:

    # systemctl daemon-reload
    # systemctl restart nfs-mountd
    Copy to Clipboard Toggle word wrap
  6. 可选:创建一个您要共享的目录,例如:

    # mkdir -p /nfs/projects/
    Copy to Clipboard Toggle word wrap

    如果要共享一个现有的目录,请跳过这一步。

  7. /nfs/projects/ 目录设置您需要的权限:

    # chmod 2770 /nfs/projects/
    # chgrp users /nfs/projects/
    Copy to Clipboard Toggle word wrap

    这些命令在 /nfs/projects/ 目录上为 users 组设置写权限,并确保对此目录中创建的新条目自动设置同样的组。

  8. 对您要共享的每个目录添加一个到 /etc/exports 文件的导出点:

    /nfs/projects/     192.0.2.0/24(rw) 2001:db8::/32(rw)
    Copy to Clipboard Toggle word wrap

    此条目共享 /nfs/projects/ 目录,以使 192.0.2.0/242001:db8::/32 子网中的客户端具有读和写访问权限。

  9. firewalld 中打开相关端口:

    # firewall-cmd --permanent --add-service nfs
    # firewall-cmd --reload
    Copy to Clipboard Toggle word wrap
  10. 启用并启动 NFS 服务器:

    # systemctl enable --now nfs-server
    Copy to Clipboard Toggle word wrap

验证

  • 在服务器上,验证服务器是否只提供您配置的 NFS 版本:

    # cat /proc/fs/nfsd/versions
    -3 +4 -4.0 -4.1 +4.2
    Copy to Clipboard Toggle word wrap
  • 在客户端上,执行以下步骤:

    1. 安装 nfs-utils 软件包:

      # dnf install nfs-utils
      Copy to Clipboard Toggle word wrap
    2. 挂载一个导出的 NFS 共享:

      # mount server.example.com:/nfs/projects/ /mnt/
      Copy to Clipboard Toggle word wrap
    3. 以是 users 组成员的用户身份,在 /mnt/ 中创建一个文件:

      # touch /mnt/file
      Copy to Clipboard Toggle word wrap
    4. 列出目录,以验证该文件是否被创建:

      # ls -l /mnt/
      total 0
      -rw-r--r--. 1 demo users 0 Jan 16 14:18 file
      Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat