如何在 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-common 和 rpcbind,它们对于文件共享的设置同样重要。
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.04、Ubuntu 20.04 和 Ubuntu 18.04 上安装和配置 NFS 服务器。 NFS 如今已很少使用,并已被降级为更强大、更安全的 Samba 共享协议。