Операция PORT не выполнена (решение проблемы)

Работая в булошной хостинговой, сталкиваюсь с жалобой на проблему соединения по FTP. Пишут, что в Total Commander выбивает ошибку “Операция PORT не выполнена“, “500 Illegal PORT command” и даже “421 Connection timed out.“.

Причина кроется в настройках провайдера или сети передачи от клиента к серверу. А именно – в использовании NAT. IP-адрес, видимый серверу не такой, какой выдан за натом клиенту. В результате чего команда PORT сообщает не тот IP, который видит сервер.

Решение совершенно простое – запретить активный режим на сервере, чтобы клиентское FTP ПО переключалось на пассивный режим.

В ProFTPd это делается добавлением в конфиг запрета команды PORT, что вынуждает клиентскую программу перейти в пассивный режим:

После чего поведение клиента меняется:

В итоге не получаю странных вопросов о FTP, а клиенты довольны сервисом “из коробки”.

ЦОПЫРИГХЪТ