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 服务,并且客户端也可以访问共享的文件夹了。

相关推荐
Rabitebla7 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
Android系统攻城狮12 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
程序员初一12 小时前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh
程序开发阿元12 小时前
swappiness 60 和 10 差在哪:一台 1C1G 的三轮对比
linux·ssh
无足鸟ICT12 小时前
【RHCA+】mpstat命令(监控CPU)
linux
GeW14 小时前
新质生产力Linux和数据库为啥这么关键
linux
番茄啊14 小时前
linux 开启xftp连接
linux·运维·服务器
CodeYp201914 小时前
第1讲:Linux 基础指令
linux·指令
李松桃15 小时前
基于端口号的服务配置
linux·nginx-核心模块配置
Julien200416 小时前
管理机密(一)
运维·服务器·开发语言·学习方法