设置 NFS 服务器
本页面介绍如何在服务器和客户端配置网络文件系统 (NFS),包括 autofs 和 Kerberos 认证。
安装
为 NFS 客户端和 NFS 服务器服务安装以下软件包。
# apk add nfs-utils
配置
在 Alpine Linux 上设置 NFS 服务与其他 Linux 发行版没有什么不同。
NFS 服务器
在 IP 地址为 10.10.10.1 的服务器上,在 /etc/exports 中设置导出目录。例如
/etc/exports 的内容
编辑 /etc/exports 后,重新加载您的设置
# exportfs -afv
要使 NFS 服务器服务在启动时自动启动
# rc-update add nfs
要立即启动 NFS 服务器服务
# rc-service nfs start
NFS 客户端
要自动挂载 NFS 共享,需要在 /etc/fstab 中添加一个条目,如下所示
/etc/fstab 的内容
要在系统启动时从 /etc/fstab 文件挂载 nfs 共享
# rc-update add nfsmount
要立即从 /etc/fstab 文件挂载 nfs 共享
# rc-service nfsmount start
您可以检查您的启动服务
# rc-status
要使用 netmount,以下是等效命令
# rc-service netmount start # rc-update add netmount
使用 autofs
Autofs 是挂载像 NFS 这样的文件系统的另一种选择。Autofs 旨在提供按需挂载和各种其他文件系统的无竞争自动卸载。
确保已安装 autofs 软件包,如果尚未安装。
apk add autofs
在 /etc/auto.master 文件中添加一个条目,该条目指向一个映射文件,以定义 /mnt/nfs
目录的挂载点。例如
/etc/auto.master 的内容
创建映射文件 /etc/auto.nfs,将 NFS 共享 10.10.10.1:/data
映射到 /mnt/nfs/share
,如下所示
/etc/auto.nfs 的内容
启动并启用 autofs
# rc-update add autofs # rc-service autofs start
尽管 autofs 主要是一个客户端工具,但如果需要,它也可以在服务器上用于动态挂载。有关在服务器上使用 Autofs 的用例,请参阅 共享磁盘 页面。
Kerberos 认证
默认情况下,NFS 安全性仅验证客户端的 IP。您可以添加用户级别的身份验证与 Kerberos 身份验证协议。选择是
下面给出的示例使用 MIT KRB5 语法。因此,在服务器上安装服务器软件包 krb5-server,并在客户端机器上安装 krb5 软件包。
服务器配置
假设您在网络中设置了 Kerberos,请为您的 NFS 机器创建票证
# kadmin: addprinc -randkey nfs/nfs1.example.com@EXAMPLE.COM
并将其添加到机器的 krb5.keytab 文件中
# kadmin: ktadd nfs/nfs1.example.com@EXAMPLE.COM
然后,编辑您的 /etc/exports,并添加 sec=krb5(仅身份验证)、sec=krb5i(也包括 hmac 签名)或 sec=krb5p(也包括加密)。例如
/etc/exports 的内容
编辑 /etc/exports 后,重新加载您的设置
# exportfs -afv
用户 ID 映射由 nfs-utils 软件包中的 nfsidmap
实用程序管理。
客户端配置
为了使客户端通过 kerberos 连接到 NFS,请启用并启动 rpc.gssd 服务。
# rc-update add rpc.gssd
# rc-service rpc.gssd start