您的位置:首页 > 编程语言 > PHP开发

FTP在aliyun上使用经验

2016-07-06 09:02 351 查看
FTP在aliyun上使用经验
针对FTP服务的网络相关问题,在阿里云上使用经验,该文档同样适合真实物理机房的防火墙相关模型参考使用。
1、FTP服务是仅基于TCP协议的服务,不支持UDP。
2、主动模式FTP服务的网络访问特点:
客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
a. 客户端任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)
b. FTP服务器的21端口到客户端大于1024的端口。 (服务器响应客户端的控制端口)
c. FTP服务器的20端口到客户端大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)
d. 客户端大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)
3、被动模式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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息