网站搜索

如何在 Ubuntu 22.04 上安装和配置 NFS 服务器


NFS网络文件共享)是一种协议,允许您与网络中的其他 Linux 客户端共享目录和文件。要共享的目录通常在NFS服务器上创建,并向其中添加文件。

客户端系统安装驻留在NFS服务器上的目录,这授予它们对创建的文件的访问权限。当您需要在客户端系统之间共享公共数据时,特别是当它们空间不足时,NFS 会派上用场。

本指南将包含 2 个主要部分:在 Ubuntu 22.04、20.04 和 18.04 上安装和配置 NFS 服务器,以及在 Ubuntu 上安装 NFS 客户端客户端Linux系统。

在 Ubuntu 上安装和配置 NFS 服务器

要安装和配置NFS服务器,请按照下列步骤操作。

步骤1:在Ubuntu中安装NFS内核服务器

第一步是在服务器上安装nfs-kernel-server软件包。但在此之前,我们首先使用以下 apt 命令更新系统软件包。

sudo apt update

更新完成后,继续安装 nfs-kernel-server 软件包,如下所示。这将存储其他软件包,例如 nfs-commonrpcbind,它们对于文件共享的设置同样重要。

sudo apt install nfs-kernel-server

步骤 2:创建 NFS 导出目录

第二步将创建一个在客户端系统之间共享的目录。这也称为导出目录,我们稍后将在该目录中创建可供客户端系统访问的文件。

通过指定 NFS 挂载目录名称来运行以下命令。

sudo mkdir -p /mnt/nfs_share

由于我们希望所有客户端计算机都可以访问共享目录,因此请删除目录权限中的任何限制。

sudo chown -R nobody:nogroup /mnt/nfs_share/

您还可以根据自己的喜好调整文件权限。这里我们已经赋予了目录内所有内容的读、写和执行权限。

sudo chmod 777 /mnt/nfs_share/

步骤 3:授予对客户端系统的 NFS 共享访问权限

访问 NFS 服务器的权限在 /etc/exports 文件中定义。因此,使用您最喜欢的文本编辑器打开该文件:

sudo vim /etc/exports

您可以提供对单个客户端、多个客户端或指定整个子网的访问。

在本指南中,我们允许整个子网访问 NFS 共享。

/mnt/nfs_share  192.168.43.0/24(rw,sync,no_subtree_check)

有关上述命令中使用的选项的说明。

  • rw:代表读/写。
  • 同步:要求在应用更改之前将更改写入磁盘。
  • No_subtree_check:消除子树检查。

要向单个客户端授予访问权限,请使用以下语法:

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)

对于多个客户端,请在单独的文件中指定每个客户端:

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)
/mnt/nfs_share  client_IP_2 (re,sync,no_subtree_check)

步骤4:导出NFS共享目录

授予对首选客户端系统的访问权限后,导出 NFS 共享目录并重新启动 NFS 内核服务器以使更改生效。

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

步骤 5:允许 NFS 通过防火墙访问

客户端访问NFS共享需要允许通过防火墙访问,否则将无法访问和挂载共享目录。要实现此目的,请运行命令:

sudo ufw allow from 192.168.43.0/24 to any port nfs

重新加载或启用防火墙(如果已关闭)并检查防火墙的状态。应打开默认文件共享端口2049

sudo ufw enable
sudo ufw status

在客户端系统上安装 NFS 客户端

我们已经完成了服务器上 NFS 服务的安装和配置,现在让我们在客户端系统上安装 NFS。

第 1 步:安装 NFS-Common 软件包

按照惯例,首先要更新系统软件包和存储库。

sudo apt update

接下来,安装 nfs-common 软件包,如图所示。

sudo apt install nfs-common

步骤2:在客户端创建NFS挂载点

接下来,您需要创建一个挂载点,您将从 NFS 服务器挂载 nfs 共享。为此,请运行命令:

sudo mkdir -p /mnt/nfs_clientshare

步骤3:在客户端系统上挂载NFS共享

剩下的最后一步是安装 NFS 服务器共享的 NFS 共享。这将使客户端系统能够访问共享目录。

让我们使用 ifconfig 命令检查 NFS 服务器的 IP 地址。

ifconfig

要实现此目的,请运行命令:

sudo mount 192.168.43.234:/mnt/nfs_share  /mnt/nfs_clientshare

步骤 4:测试客户端系统上的 NFS 共享

为了验证我们的 NFS 设置是否正常工作,我们将在服务器的 NFS 共享目录中创建一些文件。

cd /mnt/nfs_share/
touch file1.txt file2.txt file3.txt

现在返回 NFS 客户端系统并检查文件是否存在。

ls -l /mnt/nfs_clientshare/

伟大的!输出确认我们可以访问我们刚刚在 NFS 服务器上创建的文件!

就是这样。在本指南中,我们引导您完成在 Ubuntu 22.04Ubuntu 20.04Ubuntu 18.04 上安装和配置 NFS 服务器NFS 如今已很少使用,并已被降级为更强大、更安全的 Samba 共享协议。