3

I've tried the suggestions on a number of sites (http://blogs.thesitedoctor.co.uk/tim/Trackback.aspx?guid=e81a4682-0851-490b-a3d2-adf254a701e7 and http://www.itq.nl/blogs/post/Walkthrough-Hosting-FTP-on-IIS-75-in-Windows-Azure-VM.aspx, and Passive FTP on Windows Azure Virtual Machine) and it won't work.

FTP active and passive both work from the VM to itself. FTP active works from the outside world. FTP passive fails with the server responding back with "550 The network connection was aborted by the local system" (this message returns on the control channel/port 21 immediately after the SYN packet is sent to one of the dynamic ports).

What I've done:

1) Configured IIS on the VM with an FTP site

2) Set the FTP firewall support IP address to the public IP address of the Azure VM instance (for what it's worth, I've also tried with this field empty and tried with the private IP address, none of them work)

3) Set up endpoints for FTP control (TCP/21), FTP data (TCP/20), and FTP dynamic ports (7000 through 7003)

4) Used appcmd.exe to set the port range for FTP (i.e. %windir%\system32\inetsrv\appcmd set config /section:system.ftpServer/firewallSupport /lowDataChannelPort:7000 /highDataChannelPort:7003)

5) Restarted the FTP server (net stop ftpsvc and net start ftpsvc)

6) Tried with the firewall both enabled and disabled (netsh advfirewall set global StatefulFtp enable)

Any ideas? I've verified with Wireshark that the client is trying to use the dynamic port, and that the dynamic ports are being used when I try locally.

4

3 回答 3

2

在 MSDN 论坛上收到了答案。显然管理控制台存在问题,您必须使用 Azure Powershell:http ://social.msdn.microsoft.com/Forums/windowsazure/en-US/8f697f17-72b7-46f7-8c97-398b91190a2f/server-2012 -vm-on-azure-passive-ftp-不会工作

于 2013-06-23T18:31:53.160 回答
1

我能够在不使用任何 Powershell 命令的情况下让被动 FTP 在我的 Azure VM 上工作。只需按照以下步骤操作:http: //blogs.msdn.com/b/wats/archive/2013/12/13/setting-up-a-passive-ftp-server-in-windows-azure-vm.aspx

上面的文章包含在 Azure VM 上设置 FTP 所需的所有步骤。

希望这可以帮助!

于 2014-08-15T06:30:10.637 回答
0

Azure VM 终结点有 4 分钟超时。对于 FTP,这意味着如果被动数据传输花费的时间超过 4 分钟,主连接(端口 21)会超时,因为在 avtive 文件传输时不会发生任何事情!

现在你有两个选择:

1. 可以设置虚拟机端点的超时时间最长为 30 分钟。

执行此操作的 Powershell 命令是:

> Get-AzureVM -ServiceName "MyService" -Name "MyVM" | Set-AzureEndpoint -Name "MyEndpoint" -IdleTimeoutInMinutes 30 | Update-AzureVM

更多信息在这里

2.创建ILIP(实例级IP)

您可以创建一个 ILIP 来绕过 VM Web 服务端点层。执行此操作的 PowerShell 命令是:

Get-AzureVM -ServiceName “MyService” -Name “MyVM” | Set-AzurePublicIP -PublicIPName "MyNewEndpoint" | Update-AzureVM

更多信息在这里

于 2015-11-17T21:07:52.963 回答