服务端:192.168.10.101
客户端:192.168.10.102、192.168.10.103
1. 安装NFS服务器
打开终端,运行以下命令来安装NFS服务器:
sudo apt update
sudo apt install nfs-kernel-server
2. 创建共享目录
选择一个目录作为共享目录,或者创建一个新的目录。例如,创建一个名为/srv/nfs/shared的目录:
sudo mkdir -p /srv/nfs/shared
设置适当的权限,使得客户端能够访问共享目录:
sudo chown nobody:nogroup /srv/nfs/shared
sudo chmod 777 /srv/nfs/shared
3.配置NFS共享
编辑NFS配置文件/etc/exports,以定义哪些目录需要共享以及哪些主机能够访问这些目录。使用以下命令打开/etc/exports文件:
sudo vim /etc/exports
在文件末尾添加如下行,表示将/srv/nfs/shared目录共享给网络中的任何主机(假设你的NFS客户端IP范围是192.168.1.0/24,你可以根据需要调整):
/srv/nfs/shared 192.168.10.0/24(rw,sync,no_root_squash)
解释:
- rw:客户端可以读写。
- sync:确保所有写入操作在返回前完成。
- no_root_squash:提高了客户端 root 用户在 NFS 服务器上的权限,但可能带来安全风险。
如果希望仅允许特定的IP访问,可以将192.168.10.0/24替换为特定的IP或IP范围。
4.导出NFS共享
使配置生效,运行以下命令:
sudo exportfs -a
5.启动NFS服务
启动并启用NFS服务,使其在启动时自动运行:
sudo systemctl start nfs-kernel-server
sudo systemctl enable nfs-kernel-server
6.配置防火墙
如果启用了防火墙,需要允许NFS流量。使用以下命令打开NFS相关的端口:
sudo ufw allow from 192.168.10.0/24 to any port nfs
或者,如果希望允许所有网络上的主机访问NFS服务:
sudo ufw allow from any to any port nfs
7. 检查NFS共享状态
确认NFS服务器正在运行,并检查共享目录:
sudo exportfs -v
该命令将显示已共享的目录以及可以访问的客户端。
8. 在客户端挂载NFS共享
在客户端(例如另一台Ubuntu机器)上,安装NFS客户端:
sudo apt update
sudo apt install nfs-common
创建一个挂载点目录,例如:
sudo mkdir -p /mnt/nfs_shared
然后挂载NFS共享:
sudo mount 192.168.10.101:/srv/nfs/shared /mnt/nfs_shared
这里的192.168.10.101是NFS服务器的IP地址。
如果想要在启动时自动挂载NFS共享,可以编辑/etc/fstab,添加如下行:
192.168.10.101:/srv/nfs/shared /mnt/nfs_shared nfs defaults 0 0
9. 测试NFS共享
在客户端机器上,可以尝试创建文件或目录,验证NFS共享是否正常工作:
sudo touch /mnt/nfs_shared/testfile
ls /mnt/nfs_shared
10. 额外配置(可选)
如果需要更高的安全性,建议配置/etc/exports中的sec选项来控制访问权限,或者使用NFSv4以增强性能和安全性。
这样,NFS服务器就成功地在Ubuntu 22.04上安装并配置好了。
祝您生活愉快,下个文章见。