Samba服务

samba是一个网络服务器,用于Linux和Windows之间共享文件。

samba端口号

samba (启动时会预设多个端口)

数据传输的TCP端口 139、445

进行NetBIOS名称解析之类工作的UDP端口就 137、138

Samba的功能:

① 分享档案与打印机服务;

② 可以提供用户登入 SAMBA 主机时的身份认证,以提供不同身份者的个别数据;

③ 可以进行 Windows 网络上的主机名解析 (NetBIOS name)

④ 可以进行装置的分享 (例如 Zip, CDROM...)

Samba工作原理:

Samba服务功能强大,这与通信是基于SMB协议有大的关系。SMB协议不仅能够提供目录和打印机共享,还支持认证和权限设置等功能。在早期,SMB运行于NBT协议(NetBIOS over TCP/IP)上,使用UDP协议的137、138及TCP协议的139端口,但随着后期开发,它可以直接运行于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。

通过Samba服务,Windows用户可以通过【网上邻居】窗口查看到Linux服务器中共享的资源,同时Linux用户也能够查看到服务器上的共享资源。Samba服务的具体工作过程如图:

协议协商

客户端在访问Samba服务器时,首先由客户端发送一个SMB negprot请求数据报,并列出它所支持的所有SMB协议版本。服务器在接收到请求信息后开始响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回oXFFFFH信息,结束通信。

建立连接

当SMB协议版本确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX请应答数据报来允许或拒绝本次连接。

访问共享资源

当客户端和服务器完成了协商和认证之后,它会发送一个Tcon或SMB TconX数据报并列出它想访问网络资源的名称,之后服务器会发送一个SMB TconX应答数据报以表示此次连接是否被接受或拒绝。

断开连接

连接到相应资源,SMB客户端能够open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

配置文件详解参考教案。

FTP服务

FTP (File transfer protocol) 是传输协议之一,他最主要的功能是在服务器与客户端之间进行档案的传输。

vsftpd软件包:“very secure”的FTP服务器软件

ftp端口号

主动模式:消息端口21,数据端口20

被动模式:消息端口21,数据端口随机

ftp的工作原理

建立连接:

客户端发送连接请求,同时打开一个大于 1024 的端口,比如 1031 端口,若 FTP 服务器侦听到该请求,则会在 1031 端口和 FTP 的 21 端口之间建立起一个 FTP 会话连接。

传输数据:

当需要传输数据时,客户端再动态的打开一个大于 1024 的端口连接到 FTP 得 20 端口,并在这个两个端口之间进行数据传输。

FTP 协议中,控制连接均有客户端发起,而数据连接有两种工作方式:

PORT 主动方式和PASV 被动方式

主动

client              server

1024+ ---------------> 21

1024+N <-------------- 20

客户端使用1024 以上的端口连接服务器的21 号端口,并且会事先开启一个1024+N 的端口准备让服务器来连接,服务器得知客户端准备的端口后,用20 号端口与客户端连接,创建数据链路时server 端处于主动去连接客户端的状态固称为主动传输模式

被动

client               server

1024+ ---------------> 21 1024+M

1024+ <--------------

1024+N --------------->1024+M

客户端使用1024 以上的端口连接服务器的21 号端口,服务器接到连接请求后,开启一个1024+M 的端口等待客户端来连接,再通知客户端这个等待连接的端口号是1024+M,客户端接到服务器端的信息后,开启新的一个1024+N 的端口与1024+M 进行连接,创建数据连接时,server 端处于被客户端连接的状态,固称为被动传输模式.

vsftp 默认是根据客户端不同而使用不同模式,windows 客户端则使用主动,linux 客户端则使用被动

可以用 pasv_enable=NO 来强制使用主动

NFS服务

NFS即网络文件系统(NetWork File System),是使不同的计算机之间能通过网络进行文件和目录共享的一种网络协议,多用于类UNIX系统中的网络中。

windows网络共享服务或samba服务用于办公居于网共享,而护粮网中小型网站集群架构后端常用NFS进行数据共享,如果是大型网站,那么有可能还会用到更复杂的分布式文件系统(mfs,GlusterFS,FastDFS)。

RPC服务(使用的是固定端口111)最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而确保客户端可以链接到正确的NFS端口上去,达到实现数据传输交互数据目的。

NFS端口号

NFS的功能所对应的端口无法固定,它会随机取用一些未被使用的端口来作为传输只用。

一般nfs为udp 2049和其他挂载端口等,rpc为111端口。

NFS 服务配置过程中,其中 mountd, statd 和 lockd 进程可以使用固定端口号。

修改 /etc/sysconfig/nfs 文件

MOUNTD_PORT="4002"

STATD_PORT="4003"

LOCKD_TCPPORT="4004"

LOCKD_UDPPORT="4004"

NFS的工作原理

当访问程序通过NFS客户端向NFS服务器端存取文件时,其请求数据流程大致如下:

1)首先用户访问网站程序,由程序在NFS客户端上发出存取NFS文件的请求,这时NFS客户端(即执行程序的服务器)的RPC服务(rpcbind 服务)就会通过网络向NFS服务器端的RPC服务(rpcbind 服务)的111端口发出NFS文件存取功能的询问请求。

2)NFS服务器端的RPC服务(rpcbind服务)找到对应的已注册的NFS端口后,通知NFS客户端的RPC服务(rpcbind 服务)。

3)此时NFS客户端获取到正确的端口,并与NFS daemon联机存取数据。

4)NFS客户端把数据存取成功后,返回给前端访问程序,告知用户存取结果,作为网站用户,就完成了一次存取操作。

