插件窝 干货文章 linux下NFS安装配置的方法是什么

linux下NFS安装配置的方法是什么

NFS sudo directory bash 647    来源:    2025-04-23

Linux下NFS安装配置指南

NFS(Network File System)是一种分布式文件系统协议,允许网络中的计算机之间共享文件资源。以下是Linux系统下NFS的安装和配置方法:

1. 安装NFS服务

在服务端(共享文件的机器):

# 对于基于RPM的系统(CentOS/RHEL/Fedora)
sudo yum install nfs-utils

# 对于基于Debian的系统(Ubuntu/Debian)
sudo apt-get install nfs-kernel-server

在客户端(访问共享的机器):

# 对于基于RPM的系统
sudo yum install nfs-utils

# 对于基于Debian的系统
sudo apt-get install nfs-common

2. 配置NFS服务端

创建共享目录

sudo mkdir -p /shared_directory
sudo chown nobody:nogroup /shared_directory  # 设置权限
sudo chmod 777 /shared_directory            # 设置可读写权限

编辑exports文件

sudo vim /etc/exports

添加以下内容(根据需求调整):

/shared_directory client_ip(rw,sync,no_subtree_check)
# 或允许整个子网
/shared_directory 192.168.1.0/24(rw,sync,no_subtree_check)

参数说明: - rw:读写权限 - ro:只读权限 - sync:同步写入 - async:异步写入 - no_subtree_check:禁用子树检查 - no_root_squash:允许root用户访问(有安全风险)

应用配置

sudo exportfs -a  # 重新导出所有共享
sudo systemctl restart nfs-server  # 重启NFS服务

3. 配置NFS客户端

挂载NFS共享

sudo mkdir -p /mnt/nfs_share
sudo mount server_ip:/shared_directory /mnt/nfs_share

验证挂载

df -h
mount | grep nfs

设置开机自动挂载

编辑/etc/fstab文件,添加:

server_ip:/shared_directory /mnt/nfs_share nfs defaults 0 0

4. 防火墙配置(如果需要)

# CentOS/RHEL 7+
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

# Ubuntu/Debian
sudo ufw allow from client_ip to any port nfs

5. 测试和验证

在服务端:

sudo showmount -e localhost

在客户端:

sudo showmount -e server_ip

6. 常见问题解决

  1. 权限问题:确保共享目录有正确的权限,客户端用户有访问权限
  2. 防火墙阻止:检查防火墙设置是否允许NFS流量
  3. 服务未启动:确保NFS服务在服务端已启动 bash sudo systemctl status nfs-server
  4. 版本不匹配:可以通过-o vers=3-o vers=4指定NFS版本

安全建议

  1. 限制可访问NFS共享的IP范围
  2. 避免使用no_root_squash选项
  3. 考虑使用Kerberos进行NFSv4认证
  4. 定期检查NFS日志/var/log/messagesjournalctl -u nfs-server