SECURITY-centos7下NFS使用与配置

NFS是Network File System的缩写,即网络文件系统。客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下。

nfs为什么需要RPC?
因为NFS支持的功能很多,不同功能会使用不同程序来启动,因此,NFS对应的功能所对应的端口无法固定。
端口不固定造成客户端与服务端之间的通信障碍,所以需要RPC来从中帮忙。
NFS启动时会随机取用若干端口,然后主动向RPC服务注册取用相关端口和功能信息,RPC使用固定端口111来监听来自NFS客户端的请求,
并将正确的NFS服务端口信息返回给客户端,这样客户端与服务端就可以进行数据传输了。

二、NFS的工作流程

1、由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务端的RPC的111端口发出文件存取功能的请求。
2、NFS服务端的RPC找到对应已注册的NFS端口,通知客户端RPC服务。
3、客户端获取正确的端口,并与NFS daemon联机存取数据。
4、存取数据成功后,返回前端访问程序,完成一次存取操作。
所以无论客户端,服务端,需要使用NFS,必须安装RPC服务。
NFS的RPC服务,在Centos5及以前名为portmap,Centos6下名称为rpcbind。

三、NFS服务安装配置

nfs-utils、rpcbind

查看是否安装NFS软件包

rpm -qa nfs-utils rpcbind
yum install nfs-utils rpcbind

四、启动rpcbind支持服务

查看服务状态

systemctl status rpcbind.service
如果不知道rpcbind命令在哪
which rpcbind
启动rpc服务
systemctl restart rpcbind.service
查看rpc
lsof -i :111
netstat -lntup|grep rpcbind
(如果出现-bash未找到命令可执行下面命令)
yum install net-tools lsof
查看nfs服务向rpc注册的端口信息
rpcinfo -p localhost
检查rpcbind是否开机启动
chkconfig --list rpcbind

五、启动NFS服务

systemctl start nfs.service
查看状态
systemctl status nfs.service
再次查看rpc注册的端口信息
rpcinfo -p localhost

六、NFS常见进程详解

ps -ef|egrep "rpc|nfs"
rpc 101101 1 0 17:11 ? 00:00:00 /sbin/rpcbind -w
rpcuser 101188 1 0 17:22 ? 00:00:00 /usr/sbin/rpc.statd --no-notify
root 101190 2 0 17:22 ? 00:00:00 [rpciod]
root 101200 1 0 17:22 ? 00:00:00 /usr/sbin/rpc.idmapd
root 101201 1 0 17:22 ? 00:00:00 /usr/sbin/rpc.mountd
root 101206 2 0 17:22 ? 00:00:00 [nfsd4]
root 101207 2 0 17:22 ? 00:00:00 [nfsd4_callbacks]
root 101213 2 0 17:22 ? 00:00:00 [nfsd]
root 101214 2 0 17:22 ? 00:00:00 [nfsd]
root 101215 2 0 17:22 ? 00:00:00 [nfsd]
root 101216 2 0 17:22 ? 00:00:00 [nfsd]
root 101217 2 0 17:22 ? 00:00:00 [nfsd]
root 101218 2 0 17:22 ? 00:00:00 [nfsd]
root 101219 2 0 17:22 ? 00:00:00 [nfsd]
root 101220 2 0 17:22 ? 00:00:00 [nfsd]
root 101243 100830 0 17:28 pts/0 00:00:00 grep -E --color=auto rpc|nfs

nfsd(rpc.nfsd)主进程,主要是管理客户端能否登入服务端,登入者ID判别。
mountd(rpc.mountd)管理NFS文件系统,登入者的权限管理
rpc.lockd(非必要)用来锁定文件,用于客户端同时写入
rpc.statd(非必要)检查文件一致性
rpc.idmapd 名字映射后台进程

七、配置NFS开机自启动

chkconfig rpcbind on
chkconfig nfs on
chkconfig --list rpcbind
chkconfig --list nfs

八、NFS服务端配置

vi /etc/exports
exports文件配置格式:
NFS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...)
说明:
NFS共享目录:
要用绝对路径,可被nfsnobody读写。
NFS客户端地址:
指定IP: 192.168.0.1
指定子网所有主机: 192.168.1.0/24
指定域名的主机: test.com
指定域名所有主机: .test.com
所有主机:

参数:
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
例如:
/data/tmp 192.168.1.0/24(rw,sync,all_squash)
创建需要共享的目录
mkdir -p /data/tmp
chown nfsnobody.nfsnobody /data/tmp
重新加载nfs配置
exportfs -rv
查看nfs服务器挂载情况
showmount -e localhost

九、挂载测试

mkdir -p /data/tmp2
mount -t nfs 192.168.1.2:/data/tmp /data/tmp2
查看挂载
df -h
在tmp下创建文件
touch /data/tmp/a1.txt
查看tmp2下是否有文件
ls /data/tmp2
卸载挂载
umount /data/tmp2

十、NFS服务器涉及到需开放的端口

