一、检查防火墙规则配置
防火墙拦截是FTP连接失败的常见原因。需分别在服务器本地防火墙和云平台安全组中执行以下操作:
- Linux系统使用
iptables -L
或firewall-cmd --list-all
查看规则 - Windows系统需在防火墙高级设置中允许TCP 21端口及被动端口范围
- 确认入站规则包含FTP控制端口(默认21)和数据传输端口(主动模式20/被动模式自定义范围)
二、验证端口开放状态
使用网络工具进行多维度检测:
- 执行
telnet 服务器IP 21
测试基础连接 - 通过
netstat -tuln | grep 21
确认服务监听状态 - 云服务器需在控制台安全组添加端口放行规则
协议 | 端口 | 方向 |
---|---|---|
TCP | 21 | 入站 |
TCP | 20 | 入站 |
TCP | 50000-51000 | 入站 |
三、配置被动模式端口范围
被动模式需额外开放数据端口范围:
- 修改vsftpd配置文件指定
pasv_min_port
和pasv_max_port
- Windows IIS需在FTP防火墙支持中设置被动端口范围
- 安全组和本地防火墙需同步放行该端口段
四、安全组策略验证
云平台安全组需执行双重验证:
- 检查关联实例的安全组是否包含FTP相关规则
- 确认规则源地址设置为
0.0.0.0/0
或特定IP段 - 测试不同网络环境下的连接状态以排除地域限制
解决FTP访问问题需采用分层验证策略:从本地防火墙到云安全组逐级排查端口开放状态,特别注意被动模式需要同时配置服务端端口范围和网络策略。建议使用tcpdump
或Wireshark进行流量抓包分析,可快速定位拦截节点。