如何在 Ubuntu 22.04 上安装 NFS 服务器和客户端如何在 Ubuntu 22.04 上安装 NFS 服务器和客户端如何在 Ubuntu 22.04 上安装 NFS 服务器和客户端如何在 Ubuntu 22.04 上安装 NFS 服务器和客户端
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 22.04 上安装 NFS 服务器和客户端

本教程适用于这些操作系统版本

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 10.04(Lucid Lynx)

在此页

  1. 先决条件
  2. 安装和配置 NFS 服务器
  3. 安装 NFS 服务器包
  4. 设置共享目录
  5. 使用防火墙保护 NFS 服务器
  6. 安装和配置 NFS 客户端
  7. 安装 NFS 客户端包
  8. 设置挂载目录
  9. 验证对 NFS 服务器的写访问
  10. 使用 /etc/fstab 自动挂载 NFS 服务器
  11. 结论

什么是 NFS? NFS 或网络文件系统是一种协议,允许本地用户以与本地访问相同的方式从多个磁盘和目录访问远程数据。 NFS 协议最初由 Sun Microsystem 开发,并成为通过网络共享文件的标准协议。它广泛用于集中式环境,用户或客户端计算机将能够在一个集中式远程服务器上存储和访问数据。

在大多数 Linux 系统上,可以为 NFS 服务器和客户端轻松安装和配置 NFS。几乎每个 Linux 发行版都默认在其自己的存储库中提供 NFS 包。包名不同,但几乎所有 Linux 发行版的配置都是一样的。

在本教程中,您将学习如何在 Ubuntu 22.04 服务器上安装 NFS 服务器和客户端。您还将了解如何在客户端计算机上的系统启动时自动挂载 NFS 共享目录。

先决条件

本指南需要以下先决条件:

  • Ubuntu Server 22.04 - 用于安装 NFS 服务器。
  • 一台 Linux 客户端机器——这个例子将由 Ubuntu 客户端机器使用。
  • 具有根/管理员权限的非根用户。

安装和配置 NFS 服务器

您在这里要做的第一件事是安装和配置 NFS 服务器。在开始之前,登录到您的服务器并获得 root 权限。

您可以使用下面的 ssh 命令登录。然后运行\sudo su\命令获取root权限。

ssh 
sudo su

安装 NFS 服务器包

在安装任何软件包之前,请运行下面的 apt 命令来更新和刷新您的 Ubuntu 存储库。

sudo apt update

现在使用下面的命令安装 NFS 服务器包。输入Y确认安装,回车,开始安装。

sudo apt install nfs-kernel-server

NFS 服务器安装完成后,使用以下命令检查并验证 NFS 服务器服务。在 Ubuntu 安装中,NFS 服务器将自动启用并在系统启动时自动运行。

sudo systemctl is-enabled nfs-server
sudo systemctl status nfs-server

在 Ubuntu 22.04 服务器上,NFS 配置发生了变化。 NFS 的主要配置位于文件 \/etc/nfs.conf\,它允许您设置和配置 NFS 服务器。 NFS 服务的另一个配置位于 \/etc/default/nfs-*\,这可用于设置 NFS 服务如何运行。

此外,在默认安装中启用的默认 NFS 版本是 NFSv3 和 NFSv4。您可以使用以下命令检查默认启用的 NFS 版本。

cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

设置共享目录

安装 NFS 服务器包后,现在您将设置共享目录。 NFS 共享目录可以通过文件 \/etc/exports\ 文件定义。此外,您可以为共享目录指定客户端 IP 地址或设置对共享目录的读/写。

运行以下命令以创建新的共享目录。在此示例中,将有两个可供客户端使用的共享目录,\/srv/backups\ 和 \/mnt/shared\。

sudo mkdir -p /srv/backups /mnt/shared

现在使用以下命令更改共享目录的所有权和权限。用户和组应该是 \nobody:nogroup\ 并且权限是 \777\ 以确保共享目录是可写的。

sudo chown -R nobody:nogroup /srv/backups /mnt/shared
sudo chmod 777 /srv/backups /mnt/shared

接下来,使用以下命令修改文件 \/etc/exports\。

sudo nano /etc/exports

将以下配置添加到文件中。

/srv/backups  192.168.5.100(rw,sync,no_subtree_check)
/mnt/shared 192.168.10.0/24(rw,sync,no_subtree_check)

完成后保存并关闭文件。

  • 目录 \/srv/backups\ 仅供 IP 地址为 \192.168.5.100\ 的 NFS 客户端使用。
  • 目录\/mnt/shared\ 将可供整个网络\192.168.10.0/24\ 中的所有客户端使用。
  • rw - 启用共享目录的读写。
  • sync - 允许 NFS 在响应客户端机器之前写入更改,并确保 NFS 服务器始终呈现给客户端。
  • no_subtree_check - 禁用子树检查并确保用户更改文件名时不会发生冲突。

接下来,运行以下命令以应用和导出所有目录。如果您没有收到任何消息,那么您的设置是正确的。

sudo exportfs -a

现在运行以下命令重新启动并验证 NFS 服务。您应该会看到 NFS 服务正在使用新的导出目录运行。

