1网络文件系统

1.1参考

https://blog.csdn.net/aixiaoyang168/article/details/83782336

https://www.server-world.info/en/note?os=Fedora_34&p=nfs&f=1

鸟哥私房菜的第17章节

https://linux.vbird.org/linux_server/centos6/0330nfs.php

1.2简介

nfs,可以让各个客户端可以访问服务器上的文件系统,也就是将服务器上的文件系统映射到客户端,方便文件之间的读写。

2服务端的配置

2.1安装包

对于fedora需要安装的包,如下。其实一般发行版都会自带的

1
2
sudo dnf install rpcbind
sudo dnf install nfs-utils

2.2写配置文件

首先,需要配置/etc/exports文件,这个文件描述了,服务端有哪些文件夹可以共享,以及符合哪些条件的客户端可以访问这些文件夹,以及访问的权限等其他细节。

我的配置文件内容:

1
/home/liode/nfs_dir 192.168.6.0/24(rw,sync,insecure,no_subtree_check,no_root_squash) 169.254.171.210(rw,sync,insecure,no_subtree_check,no_root_squash)

这里将/home/liode/nfs_dir这个文件夹进行共享,可以分配给192.168.6.0/24这个网段的所有ip,以及169.254.171.210这个ip,他们的访问权限等详细设定在括号里面有给出

我的服务器的地址是192.168.6.101,我希望同一个局域网的所有设备都能够访问到我的共享文件夹。169.254.171.210是我的一个开发版,通过有线的方式直接连接到了服务器的网口,通过上面的设置,就能够达到我的目的

注意:修改了配置文件后需要重新启动服务才会生效

2.3启动服务

fedora:

需要依次启动 rpcbind 和 nfs-server两个服务

1
2
3
4
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs-server
systemctl start nfs-server

nfs_1

nfs_2

2.4防火墙配置

1
2
3
4
firewall-cmd --add-service=rpc-bind --permanent
firewall-cmd --add-service=mountd --permanent
firewall-cmd --add-service=nfs --permanent
firewall-cmd --reload

3客户端的配置

3.1安装包

ubuntu

1
sudo apt install nfs-common

3.2创建挂载点

创建一个需要共享的文件夹

1
2
mkdir nfs_dir
chmod a+wr nfs_dir

3.3观察服务器上有哪些可以共享的文件系统

showmount -e 服务器的IP地址

nfs_5

可以看到有哪些共享的文件系统,和他们对于客户端ip段的要求,如果本机符合ip的要求,就可以挂载,否则就要在服务器上增加一条配置了。

3.4挂载NFS

挂载命令

sudo mount 服务端IP地址:服务端共享的文件系统路径 挂载点路径

对于我的mbp

1
mount 192.168.6.101:/home/liode/nfs_dir nfs_dir

看看是否挂载成功

nfs_3

可以看到文件系统成功的挂载了上去

而且,在GUI里面也可以看到多了一个位置

nfs_4

这样,在客户端上对nfs_dir进行的操作也会同步到服务端