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

时间:2020-02-23 14:38:41  来源:igfitidea点击:

Networkfilesystem或者nfs是一个文件系统的协议。
使用NFS协议允许我们使用网络中的其他用户计算机在计算机上共享文件和目录。

NFS基于客户端 - 服务器模型构建,其中NFS服务器负责处理身份验证并管理通过网络共享的数据。

在本文中,我们将介绍在两个服务器和客户端计算机上安装NFS,允许我们将文件或者目录与一个Ubuntu计算机分享到另一台Ubuntu机器。

以下是我们将要做的事项:

  • 在计算机上安装NFS服务器,我们将调用服务器计算机。
  • 创建一个导出目录,我们将使用与客户端分享。
  • 在第二台计算机上安装NFS客户端,我们将调用客户端计算机。
  • 制作一个简单的测试,以确保一切都成功运行。

强烈建议我们按顺序按照这些步骤操作,以确保所有内容都会顺利运行。

安装NFS服务器

步骤1.在开始安装NFS服务器之前,我们必须确保系统使用以下命令是最新的:

sudo apt-get update
sudo apt-get upgrade

步骤2.使用以下命令检查Ubuntu上是否安装了NFS内核服务器包。

dpkg -l | grep nfs-kernel-server

检查NFS服务器是否已安装或者不

正如我们在上面的屏幕截图中看到的,如果没有输出,则计算机上未安装NFS内核服务器包。

步骤3.现在让我们使用以下命令安装最新的可用NFS内核服务器包。

sudo apt install nfs-kernel-server

创建导出目录

此导出目录将通过网络与客户端的计算机共享。

步骤1.在NFS服务器中创建一个导出目录,将通过网络共享。

sudo mkdir -p /mnt/nfsdir

步骤2.允许访问所有客户端到上一个导出目录,请删除目录的当前限制权限。

sudo chown nobody:nogroup /mnt/nfsdir

步骤3.为导出目录分配新权限。

sudo chown nobody:nogroup /mnt/nfsdir

前一个命令的输出应该如下:

创建导出目录并分配所需的权限

步骤4.使用我们喜欢的编辑器,在导出配置文件中编辑以允许客户端访问NFS服务器导出目录。

sudo vi /etc/exports

现在选择以下选项之一以允许访问服务器导出目录:

  • 允许通过指定客户端的机器IP来访问单个客户端。
/mnt/nfsdir client_IP(rw,sync,no_subtree_check)

(RW,SYNC,NO_SUBTREE_CHECK)权限定义如下:

  • RW>客户端被允许执行读写操作。
  • 同步>客户端可以执行将任何更改写入光盘。
  • no_subtree_check>客户端没有权限检查子树。
  • 通过指定客户端的计算机IP,允许访问多个客户端。
/mnt/nfsdir client_IP_1(rw,sync,no_subtree_check)
/mnt/nfsdir client_IP_2(rw,sync,no_subtree_check)
/mnt/nfsdir client_IP_3(rw,sync,no_subtree_check)
  • 通过指定整个子网来允许访问多个客户端。
/mnt/nfsdir subnetIP/24(rw,sync,no_subtree_check)

在我们的教程中,我们将使用最后一个选项来允许通过指定整个子网来访问多个客户端。

允许使用NFS导出文件访问客户端

步骤5.接下来,我们将使用以下命令应用先前的更改。

sudo exportfs -a

导出NFS共享目录

步骤6.重新启动NFS内核服务器服务。

sudo systemctl restart nfs-kernel-server

重新启动NFS内核服务器

步骤7.配置NFS服务器机器防火墙,允许客户端访问导出目录内容。

sudo ufw allow from 192.168.1.0/24 to any port nfs

配置NFS服务器机器防火墙

步骤8.启用NFS Server防火墙将自动启动系统启动。

sudo ufw enable

在系统启动时启用防火墙

步骤9.现在检查防火墙的状态,以查看上一步的添加规则。

sudo ufw status

在第二台机器上安装NFS客户端

接下来,我们需要在客户端的计算机上执行一些配置,因此它们可以轻松访问NFS服务器导出目录。
但在我们开始配置之前,我们需要首先确保客户端的计算机使用下面的命令是最新的。

sudo apt-get update 
sudo apt-get upgrade

步骤1.使用以下命令安装NFS客户端包。

sudo apt-get install nfs-common

步骤2.为NFS服务器导出目录创建一个挂载点。

sudo mkdir -p /mnt/nfsdirclient

步骤3.现在让我们在客户端上安装共享的NFS目录。

sudo mount 192.168.1.4:/mnt/nfsdir /mnt/nfsdirclient

测试安装

步骤1.在服务器计算机上,在导出目录中创建一个测试文件。

touch /mnt/nfsdir/nfstestfile

在NFS服务器导出目录中创建测试文件

从客户端计算机,检查新创建的文件。

ls /mnt/nfsdirclient

步骤2.在客户端计算机上,创建一个新文件。

touch /mnt/nfsdirclient/clienttestflie

在NFS客户端目录中创建测试文件

从服务器计算机,检查先前创建的文件。

ls /mnt/nfsdir