FTP被动模式工作原理
在被动模式下,客户端通过随机端口连接服务器的21控制端口后,服务器会随机开启高位端口(如5000-6000)作为数据通道,并将端口号告知客户端完成后续数据传输。此模式可避免客户端防火墙拦截,但需要严格管理服务器端端口范围。
Windows系统配置方法
针对不同服务器软件,配置流程有所差异:
- IIS服务器:修改
MetaBase.xml
文件添加PassivePortRange
参数,格式为”起始端口-结束端口” - 系统防火墙:通过命令
netsh advfirewall
开放指定端口范围,需包含控制端口21和数据端口区间 - Serv-U工具:在高级设置中直接填写PASV端口范围,并绑定服务器外网IP
Linux系统配置方法
以vsftpd服务为例,需修改配置文件:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
配置完成后需重启服务生效,端口范围建议设置为1024-65535之间的连续区间。
其他工具配置示例
- FileZilla Server:在被动模式设置界面直接指定端口范围和对外IP
- Python ftplib:通过
FTPHandler.passive_ports
参数定义端口范围
防火墙策略要求
必须同时放行以下两类端口:
端口类型 | 范围示例 |
---|---|
控制端口 | TCP 21 |
数据端口 | TCP 30000-30999 |
云服务器需额外在安全组规则中开放对应端口。
配置被动模式端口范围时,需根据服务器类型选择对应配置方式,并确保防火墙同时放行控制端口和数据端口区间。建议设置500个以上连续端口以满足并发需求,同时避免使用系统保留端口。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/483670.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。