Назад | Перейти на главную страницу

Запуск пассивного FTP на виртуальной машине Azure с vsftpd-linux

Как запустить пассивный FTP-сервер на виртуальной машине Azure Linux?

Недостаточно настроить конечные точки на брандмауэре Azure и порты PASV, потому что клиент зависает при переходе в пассивный режим.

В настоящее время работать с пассивным FTP так же плавно, как на выделенном сервере, невозможно по двум причинам: во-первых, в настоящее время Azure позволяет открывать только 25 конечных точек (пожалуйста, поправьте меня, если я ошибаюсь) для каждого сервера, а другой - это соединение LAN <-> Virtual IP, которое использует Azure. Давайте рассмотрим проблемы одну за другой.

В настоящее время в Azure реализован NAT / брандмауэр / балансировщик нагрузки, который перенаправляет трафик с внешнего виртуального IP-адреса на внутренний сетевой адрес (10.0.0.0/8 класс). Если ты бежишь ifconfig на вашей виртуальной машине вы найдете то, о чем я говорю. Одна конечная точка зарезервирована для SSH, и я не думаю, что вы действительно хотите ее отключать. Таким образом, если другая конечная точка зарезервирована для порта 21, вы можете использовать только 23 порта PASV (если вы не размещаете какую-либо другую службу), строго ограничивая количество клиентов, которые могут подключаться одновременно. Как только вы примете это, давайте продолжим.

Если вы открыли порты 25003-25006 (один за другим), вы можете использовать следующую конфигурацию, чтобы включить их

pasv_enable=YES
pasv_min_port=25003
pasv_max_port=25006

vsftpd и любой другой FTP-сервер выдает PASV команда, которая в основном говорит «подключиться к X.Y.W.Z через порт AA». Предполагается, что любой FTP-сервер считывает конфигурацию машины, чтобы получить сетевой адрес: вот почему vsftp в основном говорит «подключиться к 10.X.Y.Z на порту 25003», а затем почему клиент зависает !!!

Используйте следующее, чтобы указать vsftpd использовать другой внешний адрес

pasv_addr_resolve=YES
pasv_address=dom.cloudapp.net

Протестировано, поработано и поделено с сообществом!

Примечания: Активный FTP работает, если клиент не находится за брандмауэром или Great Wall, а SFTP - лучшая альтернатива FTP, но, к сожалению, многие устаревшие приложения его не поддерживают.