如何在 Debian 10 上设置 NFS 服务器和客户端

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)

在这里,我们为客户端指定了整个子网,以允许他们访问我们的共享目录。

配置 NFS 导出

完成编辑 /etc/s 文件后,按 ctrl+O 保存并按 ctrl+X 退出文件。

上述文件中的参数 (rw,sync,no_subtree_check) 表示客户端具有以下权限:

  • r: 读写操作
  • 同步:在应用之前将任何更改写入光盘
  • no_subtree_check: 没有子树检查

第四步:导出共享目录

在此步骤的下一步中,您必须导出 /etc/s 中列出的共享目录。 为此,请在终端中运行以下命令:

$ sudo fs –a

然后重新启动 NFS 内核服务器以应用配置更改。

通过 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

检查 UFW 状态

现在我们的主机 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 挂载文件夹

现在共享的 NFS 目录已经挂载到客户端的机器上。

第 4 步:测试连接

现在是时候测试我们的 NFS 客户端-服务器设置了。 为此,请在 NFS 服务器共享目录中创建一个测试文件或文件夹。 如下例所示,您可以看到我们在 NFS 服务器共享目录中创建了两个名为“documents”和“music”的文件夹。

在文件资源管理器中挂载共享

现在打开客户端机器上的挂载点。 您将在此处看到在服务器共享目录中创建的相同文件和文件夹。

客户端上的共享文件夹

这就是全部! 我希望您已经学会了在 Debian 10 系统上安装和设置 NFS 服务器和客户端。 本文还介绍了如何访问 NFS 主机以访问共享信息。