使用被动端口使用 Google 计算引擎设置 Proftpd?



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

我已经设置了 Ubuntu 18.04 的全新安装。 我还安装了proftpd,我可以在被动和主动模式下通过FileZilla成功连接到服务器。 我已经启用了端口 21 和在 proftpd 配置中设置的被动端口 (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 -

您可以看到它正在连接并能够更改为正确的目录,但那是失败的时候。

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

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

好的,如果有人遇到这个问题,可以回答这个问题。

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

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

UseReverseDNS off
IdentLookups off

如果不禁用UseReverseDNSIndentLookups连接超时,无法上传的工作站。

如果您有兴趣,更多信息

  • 化装舞会地址
  • 使用反向DNS
  • 标识查找

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

相关内容

  • 没有找到相关文章

最新更新