因为NFS的各项功能都需要向RPC服务( rpcbind服务)注册,所以只有RPC服务才能获取到NFS服务的各项功能对应的端口号(portnumber)、PID、NFS在主机所监听的IP等信息,而NFS客户端也只能通过向RPC服务询问才能找到正确的端口。也就是说,NFS需要有RPC服务的协助才能成功对外提供服务。从上面的描述,我们不难推断,无论是NFS客户端还是NFS服务器端,当要使用NFS时,都需要首先启动RPC服务,NFS服务必须在RPC服务启动之后启动,客户端无需启动NFS服务,但需要启动RPC服务。

Samba与nfs与ftp的更多相关文章

  1. [转帖]使用Gnome文件管理器连接到服务器:FTP/SFTP、Samba、NFS的方法

    使用Gnome文件管理器连接到服务器:FTP/SFTP.Samba.NFS的方法 2019-05-09 16:28:44作者:雷增线稿源:云网牛站 https://ywnz.com/linuxyffq ...

  2. 第12章 使用Samba或NFS实现文件共享

    章节简述: 本章节为读者讲述文件共享系统的作用,了解Samba与NFS服务程序的开发背景以及用法. 详细逐条讲解Samba服务配置参数,演示安全共享文件的配置策方法,并使用autofs服务程序自动挂载 ...

  3. 《linux就该这么学》第十三节课:第11章和第12章,vsftpd服务与samba和nfs服务

    第十一章 (借鉴请改动) 11.1.文件传输协议 FTP文件穿数协议,端口20用于数据传输,21端口用于传输相关FTP命令 ftp协议的两种工作模式: 主动模式:ftp向客户端发起 被动模式(默认): ...

  4. 《Linux就该这么学》培训笔记_ch12_使用Samba或NFS实现文件共享

    <Linux就该这么学>培训笔记_ch12_使用Samba或NFS实现文件共享 文章最后会post上书本的笔记照片. 文章主要内容: SAMBA文件共享服务 配置共享资源 Windows挂 ...

  5. linux入门系列16--文件共享之Samba和NFS

    前一篇文章"linux入门系列15--文件传输之vsftp服务"讲解了文件传输,本篇继续讲解文件共享相关知识. 文件共享在生活和工作中非常常见,比如同一团队中不同成员需要共同维护同 ...

  6. [转载]SELinux 环境下网络服务设置,配置 Apache 、Samba、NFS

    原文地址:http://www.ibm.com/developerworks/cn/linux/l-cn-selinux-services1/index.html?ca=drs- 引言 SELinux ...

  7. MPSOC之9——host、embeded间tftp、nfs、ftp环境搭建

    tftp 可传输单个文件,不能传文件夹 需要通过命令传输文件,略显复杂 ==一般调试kernel时,用uboot通过tftp方式启动,不用每次都烧写存储介质== nfs 在host linux(ubu ...

  8. NFS、FTP介绍

    第二十五课 NFS.FTP介绍 目录 一. NFS介绍 二.NFS服务端安装配置 三.NFS配置选项 四.exportfs命令 五.NFS客户端问题 六.FTP介绍 七.使用vsftpd搭建ftp 八 ...

  9. 配置samba和NFS共享服务

                            配置samba和NFS共享服务 1案例1:配置SMB文件夹共享 1.1问题 本例要求在虚拟机server0上发布两个共享文件夹,具体要求如下: 此服务器 ...

随机推荐

  1. UWP入门(三) -- StackPanel与Grid的区别

    原文:UWP入门(三) -- StackPanel与Grid的区别 ##1.Grid 下布局 <Grid Background="{ThemeResource ApplicationP ...

  2. UWP的TextBox和PasswordBox使用输入范围更改触摸键盘InputScope

    原文:UWP的TextBox和PasswordBox使用输入范围更改触摸键盘InputScope 当你的应用运行在具有触摸屏的设备上时,触摸键盘可用于文本输入.当用户点击可编辑的输入字段(如 Text ...

  3. .NET Core整合log4net以及全局异常捕获实现2

    Startup代码 public static ILoggerRepository repository { get; set; } public Startup(IConfiguration con ...

  4. Windows下获取高精度时间注意事项 [转贴 AdamWu]

    花了很长时间才得到的经验,与大家分享. 1. RDTSC - 粒度: 纳秒级 不推荐优势: 几乎是能够获得最细粒度的计数器抛弃理由: A) 定义模糊 - 曾经据说是处理器的cycle counter, ...

  5. Excel导入导出各种方式分析

    1.引言 1.1解决哪些问题   现在很多公司用的导出基本上采用的通过gridView导出excel,此种导出存在以下几种问题 1.数据量大的时候有时导出有时会让浏览器卡死,因为导出的excel不是真 ...

  6. 打开并锁定一个文件(使用LockFile API函数)

    var aHandle : THandle; aFileSize : Integer; aFileName : String; procedure TForm1.Button3Click(Sender ...

  7. Hadoop集群(第4期)VSFTP安装配置

    1.VSFTP简介 VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. 安全性是编写VSF ...

  8. SYN591-A型 计数器

       SYN591-A型 计数器 秒表计数器累计计数器电机测速表使用说明视频链接: http://www.syn029.com/h-pd-248-0_310_44_-1.html 请将此链接复制到浏览 ...

  9. vue的checkbox或多选的select的代码例子

    另外一种实现checkbox的vue绑定方法代码: 给v-model绑定一个相同的数组类型的属性: <div id="app"> <label>jack&l ...

  10. WebFlux 集成 Thymeleaf 、 Mongodb 实践 - Spring Boot(六)

    这是泥瓦匠的第105篇原创 文章工程: JDK 1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-5-thymeleaf ...