实验环境
rhel8主机IP:192.168.0.110 为NFS服务器
rhel7主机:NFS客户端
一.NFS介绍
问:NFS是什么?
答:网络文件系统,英文名Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制。
问:NFS服务与samba服务区别?
答:samba主要用于windows与Linux系统或者Windows和windows系统之间的文件共享,NFS主要用于UNIX和Linux、UNIX和UNIX、Linux和Linux系统之间的文件共享,NFS服务也是基于客户端和服务端,NFS服务配置起来比samba服务简单
二.NFS基本信息
nfs-utils | 安装包 |
nfs-server | 服务脚本 |
/etc/exports | 共享配置文件 |
安装:
三.NFS的启用
systemctl start nfs-server #启用
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
测试:
[root@dns_node1 ~]# showmount -e 192.168.0.110
Export list for 192.168.0.110:
原理图:防火墙需要允许nfs、mount、rpc-bind服务
1、开启服务,并且本机连接成功服务:
但此时远程主机无法建立连接:
需要设置防火墙规则,允许rpc-bind服务
此时再查看远程主机,连接成功,但是建立挂载连接的时候失败
设置防火墙规则,允许mount服务
此时再查看远程主机,连接成功,可以列出内容,但由于此时服务器端还未共享内容,所以看不到内容
四.NFS服务的配置
NFS配置过程
在NFS服务器端:
vim /etc/exports #编辑配置文件
文件内容:
共享目录 共享给谁(共享参数)
/test *(ro)
exportfs -rv #使文件更改后生效
注意:共享目录的本地权限如果太小,共享后客户端依然无法访问
因此,共享前可以先修改共享目录的本地权限:chmod 777 /test
测试:在客户端
showmount -e 192.168.0.110
mount 192.168.0.110:/test /mnt/
注意:NFS服务登陆时与samba服务登陆时命令有所不同
(samba命令:mount //192.168.0.110/test /mnt)
编辑共享配置文件:vim /etc/exports
客户端测试:
NFS配置参数的修改
anonuid=1000,anongid=1000 #指定用户身份
sync #更改成功后同步数据到服务器(一般用)
async #实时同步客户端的数据到服务器(默认)
rw #读写
ro #只读
no_root_squash #root用户挂载不转换身份
注意:可用man 5 exports查看参数及用法
一些参数的修改示例如下:
1、只读、读写访问
192.168.0.109主机:
2、指定客户端登录时的用户身份:anonuid=1000,anongid=1000 (westos用户的uid和gid)
3、root用户挂载时不转换身份
结束!!!