来自Google计算平台内部的标准FTP连接

我最近在Google Compute Engine中设置了一个新的Windows服务器,并试图build立一个从VM到Internet上托pipe的FTP服务器的出站不安全FTP连接。

我能够连接和login,但只要我尝试发送/下载文件或做一个简单的目录列表,我收到几个错误之一,包括:a)由远程主机closures的连接,b)非法的端口命令,或c)无法build立数据连接:连接被拒绝。 WireShark确认当FTP客户端尝试通过数据通道,TCP端口20build立连接时,会发生问题。

我已经在互联网上的三个不同的网站尝试了这一点,从我的笔记本电脑和服务器在Google Compute之外托pipe在不同的互联网连接上都没有任何问题。 我也尝试configuration系统使用FTP的SOCKS代理服务器,并得到相同的结果。 我也试着将stream量通过站点路由到站点VPN到另一个站点的路由器,在那里我能够成功连接到FTP服务器。

我最终build立了一个从Google Compute Engine虚拟机到另一个站点的路由器的L2TP / IPSec Windows客户端VPN连接,并且能够成功访问FTP站点。 我经历了几次Google Compute Engine中的防火墙规则和路由。

有没有人知道阻止出站不安全的FTP连接的Google政策? 我知道他们基本上实施了安全的邮件连接,我想知道这里是否适用类似的政策。 我也更喜欢安全的FTP,但在这种情况下,另一端的供应商只支持不安全的FTP。

先谢谢你。

正如Julie Pelletier在她的评论中提到的,你的ftp问题应该与你的Windows VM内部防火墙有关。 您将需要添加适当的防火墙规则,以正确build立FTP连接。 FTP连接可以在ActivePassive模式下build立。 防火墙规则应根据连接模式进行规划和添加。 你可以在这个stackoverflow线程中阅读这些模式。

关于您的评论中的其他问题,Google Compute Engine是不允许在端口25,465和587上进行出站连接的。默认情况下,这些出站SMTP端口会被阻止,因为这些端口容易受到大量滥用。 你可以在这篇文章中阅读更多。