Compartilhar via


[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-сервер должен работать.