# firewall-cmd --permanent --add-port=111/tcp
# firewall-cmd --permanent --add-port=111/udp
# firewall-cmd --permanent --add-port=2049/tcp
# firewall-cmd --permanent --add-port=2049/udp
# firewall-cmd --permanent --add-port=1001/tcp
# firewall-cmd --permanent --add-port=1001/udp
# firewall-cmd --permanent --add-port=32803/tcp
# firewall-cmd --permanent --add-port=32769/udp
# firewall-cmd --permanent --add-port=892/tcp
# firewall-cmd --permanent --add-port=892/udp

防火墙操作

原文地址:https://blog.51cto.com/jxwpx/2404964

时间: 2024-11-06 09:55:35

SECURITY-centos7下NFS使用与配置的相关文章

centos7下NFS使用与配置

NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. 一.NFS的工作流程 1.由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务端的RPC的111端口发出文件存取功能的请求. 2.NFS服务端的RPC找到对应已注册的NFS端口,通知客户端RPC服务. 3.客户端获取正确的端口,并与NFS daemon联机存取数据. 4.存取数据成功后,返回前端访问程序,完成

Centos7下Apache详细安装配置及证书申请SSL配置介绍

首先说到Centos大家都已经非常熟悉了,所以我们也就不多介绍关于Centos具体发展了,我们首先知道在Centos7之前版本命令和ReadHat的命令完全一样的,可Centos从6.0版本升级到Centos7版本之后,命令及功能上有了很大的变化,最明显的差别就是从安装的操作界面及操作命令上已经有很大变化了,更不用说功能上的变化了,比如centos6.x版本的iptalbes到centos7的firewall的变化,当然,变化了很多,我也就不多说了,今天呢,主要给大家介绍一下再Centos7下A

CentOS7下安装MySQL并配置远程连接

一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险 参照百度.开发基本相似). 参考文章:CentOS7 安装MySQL http://www.centoscn.com/mysql/2016/0315/6844.html 这里主要是安装MyS

centos7下NFS服务器的搭建与配置

准备两个centos操作系统来实现共享.服务端安装:查看系统是否已安装NFS:没有安装请先安装服务.在NFS服务端上创建共享目录/data/lys并设置权限:编辑export文件命令:mkdir -p /data/lys配置生效 启动rpcbind,nfs服务关闭防火墙 客户端服务端都要关闭客户端安装安装nfs-utils客户端 创建挂载目录查看服务器抛出的共享目录信息(关闭防火墙)为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议,查看挂载服务端和客户端验证: 原文地址:htt

centos7下利用httpd2.4配置svn并使用Ldap用户认证

应用场景:Windows下有AD活动目录,类Unix系统下有Ldap,在运维开发工具平台逐步丰富的现在,统一用户管理大大便捷了管理人员. 其中不乏经典版本控制管理工具svn,与Ldap组合的用户认证方式. 测试环境: 配置步骤: 1. 安装相关软件  ~]# yum install httpd subversion mod_dav_svn mod_ldap 注:在CentOS7或RHEL7中,httpd版本为2.4:而且不在有mod_authz_ldap,该模块软件功能都已经整合到mod_lda

CentOS7下利用rsyslog+loganalyzer配置日志服务器及Linux和windows客户端配置

一.简介: 随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事. 系统管理员遇到的常见问题如下: 1.日常维护过程中不可能登录到每一台服务器和设备上去查看日志: 2.网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的: 3.在某些非法入侵的情况下,入侵者一般都会清除本地日志,清除入侵痕迹: 4.zabbix等监控系统无法代替日志管理,无法监控如系统登录.计划任务执行等项目. 基于上述原因,在当前的网络环境中搭建一台用于

CentOS7下VNC服务器-tigervnc配置

昨天在我的CentOS7测试机上安装配置了VNC服务器,参考了网上很多资料,但都有一定的缺陷,特别是在配置root账户远程VNC连接的配置文件时,几乎没有什么参考文档提醒PIDFile的配置要去掉/home,导致我配置的时候一直报错,折腾了一天,最后在一篇参考文档的报错解析中得到启发,最后完成了配置,先将我的实际操作整理成文档供大家参考,也供自己以后查阅.正文如下: 1.如果第一次安装tigervnc,可以跳过第2步:2.如果以前安装过,需要通过以下几步删除tigervnc:     卸载原安装

170419、Centos7下完美安装并配置mysql5.6

首先跟各位说声抱歉,原计划说每天一篇博文,最近由于实在太忙,封闭式开发一个项目,没有时间写博文,望大家见谅!!! 由于公司要搭建分布式服务,我把最近我所用到或者学习的技术或者遇到的问题跟大家分享一下! linxu环境: centos7:x86_64 x86_64 x86_64 GNU/Linux mysql:mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 依赖 MySQL 依赖 libaio,所以先要安装 libaio yum search libaio #

Centos7下完美安装并配置mysql5.6

Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想用mysql的人来说并不是一个好消息. 最近我搜罗了网上各种安装教程,各种出问题,要么安装失败,要么安装成功了却使用不了mysql.今天终于大功告成,所以赶快分享一下,好了话不多说,开始吧! ——————————————————————————————————————————— 一.安装MySQL 1.下载安装包mysql-advanced-5.6.24-linux-glibc2.5-x86_64.tar.gz 下载地址