从Azure VM打开Active FTP连接

时间:2014-10-31 16:01:36

标签: azure ftp firewall

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

  

非法的PORT命令。

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

是的,这看起来像是一个缺失的端点(如果您想要启用防火墙,则为+入站规则)。 在活动模式下,服务器连接回特定端口上的客户端(由客户端传递,PORT命令) - longer explanation

为了在天蓝色上使用主动模式,你必须:

  1. 限制FTP客户端使用特定端口(或范围)和公共IP(它在VM的壁纸上) 例如FileZilla中: enter image description here每个客户都应该选择这个。除非你不幸并使用.NET Framework FTPWebRequest

  2. 在Azure VM的Endpoint settings中添加具有相同端口(或范围)的端点: azure-vm-port-rage无法一次添加端口范围,您必须逐个添加每个端口(非常烦人)

  3. 就是这样。您可以运行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!