Cod*_*kie 3 ftp amazon-ec2 amazon-web-services pureftpd
我在 AWS ec2 实例上运行了 pureftp。我试图让它在我认为有效的被动模式下运行,但是我发现它可能无法正常工作。我在 FileZilla 中收到以下错误
Status: Connected
Status: Retrieving directory listing...
Status: Server sent passive reply with unroutable address. Using server address instead.
Status: Directory listing of "/" successful
Run Code Online (Sandbox Code Playgroud)
奇怪的是,有些人无法登录,而其他人则无法登录。
我有以下 pureftp 配置
端口范围
#Port range for passive connections replies. - for firewalling.
PassivePortRange `50000 50100`
Run Code Online (Sandbox Code Playgroud)
PASV IP
#Force an IP address in PASV/EPSV/SPSV replies. - for NAT.
#Symbolic host names are also accepted for gateways with dynamic IP
#addresses.
ForcePassiveIP `ftp.mydomain.com` "my cname record is mapped to my ec2 public dns"
Run Code Online (Sandbox Code Playgroud)
当我在服务器上查看本地端口范围时,/proc/sys/net/ipv4/ip_local_port_range 以下是打开的。
32768 61000
Run Code Online (Sandbox Code Playgroud)
我的 ec2 安全组已打开端口 50000 - 50100
当我查看我的服务器日志时,我偶尔会看到除此之外的其他内容。
Feb 5 08:57:41 ip-172-11-42-52 dhclient[1062]: DHCPREQUEST on eth0 to 172.11.32.1 port 67 (xid=0x601547fd)
Feb 5 08:57:41 ip-172-11-42-52 dhclient[1062]: DHCPACK from 172.11.32.1 (xid=0x601547fd)
Feb 5 08:57:43 ip-172-11-42-52 dhclient[1062]: bound to 172.11.42.52 -- renewal in 1417 seconds.
Run Code Online (Sandbox Code Playgroud)
任何人都知道哪里可能出错?
服务器发送带有不可路由地址的被动回复。改用服务器地址
这解决了我通过将以下行添加到etc/vsftpd.conf来让 FTP 在 AWS EC2 上工作的错误
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_addr_resolve=YES
pasv_address=XX.XX.XX.XX
Run Code Online (Sandbox Code Playgroud)
XX.XX.XX.XX 设置为分配为实例公共地址的弹性 IP。
1024-1048 和 20-21 范围内的端口创建为自定义 TCP 入站规则,允许来自任何地方的连接。
FTP 服务器在使用 Filezilla 客户端访问的 Ubuntu EC2 上运行 vsftpd。
| 归档时间: |
|
| 查看次数: |
12254 次 |
| 最近记录: |