我们最近将服务器转移到Azure上。它运行我们的销售点系统,并通过FTP上传一些文件到我们的few服务器,然后被解析并创建产品。
销售点软件开发人员有一堆运行FTP.exe的批处理文件,不幸的是这些文件不支持被动文件传输(不管您读到了什么因此,我们被困在使用主动传输,不幸的是,这不适合Azure很好。
服务器正在使用端口10090-10100进行活动连接(我已经在NSG中创建了一个允许10090 - 10100的规则),但不幸的是,这一点根本行不通。
我正在试图说服开发人员使用WinSCP重写,这样我们就可以使用被动传输,但除此之外,我一直在寻找另一种解决方案,到目前为止没有什么效果。
我知道这在操作系统中不是一个问题,因为我已经关闭了Windows防火墙&仍然没有运气。
非常感谢您对此问题的任何帮助或建议。
发布于 2017-01-13 12:04:30
服务器正在使用端口10090-10100进行活动连接(我已经在NSG中创建了一个允许10090 - 10100的规则),但不幸的是,这一点根本行不通。
这是一种by设计行为,因为VM的NSG内界规则没有关于随机非特权端口的条目。
在活动模式下,FTP客户端从连接一个随机的非特权端口 (N > 1023)到FTP服务器的命令端口(端口21 )。然后,客户端开始侦听端口N+1,并将FTP命令端口N+1发送到FTP服务器。然后,服务器将从本地数据端口(即端口20 )连接回客户端指定的数据端口。
下面显示的连接如下:

为了进行测试,我在同一个Vnet中创建了2个VM2 (关闭windows防火墙),并在VM1上设置FTP,然后使用VM2(禁用使用被动FTP)访问FTP,它可以工作。因为VM1和VM2可以相互连接,并且在同一个Vnet中,NSG不适用于内部网络流量。
因此,在这种情况下,active FTP无法工作,因为服务器无法启动到客户端的连接。也许最安全的方法是被动模式FTP。
https://stackoverflow.com/questions/41628683
复制相似问题