Ubuntu NFS 搭建及配置

在 Ubuntu 上搭建和配置 NFS(Network File System)服务器,可以让其他设备通过网络访问共享的文件夹。以下是步骤指南:

1. 安装 NFS 服务器

首先,安装 NFS 服务器软件包:

bash 复制代码
sudo apt update
sudo apt install nfs-kernel-server

2. 创建共享目录

创建一个目录作为共享文件夹,例如 /srv/nfs:

bash 复制代码
sudo mkdir -p /srv/nfs

设置目录权限(根据需求可以进行更改):

bash 复制代码
sudo chown nobody:nogroup /srv/nfs
sudo chmod 777 /srv/nfs

3. 配置 NFS 导出目录

编辑 NFS 导出的配置文件 /etc/exports,添加共享目录和权限配置。例如,允许局域网内 IP 地址范围为 192.168.1.0/24 的客户端访问 /srv/nfs 目录:

bash 复制代码
sudo nano /etc/exports

在文件中添加如下内容:

复制代码
/srv/nfs 192.168.1.0/24(rw,sync,no_subtree_check)

参数解释:

  • rw:读写权限
  • sync:同步写入数据(更安全)
  • no_subtree_check:防止子目录检查,提升性能

保存文件并退出编辑器。

4. 应用配置并启动 NFS 服务

执行以下命令使配置生效,并启动 NFS 服务:

bash 复制代码
sudo exportfs -a
sudo systemctl restart nfs-kernel-server

5. 配置防火墙(可选)

如果使用了防火墙,确保允许 NFS 服务的相关端口:

bash 复制代码
sudo ufw allow from 192.168.1.0/24 to any port nfs

6. 客户端挂载 NFS 共享

在客户端机器上,安装 NFS 客户端:

bash 复制代码
sudo apt install nfs-common

然后,创建一个挂载点并挂载 NFS 共享。例如挂载到 /mnt/nfs_share 目录:

bash 复制代码
sudo mkdir -p /mnt/nfs_share
sudo mount 192.168.1.100:/srv/nfs /mnt/nfs_share

(其中 192.168.1.100 是 NFS 服务器的 IP 地址)

7. 自动挂载(可选)

如果希望在系统启动时自动挂载 NFS 共享,可以将其添加到 /etc/fstab 文件中:

bash 复制代码
sudo nano /etc/fstab

在文件末尾添加一行:

复制代码
192.168.1.100:/srv/nfs /mnt/nfs_share nfs defaults 0 0

8. 验证共享

在客户端上,可以通过 df -h 命令验证 NFS 共享是否成功挂载:

bash 复制代码
df -h

9. 常见问题排查

  • 无法访问共享目录:检查防火墙配置,确保 NFS 所需的端口是开放的。
  • 挂载失败 :检查服务器上的 /etc/exports 文件是否正确配置,并确认 NFS 服务是否运行正常。

这样你就成功地在 Ubuntu 上搭建了 NFS 服务,并且客户端也可以访问共享的文件夹了。

相关推荐
无奈笑天下8 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla12 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
火云代理12 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
威嵌神州12 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
火云代理15 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖16 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump16 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风18 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府18 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT18 小时前
【RHCA+】IO调度算法
linux·服务器