3

我在 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

奇怪的是,有些人无法登录,而有些人却无法登录。

我有以下 pureftp 配置

端口范围

#Port range for passive connections replies. - for firewalling.

PassivePortRange `50000 50100`

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"

当我查看服务器上的本地端口范围时,/proc/sys/net/ipv4/ip_local_port_range 以下是打开的。

32768   61000

我的 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.

有人知道哪里出了问题吗?

4

4 回答 4

6

服务器发送了带有不可路由地址的被动回复。改用服务器地址

通过将以下行添加到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

XX.XX.XX.XX 设置为分配为实例公共地址的弹性 IP。

1024-1048 和 20-21 范围内的端口创建为自定义 TCP 入站规则,允许从任何地方进行连接。

FTP 服务器正在使用 Filezilla 客户端访问的 Ubuntu EC2 上运行 vsftpd。

于 2020-06-26T07:26:51.570 回答
4

所以我相信我解决了这个问题。似乎 aws 正在动态更改 IP 地址。当我为我的被动IP 引用 ftp.domain.com 时,它解析的 ip 与绑定到 cname 记录的初始 ip 不匹配。

解决方案是为我的 ec2 实例分配一个静态弹性 IP,并将我在 pureftp 中的被动 IP 设置为我的静态弹性 IP。到目前为止,它似乎已经解决了我的问题。

于 2015-02-06T07:21:40.633 回答
0

我找到了一些你可以尝试的解决方案。

https://serverfault.com/questions/821025/vsftpd-passive-reply-with-0-0-0-0-address-even-with-correct-pasv-address

我通过禁用listen_ipv6并在配置中启用listen来解决它。

listen_ipv6=不听=是

于 2017-05-10T08:47:16.980 回答
0

我通过设置 vsftpd.conf 得到了解决方案

listen=YES
listen_ipv6=NO

参考这里https://stackoverflow.com/a/54707769/1336561

于 2022-02-17T00:25:12.827 回答