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

5442
kapitanluffy

У меня есть сервер 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 для основной ОС (если нет конфликтов).
0

2 ответа на вопрос

1
Andrew Lambert

FTP uses two connections, one for data and one for commands. The PassivePorts configuration is the range of ports to be used for passive FTP data transfers.

The Virtualbox network configuration allows you to enter single ports to forward, but not ranges. So, in order for passive-mode FTP to work, the passive ports must be forwarded individually.

If you don't expect more than 5 simultaneous data transfers (and clients like Filezilla will open 1 data connection per file and per directory listing) then change the server configuration to use a range of 5 ports (e.g. 1025-1030) and forward those five ports in the Virtualbox configuration. For 10 connections use a 10 port range, etc.

я уже перенаправил все порты :) kapitanluffy 11 лет назад 0
0
kapitanluffy

I made it work via the following:

  1. I forwarded all of the passive ports from the main OS to the guest OS
  2. I masked the IP of the FTP server to 127.0.0.1

I posted about it on my blog for a more definitive explanation.

Похожие вопросы