linux 修改rpc服务端口,linux中的NFS服务配置

NFS服务

NFS服务经常会用到,用于在网络上共享。eg:假如有三台机器A,B,C他们需要访问同一个目录,目录都是图片,传统的做法是把这些图片分别放在A,B,C上。若是使用NFS,只需要把图片放在A上共享给B和c上即可,只要A中图片改变,b,c中的内容会同时改变!

NFS原理:nfs本身的服务并没有提供文件传递协议,但NFS却能让我们进行文件的共享,因为nfs使用rpc协议。所以只要用得到nfs的地方就要启动rpc协议,不论是客户端还是服务端!可以这样理解,NFS是一个文件系统,而rpc负责信息传输。nfs的客户端和服务端才能由rpc协议进行端口的对应。nfs主要主管分享出来的目录,rpc协议主管文件传递!

4a8c2b8fe7ed7359462031dd8d272421.png

NFs服务的工作端口并没有完全的确定,这是因为nfs是一个很复杂的组件,它涉及文件传输,身份验证等方面的需求,每个功能都会占用一个端口。为了防止nfs服务占用过多的端口,它采用动态端口方式来工作,每个功能提供服务都会随机取一个小于1024的端口来服务!但是客户端到底选择那一个端口,此时就需要rpc协议,rpc最主要的功能就是记录每一个nfs功能对应的端口号,它工作在固定端口111,当客户端需求nfs服务时,就会访问服务器的111端口,rpc会将nfs工作端口返回给客户端。nfs启动时会自动向rpc服务器注册,告诉它自己各个功能使用的端口!

常规:nfs服务启动的流程:

1:nfs启动时,自定选择端口号小于1024的端口,并向rpc(工作在111端口)汇报,rpc记录在案!

2:客户端需要nfs提供服务时,首先向111端口rpc查询,nfs工作在那个端口

3:rpc回答客户端,它工作的端口号

4:于是,客户端直接访问rpc提供的nfs服务器工作得端口号,请求服务!

5:nfs服务经过授权认证,允许客户端访问自己的数据!

注意:因为nfs需要向rpc注册,所以rpc服务必须先于nfs服务启用。并且rpc服务重新启动以后,要重新nfs服务,让它重新向rpc注册,这样nfs才能正常工作!

nfs守护进程:

必须的3个进程:

1,rpc.nfsd:nfs基本守护进程,管理客户端是否成功能够连接到nfs服务器上!

2,rpc.mountd:它是rpc安装守护进程,主要功能是管理nfs文件系统。当客户端连接到nfs服务器后,它会读取/etc/exports文件,检验客户端权限!

3,portmap:主要功能进行端口映射工作。记录nfs服务对应的端口信息,并提供给客户端,使客户端正确请求服务!

nfs服务器可能启动的进程:

4,rpc.lockd:当多个用户对共享目录的同一个文件进行写入时,使用该进程锁定,来保证文件数据的一致性!

5,rpc.statd:用来维护nfs服务器上的共享目录中文件的一致性,和rpc.lockd进程有关!

在centos上使用NFs服务,需要安装两个包(nfs-utils和rpcbind),使用yum安装nfs-utils时会把rpcbind一起装上!

修改nfs配置使其共享:#vim /etc/exports                           //修改nfs的配置文件

/wang/ 192.168.1.114(ro,sync)              //使其共享/wang目录到192.168.1.114的子机上

aa96729a584b124e9d5665da776fdf6e.png在主机上启动nfs服务

[root@lianxi ~]# /etc/init.d/rpcbind start  //启动 主机上的rpcbind,rpcbind是用来通信的

正在启动 rpcbind:                                         [确定]

[root@lianxi ~]# /etc/init.d/nfs start                  //启动主机上的nfs服务

启动 NFS 服务:                                            [确定]

启动 NFS mountd:                                          [确定]

启动 NFS 守护进程:                                        [确定]

正在启动 RPC idmapd:                                      [确定]

[root@lianxi ~]#在自己上显示主机所共享的目录

[root@slave ~]# showmount -e 192.168.1.108             //在子机上显示共享的内容

Export list for 192.168.1.108:

/wang 192.168.1.114注意关闭防火墙,主机和客户端都要关闭

[root@slave ~]# showmount -e 192.168.1.108             //自己上上出现这样的错误,可能是防火墙未关闭,关闭防火墙!

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route t o host)查看共享的目录:

[root@slave ~]# mount -t nfs 192.168.1.108:/wang/ /opt/    //挂载共享的目录

[root@slave ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              14G  2.8G   11G  21% /

tmpfs                 504M     0  504M   0% /dev/shm

/dev/sda1              97M   25M   68M  27% /boot

192.168.1.108:/wang/   18G  2.6G   15G  16% /opt

[root@slave ~]# cd /opt     、//进入共享的目录

[root@slave opt]# ls      //查看共享的内容

111

在使用mount命令来挂载nfs服务时,用-t nfs来指定要挂在的类型为nfs,另外一个常用的选项就是-o nolock,即在挂载nfs服务时,不加锁!

介绍nfs共享的一个命令:exportfs命令可以很好的帮助管理员维护nfs共享目录列表!/exportfs命令是在服务端执行!

exportfs的命令格式为 exportfs 【option】

-a:导出所有在/etc/exports中的目录

-o:指定导出参数,格式与/etc/exports文件相同

-i:忽略exportfs文件,使用默认或者命令行设定选项

-r:重新输出所有目录。删除/var/lib/nfs/xtab的内容,并使用/etc/exports文件,同步/var/lib/nfs/xtab文件

-u:不导出指定目录。与-a共用则不导出所有目录

-f:指定新的导出文件,而不是用/etc/exports

-v:显示输出列表的同时,显示导出设定的参数

查看nfs服务器上所有的共享目录以及那些客户端可以使用这些共享目录:showmount -e IP地址

查看nfs服务器上有哪些共享目录被客户端挂载了showmount -d IP地址

实例2:在nfs服务器上发布一系列共享目录。这些目录分别给不同的客户群使用,具体要求如下:

1):/media目录

共享/media目录,允许所有的客户端访问该目录,但只具有读权限!

2):/NFS/public目录

共享/NFS/public目录,允许192.168.1.0/24和192.168.2.0/24网段的客户端访问,并且对该目录具有读权限。

3):/nfs/team目录

共享此目录,并且此目录只有来自.team.apple域的成员可以访问并且具有读写权限!

4):/nfs/works目录

共享/nfs/works目录。192.168.1.0/24网段的客户端具有只读权限,并且将root权限用户映射成为匿名用户。

5):/nfs/test 目录

共享此目录,所有人都具有读写权限,但当用户使用该共享目录时候将账号映射成匿名用户。并且制定匿名用户的uid和gid均为65534

6):/nfs/security目录

共享此目录,仅允许192.168.1.112的客户端访问。并且具有读权限!

打开exports配置文件加入以下内容:/media *(ro)

/NFS/public 192.168.1.0/24(ro) 192.168.2.0/24(ro)

/nfs/team *.team.apple(rw)

/nfs/works  192.168.1.0/24(ro,root_squash)

/nfs/test *(rw, all_aquash,anonuid=65534,anongid=65534)

/nfs/security 192.168.1.112 (rw)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值