You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于AWS NLB或EC2堡垒主机处理动态端口FTP接入的技术问询

解决方案解析

关于Network Load Balancer(NLB)的绕过方法

FTP被动模式会使用动态端口传输数据,这是你仅开放21端口仍无法接收数据的核心原因。针对NLB的端口限制,可行的解决方式如下:

  • 先将FTP服务器的被动模式端口范围固定为一个连续区间(比如10000-10100),具体配置取决于你使用的FTP服务端软件(如vsftpd需修改pasv_min_port和pasv_max_port参数)。
  • 在NLB上配置两个监听规则:一个针对21端口(控制连接),另一个针对你固定的被动端口范围(数据连接)。
  • 同步更新安全组:允许外部访问NLB的21端口和被动端口范围,同时开放NLB到私有子网FTP服务器的对应端口权限。
    这种方式无需开放所有动态端口,仅需覆盖指定的固定范围即可。

EC2堡垒主机方案的可行性及说明

该方案完全可行,但需要额外的配置与维护工作:

  • 需在堡垒主机上配置端口转发规则,比如用iptables实现:
    # 转发21端口到私有子网FTP服务器
    iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination [私有子网FTP服务器IP]:21
    # 转发固定的被动端口范围
    iptables -t nat -A PREROUTING -p tcp --dport 10000:10100 -j DNAT --to-destination [私有子网FTP服务器IP]:10000-10100
    # 开启系统IP转发功能
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
  • 堡垒主机的安全组需要开放21端口和固定的被动端口范围,同时允许堡垒主机与私有子网FTP服务器的对应端口通信。
    不过该方案存在短板:需要维护堡垒机的系统稳定性、补丁更新,单堡垒机存在单点故障风险,若要实现高可用还需额外配置集群或故障转移机制。

更简便的实现模式

推荐使用AWS Transfer Family(托管FTP服务),这是运维成本最低的方案:

  • 它是AWS托管的FTP/SFTP服务,无需自行维护FTP服务器,可直接对接S3或EFS存储。
  • 支持配置被动模式端口范围,你只需在安全组中开放21端口和指定的被动端口范围即可,服务会自动处理端口转发和流量管理。
  • 可直接将服务关联到私有子网,无需额外的负载均衡或堡垒机,同时自带高可用和监控能力,大幅降低运维成本。

内容的提问来源于stack exchange,提问作者Mateusz Marzec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:12:13