Почему меня запускают из сеанса FTP после запуска команды?

Почему меня запускают из сеанса FTP после запуска команды? Кажется, что после того, как я успешно зарегистрировался на сервере, вы получите следующее после запуска такой команды, как «ls» (я включил часть ошибки в теги «[ERROR]»:

allen92@allen92-VirtualBox:~/Videos$ ftp -n ftp.FreeBSD.org Connected to ftp.FreeBSD.org. 220 beastie.tdk.net FTP server (Version 6.00LS) ready. ftp> user (username) anonymous 331 Guest login ok, send your email address as password. Password: 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls [ERROR] 421 Service not available, remote server has closed connection [ERROR] ftp> 

Это происходит на любом удаленном FTP-сервере. Все работает нормально, когда я вхожу на локальный компьютер и запускаю команды FTP. Если на самом деле ошибка «421» является общей ошибкой, есть ли способ узнать источник проблемы? Любые выводы по этому поводу будут оценены. Я не смог найти какую-либо поддержку по этой конкретной проблеме. Любой, у кого есть подобная проблема, поделитесь своими мыслями.

ПРИМЕЧАНИЕ. У меня установлен VSFTPD .

Скорее всего, существует NAT-брандмауэр между вами и серверами, демонстрирующий симптом. (NAT-брандмауэры скрывают целую сеть за одним IP-номером).

Проблема в том, что ftp хочет отправить данные, полученные из команды, в новое отдельное TCP / IP-соединение и не может пройти через брандмауэр, потому что ему нужно перейти с сервера на вас, и вы скрыты за брандмауэром, который не знаю, что данные предназначены для вашей машины. Используйте команду «pasv» (может быть вызвана чем-то другим в вашем клиенте), чтобы перейти к пассивному соединению, в котором соединения данных переходят от вас к серверу.

Подробнее см. http://slacksite.com/other/ftp.html .

Добавьте или включите эту строку в /etc/vsftpd.conf

seccomp_sandbox = НЕТ