NFS (Network File system) 是一种客户端-服务器文件系统协议,允许多个系统或用户访问相同的共享文件夹或文件。最新版本是 NFS-V4,共享文件就像存储在本地一样。它提供了中央管理,可以使用防火墙和 Kerberos 身份验证进行保护。
本文将指导您在 Debian 10 中安装 NFS 服务器,并将其挂载到客户机上。
实验准备
- NFS server : 192.168.122.126 (Debian 10)
- NFS Client : 192.168.122.173 (Any Linux system)
安装 NFS Server
更新系统
$ sudo apt-get update
安装 nfs 软件包
$ sudo apt install nfs-kernel-server
创建一个目录,通过 NFS 服务器共享文件和文件夹
$ sudo mkdir --p /mnt/nfsshare
由于共享将被客户端中的任何用户使用,因此权限设置为 nobody 用户和 nogroup 组
$ sudo chown nobody:nogroup /mnt/nfsshare
使用户共享文件夹具有足够的读写权限,您也可以根据自己的需要设置
$ sudo chmod 755 /mnt/nfsshare
编辑 /etc/exports 配置文件
$ sudo vi /etc/exports
在文件末尾添加以下内容
/mnt/nfsshare 192.168.122.173(rw,sync,no_subtree_check)
参数说明:
* rw: 读写操作
* sync: 在应用更改之前,将更改写入磁盘
* no_subtree_check: 禁用子树检查
最终 /etc/export 文件内容如下
导出共享目录,如果没有显示任何错误,说明您的配置正确
$ sudo exportfs --a
如果您在 Debian 上运行防火墙,请允许客户端连接到 NFS
$ sudo ufw allow from 192.168.122.173/32 to any port nfs
挂载 NFS Client
现在,让我们在客户机上挂载 NFS 共享,先安装 nfs-common 包
For Ubuntu Debian / Ubuntu
$ sudo apt install nfs-common
创建一个从服务器访问共享文件夹的目录
$ sudo mkdir -p /mnt/shared_nfs
对于永久挂载,请在 /etc/fstab 文件中添加以下内容
$ sudo vi /etc/fstab
在文件末尾添加以下内容
192.168.122.126:/mnt/nfsshare /mnt/shared_nfs nfs4 defaults,user,exec 0 0
参数说明:
- 192.168.122.126:/mnt/nfsshare = 来自 NFS 服务器的共享文件夹
- /mnt/shared_nfs = 在客户端机器上挂载的目录
- nfs4 = nfs version 4
- defaults,user,exec = 允许任何用户挂载文件系统,也允许他们执行二进制文件
使用 mount 命令挂载 NFS 文件系统
$ sudo mount -a
使用 df -h 命令查看挂载点,如下所示
让我们尝试在 NFS 共享上创建一个目录
$ cd /mnt/shared_nfs
$ mkdir test_dir
让我们尝试在 NFS 共享上创建一个文件
$ cd /mnt/shared_nfs
$ touch test_file.txt
如果没有显示任何错误,说明您的配置是正确的,您可以使用 NFS 共享系统。