コマンドを実行した後にFTPセッションから追い出されるのはなぜですか?

コマンドを実行した後に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インストールする。

ベストアンサー1

この症状を示すサーバーとユーザーの間にNATファイアウォールがある可能性があります。 (NATファイアウォールは単一のIP番号の後にネットワーク全体を隠します。)

問題は、ftpがコマンドによって生成されたデータを新しい方法で転送しようとしていることです。分離TCP / IP接続とそれデータはサーバーからユーザーに送信する必要があり、ユーザーはファイアウォールの背後に隠されているため、ファイアウォールを通過できません。ファイアウォールは、データがユーザーのコンピュータ用であるかどうかわかりません。 FTPプロトコルが設計されているときは、NATルータ(利用可能なIPアドレスよりもデバイスが多い場合は必要です)など、多くの最新のデバイスがまだ開発されていません。

このpasvコマンド(クライアントで異なる名前を持つことができます)を使用して、データ接続をユーザーからサーバーに移動する手動接続に変更します。

バラよりhttp://slacksite.com/other/ftp.htmlより詳細な説明が必要です。

おすすめ記事