在Linux环境中,网络文件系统(NFS)是一种常用的文件共享方案,它允许不同系统之间通过网络共享文件系统,本文将详细介绍在虚拟机中安装和配置NFS服务器的步骤,包括环境准备、服务安装、配置文件修改、防火墙设置以及客户端挂载等关键环节,帮助读者快速掌握NFS的部署方法。

环境准备
在开始安装NFS之前,需要确保虚拟机网络配置正确,并且服务器与客户端能够相互通信,假设虚拟机使用桥接模式或NAT模式,确保虚拟机与客户端在同一局域网内,并且可以互相ping通,建议更新系统软件包列表,以获取最新的软件版本,在终端中执行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
需要确认虚拟机的操作系统版本,本文以Ubuntu 20.04 LTS为例,其他基于Debian或Red Hat系的系统可参考类似步骤,但部分命令可能需要调整。
安装NFS服务
NFS服务主要由两个软件包组成:nfs-kernel-server(服务器端)和nfs-common(客户端和服务器端通用工具),在服务器端虚拟机中,使用以下命令安装这两个软件包:
sudo apt install nfs-kernel-server nfs-common -y
安装过程中,系统会自动启动NFS服务,安装完成后,可以通过以下命令检查服务状态:
sudo systemctl status nfs-kernel-server
如果显示“active (running)”,则表示服务已成功启动。
创建共享目录
为了实现文件共享,需要创建一个或多个目录作为共享资源,在根目录下创建一个名为/nfs_share的目录,并设置适当的权限:
sudo mkdir -p /nfs_share sudo chown nobody:nogroup /nfs_share sudo chmod 777 /nfs_share
这里设置目录所有者为nobody,组为nogroup,权限为777(可根据实际安全需求调整),确保客户端有读写权限。
配置NFS共享
NFS的共享配置文件位于/etc/exports,该文件定义了哪些目录可以被哪些客户端访问,以及访问权限,编辑该文件:

sudo nano /etc/exports
在文件末尾添加以下内容(示例表示允许客户端192.168.1.0/24网段的所有主机读写访问/nfs_share目录):
/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)
参数说明:
rw:允许读写权限;sync:数据同步写入内存和硬盘;no_subtree_check:禁用子树检查,提高性能。
保存文件后,通过以下命令使配置生效:
sudo exportfs -a
配置防火墙
默认情况下,Ubuntu系统使用UFW防火墙,需要开放NFS相关端口(2049/tcp、111/tcp、111/udp、20048/tcp等),执行以下命令开放端口:
sudo ufw allow nfs sudo ufw allow from 192.168.1.0/24 to any port nfs
如果使用iptables防火墙,则需要手动添加规则:
sudo iptables -A INPUT -p tcp --dport 2049 -j ACCEPT sudo iptables -A INPUT -p udp --dport 111 -j ACCEPT
配置完成后,重启防火墙服务(UFW执行sudo ufw reload)。
客户端挂载NFS共享
在客户端虚拟机或物理机上,首先安装NFS客户端工具:
sudo apt install nfs-common -y
创建本地挂载点,例如/mnt/nfs_share:

sudo mkdir -p /mnt/nfs_share
使用mount命令挂载NFS共享:
sudo mount 192.168.1.100:/nfs_share /mnt/nfs_share
其中168.1.100为NFS服务器的IP地址,挂载成功后,可通过df -h命令查看挂载状态,或在/mnt/nfs_share目录中创建文件测试读写权限。
设置开机自动挂载
为避免每次重启客户端后手动挂载,可以修改/etc/fstab文件实现自动挂载,编辑该文件:
sudo nano /etc/fstab
168.1.100:/nfs_share /mnt/nfs_share nfs defaults 0 0
保存后,执行sudo mount -a测试配置是否正确,若无报错则表示设置成功。
常见问题排查
在配置过程中,可能会遇到客户端无法挂载或访问被拒绝的问题,首先检查服务器端NFS服务状态和防火墙设置;其次确认/etc/exports配置语法是否正确,可通过sudo exportfs -v查看共享目录信息;最后检查客户端与服务器之间的网络连通性,确保NFS端口未被阻塞。
通过以上步骤,即可完成虚拟机中NFS服务的安装与配置,实现高效的文件共享功能,合理使用NFS可以简化数据管理流程,提升多系统协作效率,适用于开发环境、文件存储等多种场景。



