sudo systemctl restart nfs-server
sudo systemctl status nfs-server

运行以下命令来检查 NFS 服务器上可用的共享目录。您应该看到两个目录 \/srv/backups\ 和 \/mnt/shared\ 可用作客户端的共享目录。

sudo exportfs -v

使用防火墙保护 NFS 服务器

设置 NFS 共享目录后,是时候使用防火墙保护 NFS 服务器了,在这种情况下,Ubuntu 的默认防火墙是 UFW。

正如您在顶部看到的,每个共享目录都可以通过特定的客户端 IP 地址和网络访问。因此,您需要在 UFW 防火墙规则中指定允许访问 NFS 服务端口的客户端 IP 地址或网络。

运行下面的ufw命令,允许客户端IP地址“192.168.5.100”和网络“192.168.10.0/24”访问NFS服务端口.

sudo ufw allow from 192.168.5.100 to any port nfs
sudo ufw allow from 192.168.10.0/24 to any port nfs

现在重新加载 UFW 防火墙规则并使用以下命令验证防火墙规则列表。您应该会看到默认的 NFS 服务端口 \2049\ 可以通过特定的客户端 IP 地址和网络访问。

sudo ufw reload
sudo ufw status

安装和配置 NFS 客户端

安装 NFS 服务器后,现在是设置 NFS 客户端并将共享目录挂载到客户端机器的时候了。在这个例子中,客户端也将是一台 Ubuntu 机器。

登录到您的 Ubuntu 客户端计算机。如果您使用的是 Ubuntu 桌面,则只需打开系统上的终端即可。但是,如果您使用的是 Ubuntu Server 版本的客户端,则可以使用 ssh 命令进行连接,如下所示。

ssh 

安装 NFS 客户端包

您将在客户端机器上执行的第一步是安装“nfs-common”包,它允许您将 NFS 服务器安装到客户端机器上。

运行下面的 apt 命令来更新和刷新您的 Ubuntu 存储库。

sudo apt update

现在使用以下命令安装 \nfs-common\ 包。输入 Y 确认安装并按 ENTER。现在开始安装。

sudo apt install nfs-common

设置挂载目录

在开始安装 NFS 共享目录之前,您将为安装目标创建一个新的特定目录。在这个例子中。挂载 NFS 共享的目标目录是 \/mnt/data\ 目录。

运行以下命令创建一个新目录\/mnt/data\。

sudo mkdir -p /mnt/data

要挂载 NFS 共享目录,请运行下面的挂载命令。在此演示中,您将把共享目录\/srv/backups\ 挂载到目标目录\/mnt/data\。

sudo mount nfs_server_ip:/srv/backups /mnt/data

现在运行以下命令来检查和验证 Ubuntu 机器上已安装磁盘的列表。您应该会看到 NFS 共享目录 \/srv/backups\ 已挂载到本地计算机的目录 \/mnt/data\。

sudo df -h

验证对 NFS 服务器的写访问

成功挂载 NFS 共享目录后,就该验证对 NFS 共享目录的写访问权限了。

现在运行以下命令创建一个新文件“write.txt\”并将其写入 NFS 目标挂载目录“/mnt/data/\”。

echo "This file from client" > /mnt/data/write.txt
cat /mnt/data/write.txt

接下来,回到 NFS 服务器并运行以下命令来检查和验证文件 \write.txt\。您应该看到与您刚刚从 NFS 客户端计算机创建的完全相同的文件。

cat /srv/backups/write.txt
ls /srv/backups/

使用 /etc/fstab 自动挂载 NFS 服务器

至此,您已经成功在Ubuntu客户端机器上挂载了NFS共享目录,并检查了共享目录的写权限。现在您将设置 NFS 共享目录以在系统启动期间自动挂载,这可以通过 /etc/fstab 文件完成。

在编辑/etc/fstab 文件之前,运行以下命令从目标\/mnt/data\ 卸载NFS 共享目录。

sudo umount /mnt/data

使用以下命令编辑文件 \/etc/fstab\。

sudo nano /etc/fstab

将以下配置添加到文件中。

nfs_server_ip:/srv/backups    /mnt/data   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

完成后保存并关闭文件。

接下来,运行下面的 mount 命令来检查和验证 \/etc/fstab\ 文件。如果您的配置正确,\/etc/fstab\ 文件中的所有文件系统都将安装到您的机器上。

sudo mount -a

使用以下命令验证客户端计算机上已安装磁盘的列表。您应该会看到 NFS 共享目录 \/srv/backups\ 已挂载到目标目录 \/mnt/data\。如果您重启/重启客户端机器,NFS 共享目录将自动挂载到\/mnt/data\ 目录。

sudo df -h

结论

恭喜!您现在已经在 Ubuntu 22.04 服务器上成功安装了 NFS 服务器。您还使用 UFW 防火墙保护了 NFS 服务器访问。最后,您还学习了如何设置 Ubuntu 客户端机器来挂载 NFS 共享目录,其中包括如何在系统启动时通过“/etc/fstab”文件自动挂载 NFS 共享目录。

©2015-2025 艾丽卡 support@alaica.com