从Azure VM打开Active FTP连接

Wil*_*ill 5 ftp firewall azure

我正在尝试使用Azure VM的Active连接连接到远程FTP服务器.我得到的错误是

非法PORT命令.

使用被动连接连接到其他FTP站点没有问题,但此FTP服务器仅支持Active.我的问题与这个问题基本相同,只是我的问题不是由Windows防火墙引起的.我通过关闭防火墙几秒钟并重新尝试连接来验证这一点,没有运气.

我的理论是,这与Azure"端点"有关,虽然我无法验证,我不知道如何设置它们以允许它.

有任何想法吗?

b2z*_*w2a 5

是的,这看起来像是缺少端点(如果要启用防火墙,则为 + 入站规则)。在主动模式下,服务器通过特定端口(由客户端传递,PORT 命令)连接回客户端 -更长的解释

为了在 azure 上使用主动模式,您必须:

  1. 限制你的 FTP 客户端使用特定的端口(或范围)和公共 IP(它在你的虚拟机的壁纸上),例如 FileZilla: 在此处输入图片说明每个客户都应该在选项中的某个地方有这个。除非你不走运并且使用 .NET Framework FTPWebRequest。

  2. 在端点设置中添加具有相同端口(或范围)的端点Azure VM 的中: azure-vm-port-rage 没有办法一键添加端口范围你必须一个一个添加每个端口(很烦人)

就是这样。您可以运行 FileZilla“网络连接向导”来验证这些设置,您应该会看到如下内容:

Connecting to probe.filezilla-project.org
Response: 220 FZ router and firewall tester ready
USER FileZilla
Response: 331 Give any password.
PASS 3.9.0.6
Response: 230 logged on.
Checking for correct external IP address
IP 23.102.xx.xxx cd-bac-dd-bcg
Response: 200 OK
PREP 6000
Response: 200 Using port 6000, data token 1941533557
PORT 23,102,xx,xxx,23,112
Response: 200 PORT command successful
LIST
Response: 150 opening data connection
Response: 200 Successful
QUIT
Response: 200 goodbye!
Run Code Online (Sandbox Code Playgroud)