本文的目标:写一下FTP的工作原理以及限制访问目录和限制速度为100KB的建立过程。 1 FTP工作原理 1.1 FTP协议概述
起初,FTP并不是IP网络上使用的协议,而是网络中计算机之间的文件传输协议。它是美国国防部建立的旧网络,从1960年到1980年使用。当时FTP的主要功能是在主机之间高速、可靠地传输文件。 FTP 仍然保持其可靠性,甚至在今天还允许远程访问文件。这允许用户在一个系统上工作并在另一个系统上存储文件。例如,如果用户运行Web服务器,需要从远程主机获取HTML文件和CGI程序以在本地机器上工作,则需要从远程存储站点获取文件(远程站点还需要安装网络服务器)。当用户完成工作后,可以使用FTP 将文件传输回Web 服务器。使用这种方法,用户无需登录远程主机即可工作,这使得更新Web服务器变得如此简单。
FTP是一种文件传输协议,支持两种模式,一种是称为(即主动模式),另一种是(即PASV,被动模式)。模式 FTP 客户端向 FTP 发送 PORT 命令。模式 FTP 客户端向 FTP 发送 PASV 命令。
FTP是TCP/IP的具体应用。它工作在OSI模型的第七层和TCP模型的第四层,即应用层。它使用 TCP 传输而不是 UDP,使 FTP 客户端能够经过众所周知的“三次握手”过程,这意味着客户端与服务器之间的连接是可靠的、面向连接的,提供了可靠的保证用于数据传输。接下来我们看一下FTP客户端连接服务器的过程(以标准FTP端口号为例)。首先,FTP不像HTTP协议那样只需要一个端口作为连接(HTTP的默认端口是80,FTP的默认端口是21)。 FTP需要2个端口,其中1个端口作为控制连接端口,即21。该端口用于向服务器发送指令并等待服务器响应;另一个端口是数据传输端口,端口号为20(仅限PORT模式),用于建立数据传输通道。它的主要功能是从客户端向服务器发送数据。文档。将文件从服务器发送到客户端。将文件或目录列表从服务器发送到客户端。其次,FTP连接模式有两种,PORT和PASV。 PORT模式是主动模式,PASV是被动模式,这里两者都是相对于服务器来说的。
1.2 工作原理:
1.2.1 主动传输模式(FTP)
FTP 的数据连接和控制连接的方向相反。换句话说,服务器发起连接,向客户端传输数据。客户端的连接端口是服务器和客户端协商确定的。
FTP客户端随机打开大于1024的端口N向服务器的21端口发起连接,经过TCP三次握手后,连接(控制通道)建立。然后打开N+1端口进行监控并向服务器发出PORT N+1命令。
服务器收到命令后,将使用其本地的FTP数据端口(通常为20)连接到客户端指定的端口N+1进行数据传输。
1.2.2 被动传输模式(FTP)
FTP的数据连接和控制连接的方向是相同的。换句话说,客户端向服务器发起连接,进行数据传输。客户端的连接端口是发起本次数据连接请求时使用的端口号。
FTP客户端随机打开大于1024的N端口向服务器的21端口发起连接,同时打开N+1端口。然后向服务器发送PASV命令,通知服务器处于被动模式。
服务器收到命令后,会打开一个大于1024的P端口进行监听,然后使用PORT P命令通知客户端自己的数据端口就是P端口。客户端收到命令后,会通过N+1端口连接到服务器。 P端口,然后在两个端口之间进行数据传输
当防火墙后面的 FTP 客户端访问外部 FTP 服务器时,通常使用被动模式 FTP。
2 限制访问目录配置流程 2.1 安装
本文使用7系统。首先配置静态IP,保证win7测试功能可以ping通ftp服务器的IP地址。具体组网方式就不介绍了。
为了避免一些不可预知的错误,需要将其关闭。
getenforce #获取selinux状态
vi /etc/selinux/config #修改/etc/selinux/config文档
SELINUX=disabled #关闭selinux
reboot #重启
yum -y install vsftpd #安装vsftpd
systemctl enable vsftpd #设置开机自启动vsftpd
systemctl start vsftpd #启动vsftpd服务
systemctl status vsftpd #查看vsftpd服务状态
2.2 配置防火墙
firewall-cmd --add-service=ftp --permanent #将vsftpd服务添加到防火墙规则,使其通过防火墙
firewall-cmd --reload #重新加载防火墙规则
firewall-cmd --list-all #查看所有防火墙规则列表
2.3 配置
修改文件/etc//.conf
vi /etc/vsftpd/vsftpd.conf
修改如下图:
useradd -d /home/ftp2 -s ftpUser2 #新建用户ftpUser2
passwd ftpUser2 #设置密码
useradd -d /home/ftp3 -s ftpUser3 #新建用户ftpUser3
passwd ftpUser3 #设置密码
cd /home/ftp2 #进入/home/ftp2目录下
mkdir a b c #新建文件夹a b c
cd /home/ftp3 #进入/home/ftp3目录下
mkdir c x z #新建文件夹c x z
vi /etc/vsftpd/chroot_list
在里面添加用户名
systemctl restart vsftpd #重启vsftpd服务
限速100KB的建立过程:
vi /etc/vsftpd/vsftpd.conf
添加以下代码:
systemctl restart vsftpd #重启vsftpd服务
2.4 测试结果
进入win7虚拟机,打开,分别用ftp登录。
测试结果如下:
您可以切换目录:
只能在自己的目录下,不能切换到上一级目录:
在win7虚拟机的ftp目录下粘贴一个几十兆的文件,查看传输速率。
传输速率限制为 100KB:
扫一扫在手机端查看
-
Tags : vsftpd 配置限制大小
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。