4.12. 配置支持 mutual TLS 的 NFS 客户端


如果服务器支持带有 TLS 加密的 NFS,您可以配置 NFS 服务器和客户端,以使用 TLS 协议相互验证。

先决条件

流程

  1. 创建私钥和证书签名请求(CSR):

    # openssl req -new -newkey rsa:4096 -noenc \
    -keyout /etc/pki/tls/private/client.example.com.key \
    -out /etc/pki/tls/private/client.example.com.csr \
    -subj "/C=US/ST=State/L=City/O=Organization/CN=client.example.com" \
    -addext "subjectAltName=DNS:client.example.com,IP:192.0.2.2"
    Copy to Clipboard
    重要

    通用名称(CN)和 DNS 必须与主机名匹配。IP 必须与主机的 IP 匹配。

  2. /etc/pki/tls/private/client.example.com.csr 文件发送到证书颁发机构(CA)并请求客户端证书。将收到的 CA 证书和客户端证书存储在主机上。
  3. 将 CA 证书导入到系统的信任存储中:

    # cp ca.crt /etc/pki/ca-trust/source/anchors
    # update-ca-trust
    Copy to Clipboard
  4. 将客户端证书移到 /etc/pki/tls/certs/ 目录中:

    # mv client.example.com.crt /etc/pki/tls/certs/
    Copy to Clipboard
  5. 确保 SELinux 上下文在私钥和证书上正确:

    # restorecon -Rv /etc/pki/tls/certs/
    Copy to Clipboard
  6. 将客户端证书和私钥添加到 /etc/tlshd.conf 文件的 [authenticate.client] 部分:

    x509.certificate= /etc/pki/tls/certs/client.example.com.crt
    x509.private_key= /etc/pki/tls/private/client.example.com.key
    Copy to Clipboard

    保留 x509.truststore 参数未设置。

  7. 启用并启动 tlshd 服务:

    # systemctl enable --now tlshd.service
    Copy to Clipboard
  8. 使用 TLS 加密挂载 NFS 共享:

    # mount -o xprtsec=mtls server.example.com:/nfs/projects/ /mnt/
    Copy to Clipboard

验证

  • 验证客户端是否成功挂载了带有 TLS 支持的 NFS 共享:

    # journalctl -u tlshd
    …
    Apr 01 08:37:56 client.example.com tlshd[10688]: Handshake with server.example.com (192.0.2.1) was successful
    Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat