Linux服务之Samba服务和nfs服务(RPC协议)

SAMBA 端口139 445

SMB协议,提供网络上不同计算机共享文件,打印机 、

可以让windows和linux通信

server1作为服务端 Centos做实验 192.168.109.134

server2作为客户端 Centos做实验  192.168.109.138

server1:

yum -y install samba samba-client samba-common
setenforce 0
mkdir -p /home/smb/xiaoshouzu
vi /etc/samba/smb.conf
[xiaoshou]
    path = /home/smb/xiaoshouzu
    public = no
    writeable = yes
    write list = @xiaoshou01
useradd xiaoshou01  #添加用户
smbpasswd -a xiaoshou01   #设置smb密码  (test123)
chmod 774 /home/smb/xiaoshouzu/
systemctl restart smb
systemctl stop firewalld  #关闭防火墙 或者放行139和445端口
chgrp xiaoshou01 /home/smb/xiaoshouzu/   #赋值权限
cd /home/smb/xiaoshouzu/
mkdir wenjianjia

server2:

setenforce 0
yum -y install samba samba-client
smbclient -L //192.168.109.134 -U xiaoshou01
smbclient //192.168.109.134/xiaoshou -U xiaoshou01

如果是windows平台 可以直接在计算机对应的深入框  和ftp效果一样

\\192.168.109.134

nfs (本身并没有用到网络协议 rpcbind是提供面向远程服务的) OSI会话层 111端口

network file system   一般服务端开启TCP 2049端口等待客户端的连接

network file system网络文件系统  主要是在unix和linux上实现的

准备两台服务器 server1 和server2(Linux服务器) 

server1 CentOS 192.168.109.134 

server2 CentOS 192.168.109.138

server1上 (CentOS主机的操作方式)

yum -y install nfs-utils
systemctl enable nfs
systemctl start nfs
mkdir /data
chmod 755 /data
vi /etc/exports
/data/   192.168.109.0/24(rw,sync,no_root_squash,no_all_squash)
systemctl restart nfs
showmount -e localhost   //查看挂载
systemctl stop firewalld  //关闭防火墙
setenforce 0

server2用户处(Centos用户端的操作方式)

yum -y install nfs-utils
systemctl start rpcbind
showmount -e 192.168.109.134
mkdir /data
mount -t nfs 192.168.109.134:/data /data    //挂载server1的data目录
cd /data
ls

此时两个linux系统之间这个共享文件也就实现了同步!修改是即时发生同步的

df  //查看相应信息

以下内容转载自:NFS服务_mengchaoc的博客-CSDN博客_nfs服务

NFS服务简介

什么是NFS?

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

NFS一般用来存储共享视频,图片等静态数据。

NFS挂载原理:

图;服务器挂载结构图

如上图示:

当我们在NFS服务器设置好一个共享目录/home/public后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端/home/public的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。挂载后,NFS客户端查看磁盘信息命令:#df –h。

既然NFS是通过网络来进行服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想对应的网络端口,NFS服务器到底使用哪个端口来进行数据传输呢?基本上NFS这个服务器的端口开在2049,但由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口;既然是随机的那么客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?这时就需要通过远程过程调用(Remote Procedure Call,RPC)协议来实现了!

RPC与NFS通讯原理

因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的相关端口才能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,记客户端可以连接到正常端口上去。

那么RPC又是如何知道每个NFS功能的端口呢?

首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。

注意:在启动NFS SERVER之前,首先要启动RPC服务(即portmap服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。特别注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行systemctl reload nfs或exportfs –rv即可使修改的/etc/exports生效

NFS客户端和NFS服务器通讯过程:

首先服务器端启动RPC服务,并开启111端口

服务器端启动NFS服务,并向RPC注册端口信息

客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口

服务端的RPC(portmap)服务反馈NFS端口信息给客户端。

客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simon_Smith

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值