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

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

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

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

решение1

В настоящее время запуск пассивного 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команду, которая по сути говорит "подключиться к XYWZ на порту AA". Любой FTP-сервер должен прочитать конфигурацию машины, чтобы получить сетевой адрес: вот почему vsftp по сути говорит "подключиться к 10.XYZ на порту 25003" и, затем, почему клиент зависает!!!

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

pasv_addr_resolve=YES
pasv_address=dom.cloudapp.net

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

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

Связанный контент