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

Сервер ProFTPD - несколько портов, один и тот же IP-адрес

У меня проблемы с сервером ProFTPD, потому что я не могу настроить его для правильной работы, когда активны несколько портов (IP-адрес один и тот же).

В моем файле proftpd.conf я добавил этот раздел:

<VirtualHost 0.0.0.0>
    Port                        2122
    Umask                       022
    ServerName                  "Example"
    DefaultRoot                 /home/usr1/www/example1
    UserAlias                   fuser usr1

    # Valid LOGINs
    <Limit LOGIN>
        AllowUser usr1
        DenyALL
    </Limit>
</VirtualHost>

Итак, когда я пытаюсь установить соединение с портом 21, все в порядке, и я получаю список каталогов. Но когда я пытаюсь установить соединение с портом 2122, он подключается, но я получаю сообщение об ошибке 500 Illegal PORT command в самом конце.

В брандмауэре Linux открыты порты 21 и 2122.

Это то, что я получаю при выполнении netstat -lpn | grep ftp

tcp6       0      0 :::2122                 :::*                    LISTEN      30597/proftpd: (acc
tcp6       0      0 :::21                   :::*                    LISTEN      30597/proftpd: (acc

Теперь я не уверен, где может быть проблема с этим виртуальным сервером и почему я не могу получить список каталогов в самом конце.

Дело в том, что мне нужно два FTP, так как некоторые пользователи должны подключаться к первому, а некоторые - ко второму. У каждого FTP есть собственный домашний каталог.

При необходимости я могу предоставить полный файл proftpd.conf.

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

В пассивном режиме клиент открывает новый порт, а затем сообщает серверу подключить его для передачи данных. Пассивный режим не будет работать со всеми маршрутизаторами, клиент может не открыть порт для передачи данных.

Решение: Откройте диапазон портов (например, от 1500 до 2000), затем настройте свой FTP-сервер на использование этих портов.

http://slacksite.com/other/ftp.html