Заставить FTP-сервер на virtualbox работать в пассивном режиме
У меня есть сервер Ubuntu, установленный на виртуальной коробке. Я установил в нем proftpd и перенаправил порт 21 (порт ftp) из сетевых настроек виртуальной коробки.
Проблема в том, что клиент ftp использует пассивный режим. Я проверил файл proftpd.conf и откомментировал конфигурацию PassivePorts (49152 и 65534), но FileZilla все еще не может получить список каталогов. Я заставил его работать, используя активный режим, но я хотел, чтобы он использовал пассивный режим.
08:25:25 Ошибка: истекло время ожидания соединения
08:25:25 Ошибка: не удалось получить список каталогов
ОБНОВИТЬ --
Я попытался перенаправить все пассивные порты, настроенные на proftpd.conf (из 65500-65534), порты открыты в основной ОС. гостевая ОС еще не имеет открытых портов. Когда я создавал FTP-соединение, я перепроверил открытые порты в гостевой ОС и увидел, что некоторые порты в этом диапазоне открыты, хотя проблема все еще сохраняется.
читал это..
и я думаю, что переадресация портов в Virtualbox довольно ограничена. Существуют ли другие способы, с помощью которых гостевая ОС может динамически открывать порты для основной ОС без необходимости настраивать ее каждый раз?
пример сценария
- гостевая ОС запустила ssh сервер, открыв порт 22
- vbox также открывает порт 22 для главной ОС (если нет конфликтов).
2 ответа
Я сделал это с помощью следующего:
- Я перенаправил все пассивные порты из основной ОС в гостевую ОС
- Я замаскировал IP-адрес FTP-сервера на 127.0.0.1
Я написал об этом в своем блоге для более точного объяснения.
FTP использует два соединения, одно для данных и одно для команд. PassivePorts
Конфигурация - это диапазон портов, которые будут использоваться для пассивной передачи данных по FTP.
Конфигурация сети Virtualbox позволяет вводить отдельные порты для пересылки, но не диапазоны. Таким образом, для работы FTP в пассивном режиме пассивные порты должны перенаправляться индивидуально.
Если вы не ожидаете более 5 одновременных передач данных (и такие клиенты, как Filezilla, откроют 1 подключение для передачи данных на файл и список каталогов), измените конфигурацию сервера, чтобы использовать диапазон из 5 портов (например, 1025-1030), и перешлите эти пять портов в конфигурации Virtualbox. Для 10 соединений используйте диапазон 10 портов и т. Д.