使用被动端口通过Google Compute Engine设置Proftpd吗?

时间:2019-06-05 06:10:16

标签: google-compute-engine proftpd

所以我有点困惑。 我们有一堆土壤湿度站,它们通过ftp将数据提交到我们的服务器。我们不能将其更改为sftp或ftps,好老式的ftp:/

我已经重新安装了Ubuntu 18.04。 我还安装了proftpd,并且可以在被动模式和主动模式下通过FileZilla成功连接到服务器。 我已经启用了proftpd的配置中设置的端口21和一个被动端口范围(49152-65534),并在Google VPC防火墙规则中启用了这些端口。

一切似乎都很好..当工作站尝试连接到服务器时,请接受。 我得到一条说明站已连接的注释,但是在尝试以被动模式运行时它将失败。 失败提示是“找不到主机名”

我曾尝试关闭UseReverseDNS,但这似乎无济于事。

我还应该注意,我们已经设置了Proftpd,并且正在GCP之外进行较旧的VPS设置。使用相同的配置,可以正常工作。

这是尝试连接的站点的完整日志

Re-using existing connection! (#0) with host xx.xx.xx.xx
Connected to xx.xx.xx.xx (xx.xx.xx.xx) port 21 (#0)
Request has same path as previous transfer
PASV^M
Connect data stream passively
ftp_perform ends with SECONDARY: 0
227 Entering Passive Mode (10,152,0,20,232,150).^M
Hostname was NOT found in DNS cache
  Trying 10.152.0.20...
Connecting to 10.152.0.20 (xx.xx.xx.xx) port 59542

然后是运行proftpd的服务器上的日志

[05/Jun/2019:06:07:17 +0000] "PASS (hidden)" 230 -
[05/Jun/2019:06:07:17 +0000] "PWD" 257 -
[05/Jun/2019:06:07:17 +0000] "CWD incoming" 250 -
[05/Jun/2019:06:07:17 +0000] "PASV" 227 -

您可以看到它正在连接并且可以切换到正确的目录,但这就是失败的原因。

以前有没有人遇到过这个或类似的东西? 我想知道是否与Google设置主机名的方式有关。

编辑:注意其他vps,端口范围

2 个答案:

答案 0 :(得分:2)

好吧,如果有人遇到这个问题,请回答这个问题。

proftpd.conf中,我未注释MasqueradeAddress并将IP地址设置为与服务器的静态IP地址匹配; IE MasqueradeAddress xx.xx.xx.xx,其中xx.xx.xx.xx是给定服务器的静态IP。

我还创建了自己的配置,并使用以下内容将其放置在conf.d

UseReverseDNS off
IdentLookups off

未禁用UseReverseDNSIndentLookups的情况下,连接超时,并且无法上传的电台。

有兴趣的更多信息

答案 1 :(得分:0)

在被动模式连接建立期间,客户端将使用端口21发起连接。之后,客户端将使用某个范围内的随机端口,服务器将使用该端口发送响应。 您实际上可以在客户端日志中看到尝试连接到端口59542的日志,并且它可能已被服务器丢弃。 我建议检查GCP中是否有特定的防火墙规则,以根据客户端配置打开端口范围。您可以在此处查看此信息:https://slacksite.com/other/ftp.html 另外,我建议检查内部系统防火墙规则。