FTP在aliyun上使用经验服务器
针对FTP服务的网络相关问题,在阿里云上使用经验,该文档一样适合真实物理机房的防火墙相关模型参考使用。网络
一、FTP服务是仅基于TCP协议的服务,不支持UDP。并发
二、主动模式FTP服务的网络访问特色:ide
客户端从一个任意的非特权端口N链接到FTP服务器的命令端口,也就是21端口。而后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它本身的数据端口(20)链接到客户端指定的数据端口(N+1)。阿里云
针对FTP服务器前面的防火墙来讲,必须容许如下通信才能支持主动方式FTP: spa
a. 客户端任何大于1024的端口到FTP服务器的21端口。(客户端初始化的链接) 文档
b. FTP服务器的21端口到客户端大于1024的端口。 (服务器响应客户端的控制端口) it
c. FTP服务器的20端口到客户端大于1024的端口。(服务器端初始化数据链接到客户端的数据端口)class
d. 客户端大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口) 服务器端
三、被动模式FTP服务的网络访问特色:
当客户端发起一个 FTP链接时,客户端打开两个任意的非特权本地端口(N和N+1)。第一个端口链接服务器的21端口,但与主动方式的FTP不一样,客户端不会提交PORT命令并容许服务器来回连它的数据端口,而是提交 PASV命令。这样作的结果是服务器会开启一个任意的非特权端口P,并发送PORT P命令给客户端。而后客户端发起从本地端口N+1到服务器的端口P的链接用来传送数据。
对于服务器端的防火墙来讲,必须容许下面的通信才能支持被动方式的FTP:
a. 从客户端任何大于1024的端口到服务器的21端口(客户端初始化的链接)
b. 服务器的21端口到客户端任何大于1024的端口(服务器响应到客户端的控制端口的链接)
c. 从客户端任何大于1024端口到服务器的大于1024端口(客户端初始化数据链接到服务器指定的任意端口)
d.服务器的大于1024端口到客户端的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)
总结:
1.无论主动模式仍是被动模式,客户端都会使用1024-65535(控制端口N,数据端口N+1)中的随机端口。
2.主动模式时,服务端使用的是20,21端口便可;被动模式时服务端使用21(控制端口),1024-65535(数据端口)。
3.被动模式时,服务器能够经过以下参数来服务器端的数据端口范围:
/etc/vsftpd/vsftpd.conf 新增内容:
pasv_enable=yes
pasv_min_port=10000
pasv_max_port=10009