FTP被动模式(Filezilla)Windows Server 2012偶尔“ 426连接已关闭;中止“”的转让


9

大家,早安,

我在MS Azure托管的WIN 2012 R2服务器上托管FileZilla FTP服务器(被动模式)。

FTP传输通常运行良好-每天运行几次FTP上传和检索。

我在Azure门户/端打开了相对较大的端口范围(端点),以允许使用被动模式。

偶尔(平均每2天一次),我看到FTP传输问题如下:

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> MDTM dev_updates/file1

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 213 20160728071048

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> MDTM dev_updates/file2

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 213 20160728071048

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> MDTM dev_updates/file3

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 213 20160728071050

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> CWD dev_updates/Infrastructure/folder

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 250 CWD successful. "dev_updates/Infrastructure/folder" is current directory.

8/8/2016 9:10:00 AM - USER_FILEZILLA (62.154.Y.X)> PASV

8/8/2016 9:10:00 AM - USER_FILEZILLA (62.154.Y.X)> 227 Entering Passive Mode (104,40,Y,X,234,235)

8/8/2016 9:10:00 AM - USER_FILEZILLA (62.154.Y.X)> 426 Connection closed; aborted transfer of ""

8/8/2016 9:10:01 AM - USER_FILEZILLA (62.154.Y.X)> disconnected.

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> Connected on port 21, sending welcome message...

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 220-FileZilla Server 0.9.57 beta

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 220-written by Tim Kosse (tim.kosse@filezilla-project.org)

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 220 Please visit https://filezilla-project.org/

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> USER USER_FILEZILLA

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 331 Password required for 

如前所述,每天(自动)进行几次FTP传输,并在分配给FileZilla FTP服务器的140多个端口范围内进行扫描(以被动模式运行)。

我在Azure托管的VM上运行了Wireshark捕获;从Wireshark捕获中可以看到,“ 426连接已关闭”事件实际上是由Azure中VM发出的RST匹配的,并发送回发出PASV命令的客户端(即,在上面的示例中,FTP服务器回复客户端的PASV命令的端口为:234,235-> 60139;客户端尝试打开到端口60139的数据通道以开始传输-> FTP服务器立即回复(根据Wireshark捕获,在MS内)发出RST给客户)。

我想到了FTP服务器端的一些临时端口分配问题->所以我减小了允许的动态OS临时端口范围,使其不与FTP被动端口范围重叠-使用

netsh int ipv4 set dynamicport tcp start=49152 num=10000

另外,我通过命令将端口范围保留明确添加到netsh堆栈

netsh int ip add excludeportrange protocol=tcp startport=60000 numberofports=141 store=persistent

尽管如此,问题仍然偶尔发生。

我在该网站以及MS Azure技术网会议上阅读了有关Azure如何监视端点状态(在LB集的一部分时)的广泛技术讨论,但这不适用于FTP被动传输(检索和上载)在保留的FTP被动端口范围内的随机端口上,通常可以正常工作。

我可以根据需要提供其他详细信息-同时,对于在服务器和客户端进行故障排除/调查的其他建议,我将不胜感激(非常确定问题与网络或网络配置无关)。

我还想询问有关如何调试Winsock来解决可能的服务器端套接字可用性问题的其他疑难解答/调查建议/提示。


我将其添加为评论,因为我并不是真的认为这是答案,但是您是否在FileZilla服务器上配置了TLS / SFTP?我在Azure中使用FileZilla遇到了同样的事情(这就是为什么我发现了您的问题)。在尝试查明问题时,我最终关闭了TLS。对我来说,这解决了连接问题。我具有您的确切行为,有时连接只是断开(通常在“进入被动模式”之后)。我还没有找到这虽然:(原因。
Roet

还要检查PASV命令中列出的端口在客户端和服务器上是否都相同-由于FileZilla中有关外部IP设置的设置,我在那里不匹配。我在解析模式下使用它,而不是“默认”模式。
Roet

1
仅供参考:我看到了同样的问题。查看日志,我看到426中止错误总是在另一个会话之后两秒钟出现,但出现了550权限被拒绝的错误。我怀疑这是FileZilla的错误,但对我们而言,解决方法是防止550(在我们的情况下,测试系统尝试访问测试文件夹,但使用了生产凭据;因此我们只需要更正该系统的凭据即可) 。
JohnLBevan '18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.