东北软件 > linux操作系统 >

搭建 Linux 系统 NFS 服务器 全方位指南与实战步骤

时间:

搭建 Linux 系统 NFS(Network File System)服务器是一个常见的任务,特别是在需要在多个系统之间共享文件的情况下。NFS 允许不同的客户端机器像访问本地存储一样访问远程文件系统。本文将详细介绍如何在 Linux 系统上搭建 NFS 服务器,并提供实战步骤。

环境准备

在开始之前,我们需要确保服务器和客户端机器都已经安装了合适的 Linux 发行版,比如 Ubuntu、CentOS 或 Debian。同时,需要具备 root 权限或 sudo 权限来执行管理任务。

安装 NFS 服务器软件

在大多数 Linux 发行版中,NFS 服务器软件并不是默认安装的。我们需要手动安装。

对于 Ubuntu 和 Debian 系统:

首先,更新包索引:

bash sudo apt update

然后,安装 NFS 服务器软件包:

bash sudo apt install nfs-kernel-server

对于 CentOS 和 Red Hat 系统:

使用 yum 或 dnf 来安装 NFS 软件包:

bash sudo yum install nfs-utils

安装完成后,我们需要启动并启用 NFS 服务:

bash sudo systemctl start nfs sudo systemctl enable nfs

配置 NFS 服务器

安装完成后,我们需要配置 NFS 服务器。配置文件通常位于 /etc/exports,这个文件定义了哪些目录可以被共享以及相应的权限。

假设我们希望共享 /mnt/nfs_share 目录,我们可以在 /etc/exports 文件中添加以下行:

bash /mnt/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)

在这条配置中:

  • /mnt/nfs_share 是我们希望共享的目录。
  • 192.168.1.0/24 指定了允许访问的客户端子网。
  • rw 表示读写权限。
  • sync 确保在请求完成之前,更改会被写入磁盘。
  • no_subtree_check 禁用子树检查,以提高性能。

创建共享目录

配置文件设置完成后,我们需要创建实际的共享目录,并确保其具有合适的权限:

bash sudo mkdir -p /mnt/nfs_share sudo chown nobody:nogroup /mnt/nfs_share

为了允许客户端写入数据,我们可以设置合适的权限:

bash sudo chmod 777 /mnt/nfs_share

导出共享目录

在完成配置和目录设置后,我们需要导出这些共享目录,以便 NFS 服务器识别和共享它们:

bash sudo exportfs -a

此命令会根据 /etc/exports 文件的内容导出所有共享目录。

配置防火墙

为了确保客户端能够访问 NFS 服务器,我们需要配置防火墙以允许 NFS 服务相关的端口。通常,NFS 服务使用以下端口:

  • 2049 (nfsd)
  • 111 (rpcbind)
  • 892 (mountd)

在 Ubuntu 和 Debian 系统上,可以使用 ufw 来开放这些端口:

bash sudo ufw allow from 192.168.1.0/24 to any port nfs

在 CentOS 和 Red Hat 系统上,使用 firewalld

bash sudo firewall-cmd --permanent --zone=public --add-service=nfs sudo firewall-cmd --reload

客户端挂载 NFS 共享

在客户端机器上,首先需要安装 NFS 客户端软件:

对于 Ubuntu 和 Debian 系统:

bash sudo apt install nfs-common

对于 CentOS 和 Red Hat 系统:

bash sudo yum install nfs-utils

然后,可以使用以下命令挂载 NFS 共享:

```bash sudo mount 192.168.1.