单位网站建设情况总结,商标注册查询平台,重庆自助建站软件,网站一年费用FTP的主动模式(PORT Mode)及被动模式(Passive Mode) FTP的特殊性#xff1a; 大多数的TCP服务是使用单个的连接#xff0c;一般是客户向服务器的一个周知端口发起连接#xff0c;然后使用这个连接进行通讯。但是#xff0c;FTP协议却有所不同#xff0c;它使用双向的多个连… FTP的主动模式(PORT Mode)及被动模式(Passive Mode) FTP的特殊性 大多数的TCP服务是使用单个的连接一般是客户向服务器的一个周知端口发起连接然后使用这个连接进行通讯。但是FTP协议却有所不同它使用双向的多个连接而且使用的端口很难预计。一般FTP连接包括
1一个控制连接Control Connection
这个连接用于传递客户端的命令和服务器端对命令的响应。它使用服务器的21端口生存期是整个FTP回话时间。
2几个数据连接Data Connection
这些连接用于传输文件和其他数据例如目录列表等。这种连接在需要数据传输时建立而一旦数据传输完毕就关闭。每次使用的端口也不一定相同。而且数据连接即可能是客户端发起的也可能是服务器端发起的。
FTP有两种工作模式PORT方式和PASV方式中文意思为主动式和被动式 详细介绍如下
主动模式(PORT Mode)在FTP协议中控制连接使用周知端口21。相反数据传输连接的目的端口通常实现无法知道。FTP协议使用一个标准的端口21作为ftp-data端口但是这个端口只用于连接的源地址是服务器端的情况在这个端口上根本就没有监听进程。FTP的数据连接和控制连接的方向一般是相反的也就是说是服务器向客户端发起一个用于数据传输的连接。连接的端口是由服务器端和客户端协商确定的。FTP协议的这个特征对ISA转发以及防火墙和NAT的配置增加了很多困难。
被动模式(Passive Mode)在这种模式下数据连接是由客户程序发起的和主动模式相反。是否采取被动模式取决于客户程序在客户端ftp命令行中使用passive命令就可以关闭/打开被动模式。 主动 FTP 命令连接客户端 1024 端口 → 服务器 21 端口 FTP客户端随机开启一个大于1024的本地端口向服务器的21号端口发起连接 数据连接客户端 1024 端口 ← 服务器 20 端口 被动 FTP 命令连接客户端 1024 端口 → 服务器 21 端口 数据连接客户端 1024 端口 ← 服务器 1024 端口
PORT主动方式的连接过程是客户端向服务器的FTP端口默认是21发送连接请求服务器接受连接建立一条命令链路。当需要传送数据时客户端在命令链路上用PORT命令告诉服务器“我打开了***X端口你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求建立一条数据链路来传送数据。
PASV被动方式的连接过程是客户端向服务器的FTP端口默认是21发送连接请求服务器接受连接建立一条命令链路。当需要传送数据时服务器在命令链路上用PASV命令告诉客户端“我打开了***X端口你过来连接我”。于是客户端向服务器的***X端口发送连接请求建立一条数据链路来传送数据。
从上面可以看出两种方式的命令链路连接方法是一样的而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。
解决此问题的办法也很简单我们需要在云主机控制台上创建安全组规则设置入站规则如1024到65535端口和21端口 或者开启PASV被动模式 在 /etc/vsftpd/vsftpd.conf 的最下面加入
pasv_enableYES
pasv_min_port30000
pasv_max_port30999wq 保存退出 重启FTP服务器
systemctl restart vsftpd同样在云主机控制台上创建安全组规则设置入站规则30000到30999端口和21端口就OK了