NFS(网络文件系统)是一种文件系统协议,允许用户查看和访问远程系统上的文件和文件夹,就像它们存储在本地一样。 这是一种客户端-服务器设置,其中共享存储的系统称为服务器,而访问存储在服务器上的存储的系统称为客户端。 NFS 允许用户或系统管理员在客户端系统上挂载服务器的全部或部分文件系统。 然后,客户端可以根据分配给这些文件的特定权限(读取、写入)访问已安装的文件。
创建 NFS 客户端-服务器设置是一项简单的任务,可以通过几个步骤来执行——安装、导出、挂载和访问。 在本文中,我们将解释在 Debian 系统上设置 NFS 服务器和客户端的过程,以便您可以在远程系统之间共享文件。
我们已经在 Debian 10 系统上运行了本文中提到的命令和过程。
NFS服务器
要设置共享目录的主机系统,我们必须在其中安装 NFS 内核服务器。 请按照以下步骤操作:
步骤 1:安装 NFS 内核服务器
在继续安装 NFS 服务器之前,通过在终端中运行以下命令来更新系统存储库索引:
$ sudo apt-get update
更新后,通过在终端中运行以下命令来安装 NFS 内核服务器:
$ sudo apt install nfs-kernel-system
系统可能会为您提供 是/否 选项以确认安装。 打 是 确认,安装将在您的系统中开始。
步骤 2:创建导出目录
现在我们必须创建一个导出目录,用于与客户端的系统共享。 您可以根据自己的喜好标记它。 这里我们在 /mnt 目录中创建一个名为“sharedfolder”的导出目录。
通过提及导出目录路径运行以下命令,如下所示:
$ sudo mkdir –p /mnt/sharedfolder
要允许所有客户端访问导出目录的权限,您需要删除限制性权限。 运行以下命令来执行此操作:
$ sudo chown nobody:nogroup /mnt/sharedfolder
然后应用允许每个人读取、写入和执行访问的新权限。
$ sudo chmod 755 /mnt/sharedfolder
它将允许所有客户端访问共享文件夹。
第三步:配置导出目录
NFS 服务器的配置文件位于 /etc/ 目录中。 您可以在此处指定要与客户端共享的目录以及客户端的主机名。 要使用 nano 编辑器编辑 /etc/s 文件,请运行以下命令 sudo 在终端:
$ sudo nano /etc/s
使用以下格式为客户端分配访问权限:
directory hostname(options)
为了允许访问单个客户端,请在其中添加以下行:
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
为了允许访问多个客户端,请在其中添加以下行:
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check) /mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
为了通过指定整个子网来允许访问多个客户端,请在其中添加以下行:
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)
在这里,我们为客户端指定了整个子网,以允许他们访问我们的共享目录。
完成编辑 /etc/s 文件后,按 ctrl+O 保存并按 ctrl+X 退出文件。
上述文件中的参数 (rw,sync,no_subtree_check) 表示客户端具有以下权限:
- r瓦: 读写操作
- 同步:在应用之前将任何更改写入光盘
- no_subtree_check: 没有子树检查
第四步:导出共享目录
在此步骤的下一步中,您必须导出 /etc/s 中列出的共享目录。 为此,请在终端中运行以下命令:
$ sudo fs –a
然后重新启动 NFS 内核服务器以应用配置更改。
第五步:配置防火墙
现在,重要的是要验证服务器是否已为客户端打开以访问共享内容。 您必须添加允许从指定客户端到 NFS 端口的流量的规则。 为此,请使用以下语法:
$ sudo ufw allow from [client-IP or client-Subnet] to any port nfs
在我们的示例中,我们将允许整个 192.168.72.0 子网连接到 NF 端口:
$ sudo ufw allow from 192.168.72.0/24 to any port nfs
现在要验证规则是否已成功添加,请在终端中运行以下命令:
$ sudo ufw status
现在我们的主机 NFS 服务器已经配置好,可以被指定的客户端访问了。
配置客户端机器
现在,我们将配置客户端机器,让它们访问服务器的导出目录。 请按照以下步骤操作:
第 1 步:安装 NFS 客户端
首先,通过在终端中运行以下命令来更新您的客户端机器存储库索引:
$ sudo apt-get update
然后通过在终端中运行以下命令来安装称为 NFS common 的 NFS 客户端应用程序:
$ sudo apt-get install nfs-common
系统可能会为您提供 是/否 选项以确认安装。 打 是 确认,安装将在您的系统中开始。
步骤 2:为 NFS 服务器的共享文件夹创建挂载点
现在创建一个挂载点,用于访问服务器的共享内容。 这里我们在 /mnt 目录中创建名为“sharedfolder_clientr”的挂载点。 我们使用了以下命令来做到这一点:
$ sudo mkdir -p /mnt/sharedfolder_client
第三步:在客户端挂载服务器的共享目录
在上一步中,我们已经创建了挂载点。 现在我们将 NFS 服务器的共享目录挂载到上面创建的挂载点。 以下语法可用于此目的:
$ sudo mount serverIP:/Folder_server /mnt/mountfolder_client
例如,在我们的例子中,我们将从 NFS 服务器挂载共享目录“/mnt/sharedfolder”到客户端机器的挂载点“/mnt/mountfolder_client”。
$ sudo mount 192.168.72.164:/mnt/sharedfolder /mnt/sharedfolder_client
其中 192.168.72.164 是我们 NFS 服务器的 IP。
现在共享的 NFS 目录已经挂载到客户端的机器上。
第 4 步:测试连接
现在是时候测试我们的 NFS 客户端-服务器设置了。 为此,请在 NFS 服务器共享目录中创建一个测试文件或文件夹。 如下例所示,您可以看到我们在 NFS 服务器共享目录中创建了两个名为“documents”和“music”的文件夹。
现在打开客户端机器上的挂载点。 您将在此处看到在服务器共享目录中创建的相同文件和文件夹。
这就是全部! 我希望您已经学会了在 Debian 10 系统上安装和设置 NFS 服务器和客户端。 本文还介绍了如何访问 NFS 主机以访问共享信息。