插件窝 干货文章 linux如何通过nfs网络文件系统挂载设置

linux如何通过nfs网络文件系统挂载设置

sudo NFS 挂载 设置 408    来源:    2025-04-25

Linux NFS 网络文件系统挂载设置指南

NFS (Network File System) 是一种分布式文件系统协议,允许通过网络在不同主机间共享文件系统。以下是完整的NFS挂载设置步骤:

1. 服务端设置

1.1 安装NFS服务器软件

# Ubuntu/Debian
sudo apt update
sudo apt install nfs-kernel-server

# RHEL/CentOS
sudo yum install nfs-utils

1.2 创建共享目录

sudo mkdir -p /shared/directory
sudo chown nobody:nogroup /shared/directory  # 设置权限
sudo chmod 777 /shared/directory             # 简化权限设置(生产环境应根据需要调整)

1.3 配置NFS导出

编辑 /etc/exports 文件:

sudo nano /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:同步写入 - no_subtree_check:提高可靠性 - no_root_squash:允许root访问(有安全风险)

1.4 应用配置并启动服务

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

# RHEL/CentOS 7+
sudo systemctl enable nfs-server
sudo systemctl start nfs-server

1.5 防火墙配置(如有需要)

# Ubuntu UFW
sudo ufw allow from client_ip to any port nfs

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

2. 客户端设置

2.1 安装NFS客户端软件

# Ubuntu/Debian
sudo apt update
sudo apt install nfs-common

# RHEL/CentOS
sudo yum install nfs-utils

2.2 创建挂载点

sudo mkdir -p /mnt/nfs/share

2.3 手动挂载NFS共享

sudo mount -t nfs server_ip:/shared/directory /mnt/nfs/share

2.4 验证挂载

df -h
mount | grep nfs

2.5 设置开机自动挂载

编辑 /etc/fstab 文件:

sudo nano /etc/fstab

添加以下行:

server_ip:/shared/directory /mnt/nfs/share nfs rw,soft,intr 0 0

常用选项: - rw:读写 - ro:只读 - soft:超时后放弃挂载 - hard:持续尝试(默认) - intr:允许中断挂载操作 - noexec:禁止执行二进制文件 - nosuid:忽略suid/sgid位

2.6 测试自动挂载

sudo mount -a

3. 常见问题排查

  1. 连接被拒绝

    • 检查服务端NFS服务是否运行
    • 检查防火墙设置
    • 确保客户端和服务端网络连通
  2. 权限问题

    • 检查共享目录权限
    • 检查/etc/exports中的权限设置
    • 考虑使用all_squashanonuid/anongid选项
  3. 性能问题

    • 尝试添加async选项(有数据丢失风险)
    • 调整rsizewsize参数(如mount -o rsize=32768,wsize=32768
  4. 查看NFS状态

    # 服务端
    showmount -e localhost
    
    # 客户端
    showmount -e server_ip
    
  5. 日志查看

    # 服务端日志
    tail -f /var/log/syslog | grep nfs
    
    # RHEL/CentOS
    journalctl -u nfs-server
    

4. 安全建议

  1. 限制可访问NFS共享的客户端IP范围
  2. 避免使用no_root_squash选项
  3. 考虑结合Kerberos实现NFSv4认证
  4. 定期检查NFS共享权限
  5. 在生产环境中考虑使用更安全的替代方案如SSHFS

通过以上步骤,您应该能够成功设置和使用NFS网络文件系统。根据您的具体需求调整权限和配置选项。