龙空技术网

CentOS 7 配置 nfs server

isenTech 174

前言:

目前各位老铁们对“centos hosts配置”大体比较关怀,大家都想要分析一些“centos hosts配置”的相关内容。那么小编也在网上汇集了一些关于“centos hosts配置””的相关知识,希望咱们能喜欢,小伙伴们快快来学习一下吧!

一个IT从业者,分享IT的各种相关内容。点个关注,不迷路,总有能帮到你的分享内容。什么?帮不到。那谢谢你这么俊/这么美,来关注我!1、安装依赖和软件

yum -y install nfs-utils rpcbind
2、设置服务自启动,并启动服务
systemctl enable nfs-server rpcbind nfs-lock nfs-idmapsystemctl start nfs-server rpcbind nfs-lock nfs-idmap
3、建立挂载目录,并nfs输出
mkdir -p /application/shareecho "/application/share 192.168.0.*(rw,sync,no_root_squash)" >> /etc/exportsexportfs -a #使exports的修改生效showmount -e #检测输出情况

常用选项还有rw,wdelay,no_root_squash,no_subtree_check

允许所有客户端挂载说明

在/etc/exports中加上一句

/mnt/share *(ro,async,no_root_squash,nohide)

然后执行

exportfs -rv

上面括号上中的ro为只读,如果为rw的话,就是读写权限

【refused mount request from unmatched host问题】

原因是服务器未识别到客户端的网络,即服务器配置错误。如配置了如下网络:

/application/share 192.168.0.*(rw,sync,no_root_squash)

正确的配置应该是:

/application/share 192.168.0.0/24(rw,sync,no_root_squash)
4、设置防火墙规则

a. 根据服务设置防火墙

firewall-cmd --add-service=nfs --permanent --zone=publicfirewall-cmd --add-service=mountd --permanent --zone=publicfirewall-cmd --add-service=rpc-bind --permanent --zone=publicfirewall-cmd --complete-reload

b. 根据端口限制,并限制可mount源IP

firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="2049" accept" --permanentfirewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="20048" accept" --permanentfirewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="udp" port="20048" accept" --permanentfirewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="111" accept" --permanentfirewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="udp" port="111" accept" --permanent
5、挂载权限说明

rw:read-write,可读写;

ro:read-only,只读;

sync:文件同时写入硬盘和内存;

async:文件暂存于内存,而不是直接写入内存;

no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

anonuid:匿名用户的UID值,可以在此处自行设定。

anongid:匿名用户的GID值。

6、附录

/etc/exports :这个档案就是 NFS 的主要设定档了!不过,系统并没有预设值,所以这个档案不一定会存在,您可能必须要使用 vi 主动的建立起这个档案。

/usr/sbin/exportfs :这个是维护 NFS 分享资源的指令,我们可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸载或重新分享等等,重新分享后需要重启nfs服务。

/usr/sbin/showmount :这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。这个 showmount 可以用来察看 NFS 分享出来的目录资源。

/var/lib/nfs/*tab :在 NFS 伺服器的登录档都放置到 /var/lib/nfs/ 目录里面,在该目录下有两个比较重要的登录档, 一个是 etab ,主要记录了 NFS 所分享出来的目录的完整权限设定值;另一个 xtab 则记录曾经连结到此 NFS 主机的相关用户端资料。

标签: #centos hosts配置 #centos7对电脑硬件要求 #centos重启nfs