现象特征:可以登录(控制通道 21 通),但是无法列目录、无法传输数据,就是典型数据通道不通;F5000‑AI‑130‑G 属于 V7 平台,依赖FTP‑ALG处理应用层载荷里的 IP / 端口信息H3C。
组网场景:内网 FTP 服务器,配置nat‑server做端口映射,外网用户访问公网 IP 使用 FTP 服务。
| 项目 | 主动模式 (PORT) | 被动模式 (PASV,客户端软件默认) |
|---|---|---|
| 数据连接是谁发起 | FTP 服务器主动向外发起连接(服务器 20 端口→客户端随机高端口) | 客户端主动向服务器发起连接(客户端随机端口→服务器返回的随机高端口) |
| 服务器侧数据端口 | 固定源端口 TCP 20 | 服务器随机分配高端口(如 50000‑51000,服务器配置端口池) |
| NAT‑server 是否需要手动映射数据端口 | 不需要手动写 nat‑server 映射 20 端口,ALG + 会话表动态处理 | 不能只映射 21,需要处理服务器被动高端口;有两种实现方式 |
| ALG 作用 | 修改客户端 PORT 报文中携带的私网 IP / 端口 | 修改服务器 227 PASV 响应报文中携带的私网 IP / 端口,替换为公网 IP |
❗重点:控制端口 21 必须做 nat‑server 映射;数据端口不要一概全部手动写死映射,两种模式处理方式不同。
alg ftp;服务器从 20 端口向外发起的数据连接,依靠防火墙会话表动态放行,不需要预配置静态端口映射。⚠️注意:主动模式现在外网客户端大多不支持,客户端侧防火墙会拦截服务器主动回过来的数据连接,生产环境不推荐使用主动模式。
外网客户端全部默认使用被动模式;仅映射 21 端口,不处理被动高端口,就会出现 “能登录,无法列目录、传文件”,就是用户遇到故障现象。
alg ftp;❗关键点:被动高端口不要在防火墙上写 nat‑server 一条条映射;依靠 ALG + 安全策略放行该段入站流量,防火墙动态做目的 NAT 转换。
如果 FTP 服务器没有配置对外公网 IP,服务器回复 227 报文中携带私网 IP,即使防火墙开启 ALG,也会出现数据通道失败。(Windows FileZilla Server、vsftpd 都要设置对外公网 IP)
system‑view
#开启FTP ALG(非常关键,很多故障就是这里关闭)
alg ftp
#1、映射控制端口21
nat server protocol tcp global 202.1.1.1 21 inside 192.168.1.10 21
#安全策略,外网访问内网FTP
security‑policy
rule permit ip source‑zone Untrust destination‑zone Trust service ftp
rule permit ip source‑zone Untrust destination‑zone Trust service tcp destination‑port‑range 50000 51000
检查命令
display nat server
display alg status
display security‑policy rule
alg ftp:控制连接通,但是 PASV 返回报文里面仍是私网 IP,客户端尝试连接私网 IP,数据连接失败。暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论