在Linux系统上安装与配置NFS服务器
网络文件系统(NFS)是一种允许计算机系统通过网络共享目录和文件的分布式文件系统协议。在Linux环境中,设置NFS服务器是实现多台机器间便捷、透明共享存储资源的经典方案。它特别适用于集群计算、虚拟化环境或简单的家庭网络文件共享。本文将详细介绍在基于RPM(如CentOS、Fedora)和DEB(如Ubuntu、Debian)的Linux发行版上安装与配置NFS服务器的完整步骤。
安装NFS服务器软件包
首先,我们需要在作为服务器的主机上安装必要的软件。对于RPM系发行版,通常使用`yum`或`dnf`包管理器。打开终端,执行以下命令:`sudo yum install nfs-utils` 或 `sudo dnf install nfs-utils`。安装完成后,需要启用并启动相关服务:`sudo systemctl enable --now nfs-server`。对于DEB系发行版,如Ubuntu,则使用`apt`包管理器:`sudo apt update` 后,执行 `sudo apt install nfs-kernel-server`。安装过程会自动启动必要的服务。

配置要共享的目录
安装好软件后,下一步是确定并配置需要共享的目录。例如,我们计划共享 `/var/nfs/share` 目录。首先创建该目录并设置适当的权限:`sudo mkdir -p /var/nfs/share` 和 `sudo chown nobody:nogroup /var/nfs/share`。关键的配置通过编辑 `/etc/exports` 文件完成,该文件定义了NFS共享的目录、允许访问的客户端及访问权限。使用文本编辑器打开它:`sudo vim /etc/exports`。添加一行配置,其基本语法为:`共享目录 客户端IP或网络(选项1,选项2,...)`。例如,允许IP为192.168.1.100的客户端以读写权限访问:`/var/nfs/share 192.168.1.100(rw,sync,no_subtree_check)`。若允许整个子网(如192.168.1.0/24)只读访问,则可写为:`/var/nfs/share 192.168.1.0/24(ro,sync,no_subtree_check)`。常用选项包括`rw`(读写)、`ro`(只读)、`sync`(同步写入,更安全)、`no_root_squash`(允许客户端root用户保留权限,需谨慎使用)。
应用配置并设置防火墙
编辑保存`/etc/exports`文件后,需要让NFS服务器重新加载配置以生效。执行命令:`sudo exportfs -a`。为了使客户端能够访问NFS服务,必须在服务器防火墙中开放相应的端口。NFS服务依赖于多个端口,最简便的方法是使用防火墙的NFS服务预定义规则。对于使用`firewalld`的系统(如CentOS 8+, Fedora),执行:`sudo firewall-cmd --permanent --add-service=nfs` 和 `sudo firewall-cmd --permanent --add-service=mountd` 以及 `sudo firewall-cmd --permanent --add-service=rpc-bind`,最后重载防火墙:`sudo firewall-cmd --reload`。对于使用`ufw`的系统(如Ubuntu),可以运行:`sudo ufw allow from 客户端IP或网络 to any port nfs`,或者更具体地允许相关服务。
在客户端挂载NFS共享
配置好服务器后,即可在另一台Linux客户端机器上进行挂载测试。首先,确保客户端已安装NFS客户端软件:`sudo yum install nfs-utils` 或 `sudo apt install nfs-common`。创建一个本地目录作为挂载点,例如:`sudo mkdir -p /mnt/nfs_share`。然后使用`mount`命令进行挂载:`sudo mount -t nfs 服务器IP:/var/nfs/share /mnt/nfs_share`。如果挂载成功,执行`df -h`命令应能看到该网络文件系统。为了在系统重启后自动挂载,需要编辑客户端的`/etc/fstab`文件,添加一行:`服务器IP:/var/nfs/share /mnt/nfs_share nfs defaults 0 0`。
测试与故障排查
完成所有步骤后,进行基本测试至关重要。在客户端挂载点尝试创建文件或目录,验证权限是否符合预期。常用的排查命令包括:在服务器端使用`sudo exportfs -v`查看当前生效的共享详情;使用`sudo showmount -e 服务器IP`(在客户端或服务器端)查看服务器导出的共享列表;检查服务状态`sudo systemctl status nfs-server`;以及查看系统日志`sudo journalctl -xe`或`/var/log/messages`来获取错误信息。确保服务器和客户端之间的网络畅通,并且主机名解析正确(或直接使用IP地址)。
通过以上步骤,一个功能完整的NFS服务器便搭建成功。正确配置的NFS服务能够提供高效稳定的网络共享存储,但请注意,在互联网等不安全环境中直接使用NFSv3可能存在风险,建议在内网使用,或考虑结合Kerberos认证的NFSv4以获得更强的安全性。根据实际需求调整共享选项和网络配置,是保证服务稳定可靠的关键。


评论(3)
发表评论