你遇到的“能登录但列不了目录”问题,根源在于FTP是一种多通道协议。防火墙虽然转发了控制通道(21端口)的数据,却无法处理动态协商的数据通道连接,导致数据传输失败。
核心原则是:无论哪种情况,都要确保防火墙能正确识别FTP协议。
| 场景描述 | 核心配置 | 原理说明 |
|---|---|---|
| 场景一:FTP使用被动模式 (现代FTP客户端默认模式) | 1. 开启FTP的ALG功能[H3C] nat alg ftp2. 配置全通安全策略 放行 untrust → trust区域所有端口的流量 | ALG会解析PASV响应,动态创建数据通道的“洞”,让数据连接得以建立。 |
| 场景二:FTP使用主动模式 (服务器通过 PORT命令告知客户端其数据端口) | 1. 确保已配置FTP的ALG[H3C] nat alg ftp2. 使用 port-mapping关联非标准端口[H3C] port-mapping ftp port <your-port> | port-mapping命令告诉防火墙,某个非标准端口上的流量也属于FTP协议,从而触发相应的ALG处理。 |
| 场景三:FTP使用被动模式 & 非标准端口 | 同时执行上述两项配置 1. 开启FTP的ALG 2. 配置 port-mapping ftp port <your-port> | 确保防火墙在控制通道的非标准端口上也能正确识别FTP协议,并触发ALG处理动态协商的数据通道。 |
| 场景四:FTP流量被TLS/SSL加密 (FTPS) | 1. 使用静态端口映射方案 2. 在FTP服务器上设置固定的被动模式端口范围(如60000-60010) 3. 在防火墙上为这个端口范围创建端口映射规则 | 加密流量会使防火墙的ALG无法解析载荷,因此需要通过静态映射方式,为FTP数据通道“打开一个固定的窗口”。 |
开启FTP的ALG功能
为非标准FTP端口配置port-mapping
检查FTP流量是否加密 (FTPS)
如果上述方法都无效,请检查FTP客户端或服务器配置,确认是否启用了TLS/SSL加密(即FTPS)。启用加密后,防火墙无法解析FTP控制信令,ALG会失效。
被动模式 不需要配置 port-mapping ftp port 吧
被动模式 不需要配置 port-mapping ftp port 吧
port-mapping,反而常见是这 3 个问题:pwdls / dir 就卡死、超时失败port-mapping?ftp alg enable不需要额外配置 port-mapping application ftp port 21port-mapping application ftp port 2121
ftp alg enable
# 新建服务
service ip-pasv protocol tcp destination-port 50000 51000
# 安全策略放通外网到内网服务器这段端口
security-policy
rule name to_ftp_pasv
source-zone untrust
destination-zone trust
destination-address 192.168.x.x # 内网FTP服务器IP
service ip-pasv
action permit
undo ftp alg enable
227 Entering Passive Mode 但连不上 → 就是被动端口不通
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明