Я пытаюсь подключиться к FTP на новой виртуальной машине в Azure.
Я сделал новую виртуальную машину из образа по умолчанию (Windows Server 2012 Datacenter) и вставил RDP в новую виртуальную машину. Затем я включил роль веб-сервера (IIS), включая FTP-сервер, и настроил IIS, используя рекомендованную настройку из установщика веб-платформы. Затем я использовал мастер IIS Manager «Добавить FTP-сайт ...», чтобы добавить FTP-сайт с корневым %systemdrive%\inetpub\ftproot
и настроить на ftp-сайте активацию анонимной аутентификации, разрешить доступ анонимным пользователям для чтения, дать канал данных. Диапазон портов 7000-7014 и укажите внешний IP-адрес брандмауэра в качестве публичного виртуального IP-адреса (VIP) с панели мониторинга виртуальной машины на портале управления Azure.
Брандмауэр также настроен на разрешение FTP-сервера.
На данный момент служба FTP работает. Я знаю, потому что, если я открываю командную строку на виртуальной машине в сеансе RDP, я получаю следующее
C:\Users\slife>ftp 127.0.0.1
Connected to 127.0.0.1.
220 Microsoft FTP Service
User (127.0.0.1:(none)): ftp
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
ftp>
Однако я не могу подключиться откуда-либо еще.
C:\Users\timregan>ftp 111.111.111.33
Connected to 111.111.111.33.
Connection closed by remote host.
Вот из командной строки в FileZilla я получаю
Status: Connecting to 111.111.111.33:21...
Status: Connection established, waiting for welcome message...
Error: Could not connect to server
Я выполнил пошаговое руководство Рональда : размещение FTP на IIS 7.5 в виртуальной машине Windows Azure и добавил две конечные точки, чтобы разрешить доступ к портам 21 (порт команд FTP) и 20 (порт данных FTP), и я использовал его предложение Azure Powershell, чтобы добавить конечные точки пассивного порта, например
Get-AzureVM -ServiceName 'blah' -Name 'blah' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM
затем я вижу его в списке конечных точек управления Azure для виртуальной машины.
Почему мои соединения не проходят через FTP-сервер в IIS извне? Как я могу диагностировать сбой?
========== РЕДАКТИРОВАТЬ 1 ==========
Я задавался вопросом, могло ли бы решение, которое работало для haxor, решить проблемы. В нем упоминается ответ «Виртуальная машина Server 2012 в Azure - пассивный FTP не будет работать» на форуме виртуальных машин Windows Azure, в котором отмечается, что если зонд настраивается порталом Azure на пассивных конечных точках, они могут не работать. Хотя в ответе отмечается, что это исправлено в последней версии портала, в нем предлагается использовать командлет Azure Powershell Add-AzureEndpoint, чтобы убедиться, что зонд не запущен. Я проверил с помощью командлета Azure Powershell Get-AzureEndpoint, и ни у одной из моих конечных точек ftp нет пробников, так что это не моя проблема.
========== РЕДАКТИРОВАТЬ 2 ==========
Я заметил шаг в пассивном FTP и динамических портах в виртуальных машинах IIS8 и Windows Azure, не упомянутый в первоначальном пошаговом руководстве: откройте диапазон портов канала данных (7000-7014) в брандмауэре Windows. Я добавил входящее правило, чтобы сделать это. Я до сих пор не могу подключиться.