ローカルファイアウォールのため、FTP クライアントはサーバーのコンテンツを一覧表示できません

ローカルファイアウォールのため、FTP クライアントはサーバーのコンテンツを一覧表示できません

TL;DR -

  1. ローカル ファイアウォール オン: FTP は正常に接続しますが、LIST / LS / DIR はエラー 425 を返します。ポート [大きなポート番号] へのデータ接続を開けませんでした: 接続がタイムアウトしました。
  2. ローカル ファイアウォール オフ: FTP は正常に接続され、LIST / LS / DIR も成功します。

FTP:パッシブとFTP:アクティブについて説明する前に、それは違います。パッシブとアクティブはどちらも本質的に同じことを行います。

接続は次のようになります。

<Standard beginning connection bumf to remote Pure-FTP server>
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
200 PORT command successful
425 Could not open data connection to port 46811: Connection timed out
ftp> quit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.

Windows 以外の環境では、私は Red Hat / Fedora / CentOS 派ですが、回収した Lenovo R61 で Zorin を試しています。そして、何か「単純な」ことをしようとして、これほど多くの問題に遭遇したことは初めてです。何か基本的なことを見落としているのでしょうか?

多分?ファイアウォールの通過を許可しましたか?

そうです、もちろん。試してみましたが、うまくいきませんでした。

上記のように、ローカル マシンのソフトウェア ファイアウォールを無効にして (GUI 経由) FTP を試したところ、接続が許可されました。大量の一時ポートを許可として追加してみましたが、これも機能しませんでした。また、GUI ファイアウォール -> 追加に「FTP」をサービスとして追加しようとし、UFW 経由で FTP も追加しようとしました。

グーグルで検索してみましたか?

はい、私も試しました。FTPサーバーinfo/config/issues を見ても、この問題に関してパッシブ FTP ソリューション以外の具体的な情報はほとんど見つかりませんでした。また、前述したように、この場合、PASS は効果がなく、ローカル ファイアウォールがオフのときにアクティブが機能します。

また、このマシンには Wireshark がインストールされており、「障害」発生時の接続を監視したところ、Wireshark の出力にはアクティビティが何も表示されませんでした。

質問: ワークステーションのローカル ファイアウォールを FTP 経由で正常に許可するにはどうすればよいでしょうか?


編集

そこで私はWinSCPを使ってWin10マシンでこれを試してみましたが、初めに同じ問題が発生しました。そこで、Windows のコマンド ラインで試してみたところ、ファイアウォールの許可ボックスが表示され、CLI 経由で FTP に正常にリストできるようになりました。(... WinSCP を再試行すると、認証ボックスも表示され、期待どおりに動作しました。)

これを追加したのは、同じネットワーク、同じ宛先サーバー、同じ経路などが別のマシンでも機能することを示すためです。

関連情報