[Tips] FTP-сервер на виртуальной машине Linux Microsoft Azure
Как сделать, чтобы работал FTP-сервер на виртуальной машине Linux на Microsoft Azure?
Во-первых, создать виртуальную машину с Linux.
Во-вторых, загрузить инструменты командной строки с https://azure.microsoft.com/en-us/downloads/
Дальше необходимо запустить инструменты командной строки и выполнить команду
azure account download
Это запустит браузер. Войдите под своей подпиской - будет загружен файл публикации для вашей подписки. В нем содержатся все данные, которые необходимы для импорта подписки и работы с ней из командной строки.
Выполните команду
azure account import "путькфайлупубликации"
Теперь мы можем работать с нашей подпиской из командной строки. Нам это нужно для того, чтобы открыть несколько десятков портов для настройки пассивной передачи по FTP, которая заключается в том, что клиент открывает второе подключение к серверу, но по другому порту. В случае с большим количеством различных промежуточных слоев безопасности вариант пассивного FTP-сервера подходит больше, нежели активного. С виртуальной машиной в Azure же надо учитывать, что есть не только брандмауэр самой операционной системы, но и брандмауэр платформы. Вот этот брандмауэр мы и настроим.
Войдите на виртуальную машину и добавьте изменения в ProFTPd (если его нет - установите):
/etc/proftpd/proftpd.conf
PassivePorts 30000 30020
Выполните команду
azure vm endpoint create linuxtestvm 21
Будет открыт порт 21.
Выполните команду
for ((i=30000;i<30020;i++)) do azure vm endpoint create linuxtestvm $i; done
В Windows это может выглядеть, например, так
for %i in (30000,30001) do azure vm endpoint create linuxtestvm %i
Для того, чтобы завершить настройку, надо добавить в конфигурацию FTP-сервера строку
MasqueradeAddress linuxtestvm.cloudapp.net
Все, FTP-сервер должен работать.