google-compute-engine - 使用被动端口使用 Google Compute Engine 设置 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 -
您可以看到它正在连接并且能够更改到正确的目录,但那是它失败的时候。
有没有人遇到过这个或类似的东西?我想知道这是否与 Google 设置主机名的方式有关。
编辑:注意其他vps,端口范围
解决方案
推荐阅读
- javascript - 如何将我的 javascript 代码连接到 QR 代码生成器 API?
- sql - 如何删除除最后一个条目之外的所有条目
- flutter - Flutter:如何将 AlertDialog 的动作放在其主体的顶部?
- php - 带有链接的 Woocommerce“存档页面”产品标题
- twitter-bootstrap - Bootstrap h-100 和垂直居中内容
- r - R获取rowsum满足条件的所有子集
- javascript - 如何为两个不同的参数分配条目类型
- snowflake-cloud-data-platform - 我想添加一个具有特定名称的行总计。(例如-“PremTotal”)
- airflow - 在气流 2.0 任务流 API 中定义复杂的工作流依赖性
- php - 循环foreach返回重复数据