Заставить FTP-сервер на virtualbox работать в пассивном режиме

У меня есть сервер Ubuntu, установленный на виртуальной коробке. Я установил в нем proftpd и перенаправил порт 21 (порт ftp) из сетевых настроек виртуальной коробки.

Проблема в том, что клиент ftp использует пассивный режим. Я проверил файл proftpd.conf и откомментировал конфигурацию PassivePorts (49152 и 65534), но FileZilla все еще не может получить список каталогов. Я заставил его работать, используя активный режим, но я хотел, чтобы он использовал пассивный режим.

08:25:25 Ошибка: истекло время ожидания соединения

08:25:25 Ошибка: не удалось получить список каталогов

ОБНОВИТЬ --

Я попытался перенаправить все пассивные порты, настроенные на proftpd.conf (из 65500-65534), порты открыты в основной ОС. гостевая ОС еще не имеет открытых портов. Когда я создавал FTP-соединение, я перепроверил открытые порты в гостевой ОС и увидел, что некоторые порты в этом диапазоне открыты, хотя проблема все еще сохраняется.

читал это..

http://www.mdjnet.dk/ftp.html

и я думаю, что переадресация портов в Virtualbox довольно ограничена. Существуют ли другие способы, с помощью которых гостевая ОС может динамически открывать порты для основной ОС без необходимости настраивать ее каждый раз?

пример сценария

  1. гостевая ОС запустила ssh сервер, открыв порт 22
  2. vbox также открывает порт 22 для главной ОС (если нет конфликтов).

2 ответа

Решение

Я сделал это с помощью следующего:

  1. Я перенаправил все пассивные порты из основной ОС в гостевую ОС
  2. Я замаскировал IP-адрес FTP-сервера на 127.0.0.1

Я написал об этом в своем блоге для более точного объяснения.

FTP использует два соединения, одно для данных и одно для команд. PassivePorts Конфигурация - это диапазон портов, которые будут использоваться для пассивной передачи данных по FTP.

Конфигурация сети Virtualbox позволяет вводить отдельные порты для пересылки, но не диапазоны. Таким образом, для работы FTP в пассивном режиме пассивные порты должны перенаправляться индивидуально.

Если вы не ожидаете более 5 одновременных передач данных (и такие клиенты, как Filezilla, откроют 1 подключение для передачи данных на файл и список каталогов), измените конфигурацию сервера, чтобы использовать диапазон из 5 портов (например, 1025-1030), и перешлите эти пять портов в конфигурации Virtualbox. Для 10 соединений используйте диапазон 10 портов и т. Д.

Другие вопросы по тегам