搭建 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.