Ubuntu24.04 NFS 服务配置

1、NFS 介绍

NFS 是 Network FileSystem 的缩写,顾名思义就是网络文件存储系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。通过 NFS,我们本地 NFS 的客户端应用可以透明地读写位于服务端 NFS 服务器上的文件,就像访问本地文件一样方便。简单的理解,NFS 就是可以透过网络,让不同的主机、不同的操作系统可以共享存储的服务。

2、安装NFS服务

复制代码
# 服务端
apt install nfs-kernel-server

# 客户端
apt install nfs-common

3、NFS配置

复制代码
//修改 nfs 配置文件,添加nfs映射目录和相关权限
sudo vi /etc/exports

/*    挂载目录        允许挂载的客户端IP,
/*                   *表示允许所有客户端挂载            挂载配置           */
/home/richard/rootfs         *(rw,sync,all_squash,no_subtree_check)

//重新加载配置
sudo exportfs -av
exporting *:/home/richard/rootfs

如下示例:将 /data/share 文件目录设置为允许 IP 为该 192.168.178.0/24 区间的客户端挂载,当然,如果客户端 IP 不在该区间也想要挂载的话,可以设置 IP 区间更大或者设置为 * 即允许所有客户端挂载,例如:/home/richard/rootfs *(ro,sync,insecure,no_root_squash) 设置 /home/richard/rootfs 目录允许所有客户端只读挂载。

4、启动 RPC 服务。

复制代码
service rpcbind start
或
systemctl start rpcbind.service

查看 NFS 服务项 rpc 服务器注册的端口列表

复制代码
rpcinfo -p localhost

program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper

注意:此时我们还没有启动 NFS 服务,只监听了 111 端口,接着我们来启动 NFS 服务,再来看下注册的端口列表。

5、启动 NFS 服务

复制代码
service nfs start

# 或者使用如下命令亦可
systemctl start nfs.service

启动 NFS 服务后 rpc 服务已经启用了对 NFS 的端口映射列表
rpcinfo -p localhost
program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  33745  status
    100024    1   tcp  36980  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  38960  nlockmgr
    100021    3   udp  38960  nlockmgr
    100021    4   udp  38960  nlockmgr
    100021    1   tcp  38362  nlockmgr
    100021    3   tcp  38362  nlockmgr
    100021    4   tcp  38362  nlockmgr

在服务端看下是否正确加载了设置的 /etc/exports 配置:

复制代码
$ showmount -e localhost
Export list for localhost:
/home/recall/fileshop 192.168.1.11

nfs测试

复制代码
sudo mount -t nfs localhost:home/richard/rootfs  /mnt

mount.nfs: access denied by server while mounting localhost:home/richard/rootfs

错误原因:由于限定了IP范围,不能使用localhost,应该使用IP地址,将localhost改用IP地址之后挂载正常

相关推荐
唠玖馆30 分钟前
文件系统详解
linux·文件系统·ext2
GeW39 分钟前
当Linux内核开始“确定性”,制造高端化才有了底层语法
linux
星恒随风2 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
梦到啥说啥2 小时前
Linux网络编程:TCP网络协议
网络·网络协议·tcp/ip
StarsGreen4 小时前
libva在intel平台上的前端流程简介
linux
Shanks.6 小时前
2026 远程控制软件实测:ToDesk / 向日葵 / RustDesk / TeamViewer 在跨城与弱网下的真实差距
网络·远程工作·软件需求
Jeremy_WW6 小时前
802.3协议解读 06:117章节 RS 和 200GMII / 400GMII I
网络·网络协议·信息与通信·光模块·802.3协议
坤坤子吖7 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
青瓦梦滋7 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
顧棟8 小时前
INFINI Gateway 服务器端口重用(SO_REUSEPORT)实现与分析
网络·gateway