VSFTP 服务器概述

 节所讲内容: 

    4.1    VSFTP 服务器概述  

    4.2    安装配置 VSFTP  

 

服务器信息: 

FTP 服务端:xuegod63      IP:192.168.1.63 

FTP 客户端:xuegod64      IP:192.168.1.64 

4.1    VSFTP 服务器概述 

4.1.1    FTP 服务概述 

FTP 服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它

们依照 FTP 协议提供服务。 

FTP(File Transfer Protocol:  文件传输协议)作用:Internet  上用来传送文件的协议。 

 

常见 FTP 服务器: 

Windows:Serv-U 、FTP Server、filezilla_server 

Linux:ProFTPD:(Professional FTP daemon)一个 Unix 平台上或是类 Unix 平台上(如 Linux, FreeBSD 等)的 FTP 服务器程序。 

4.1.2    本节主讲:VSFTP 

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

特点: 它是一个安全、高速、稳定的 FTP 服务器。 

VSFTP 模式:  C/S  模式

监听端口:20、21 

[root@xuegod64 ~]# vim /etc/services      #查看 services 文件,如图  4-1  所示。 

 image.png图  4-1 FTP 端口  

 

FTP 监听的端口有两个: 

端口 20:用于传输数据       

端口 21:用于传输指令 

4.1.3    工作流程(原理)分为两种模式: 

主动和被动模式: 

FTP 会话包含了两个通道,控制通道和数据传输通道,FTP 的工作有两种模式,一种是主动模式,一种是被动模式,以 FTP  Server 为参照,主动模式,服务器主动连接客户端传输;被动模式,等待客户的连接。 

主动模式的工作原理: 

FTP 客户端连接到 FTP 服务器的 21 号端口,发送用户名和密码,客户端随机开放一个端口(1024

以上),发送 PORT 命令到 FTP 服务器,告知服务器客户端采用主动模式并开放端口,FTP 服务器收到 PORT主动模式命令和端口后,通过服务器的 20 号端口和客户端开放的端口连接,发送数据,原理如图  4-2  所示,(无论是主动还是被动模式,首先的控制通道都是先建立起来,只是在数据传输模式上的区别) 

image.png

           图  4-2 FTP 主动模式工作原理图 

被动模式的工作原理: 

PASV 是 Passive 的缩写,中文成为被动模式,工作原理:FTP 客户端连接到 FTP 服务器所监听的

21 号端口,发送用户名和密码,发送 PASV 命令到 FTP 服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告知客户端,而后客户端再连接到服务器开放的端口进行数据传输,原理如图 4-3  所示。  

image.png图  4-3 FTP 被动模式工作原理图 

注:以上的说明主动和被动,是相对于的 FTP server  端而判断,如果 server  去连接 client  开放的端口,说明是主动的,相反,如果 client 去连接 server 开放的端口,则是被动。 

4.2    安装 vsftp 服务器端、客户端 

使用 rpm 安装本地光盘中的 vsftp 程序包: 

[root@xuegod63 ~]# rpm -ivh /mnt/cd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm   

或: 

使用 Yum 直接安装(两种安装方法,选取其中一种即可): 

[root@xuegod63 ~]# yum -y install vsftpd    

4.2.1    安装客户端: 

[root@xuegod64 ~]# yum install -y lftp      #使用 Yum 安装 ftp 客户端。 

lftp 

注:从 CentOS 开始,系统镜像中默认没有 ftp 客户端命令。取而代之的是 lftp 命令。 

Linux 客户端: lftp  是一个功能强大的下载工具,它支持访问文件的协议: ftp、ftps、http、https、hftp、fish(其中 ftps 和 https 需要在编译的时候包含 openssl 库),llftp 的界面非常类似一个 Shell,有命令补全、历史记录、允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载、等功能。  

4.2.2    配置文件位置: 

vsftpd  相关文档:  

/etc/vsftpd/vsftpd.conf   #vsftpd  的核心配置文件。 

/etc/vsftpd/ftpusers      #用于指定哪些用户不能访问 FTP  服务器,即黑名单。 

/etc/vsftpd/user_list      #指定允许使用 VSFTP 的用户列表文件,即白名单。 

[root@xuegod63 ~]# vim /etc/vsftpd/user_list   #查看 user_list 文件,如图  4-4  所示。 

image.png

图  4-4 VSFTP 的用户列表文件 

图 4-4 中的说明:如果 userlist_deny= YES(默认),绝不允许在这个文件中的用户登录 ftp,甚至不提示输入密码。 

 /etc/vsftpd/vsftpd_conf_migrate.sh    #是 vsftpd  操作的一些变量和设置脚本 

/var/ftp/      #默认情况下匿名用户的根目录 

4.2.3  启动服务 

[root@xuegod63 vsftpd]# systemctl start vsftpd      #启动 FTP 服务。 

[root@xuegod63 vsftpd]# systemctl enable vsftpd  #设置开启自动启动 FTP 服务。 

#注意关闭 iptables  和 SElinux   

[root@xuegod63 ~]# netstat -antup | grep ftp   #查看 FTP 服务监听的端口。 

tcp        0          0 0.0.0.0:21                    0.0.0.0:*                    LISTEN              11725/vsftpd 

 

思考:以上内容中说明 FTP 监听两个端口,但目前 FTP 已经启动了,但经过查看,只查看到 21 号端口,还有 20 号端口没有查看到?是因为没有数据传输,20 号端口是用于传输数据的,所以 20 号端口是尚未开启,如有数据传输时,20 号端口则会开启。  

4.2.4    FTP 服务的使用方法   

Linux 系统:以 xuegod63 主机示例(即服务端、客户端为一台主机) 

[root@xuegod63 ~]# rpm -ivh /mnt/Packages/lftp-4.4.8-8.el7_3.2.x86_64.rpm    # 安

装 FTP 客户端 

[root@xuegod63 ~]# lftp 192.168.1.63      #连接 FTP 服务器。 

Windows 系统: 

通过浏览器访问或  打开文件夹,在地址栏输入地址:ftp://192.168.1.63/,如图  4-5  所示。  

 image.png

图  4-5 Windows 系统 FTP 客户端连接服务器 

版权声明:
作者:WaterBear
链接:https://l-t.top/1723.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>