web-dev-qa-db-ja.com

FileZilla FTPのパッシブモードが機能しない

FileZillaサーバー0.9.37がWindowsサーバー2008 R2で実行されています

アクティブモードは正常に動作し、サーバーのWindowsファイアウォールはオフになっています。

私たちのルーターはDrayTek vigor 2820です。NAT、Open Portsの下で、サーバーのローカルIP用に次のポートを開きました

TCP 20-22、TCP 45100-65535

FileZillaサーバーで、パッシブモードの設定(画像を投稿できないので...)

Use the following IP: 213.106.150.123
Don't use external IP from local connections: Checked
Use custom port range: 45100-65535

私がRDPを行っているドイツのリモートサーバーから、FileZillaサーバーに接続してみます。

Status: Connecting to 213.106.150.123:21...
Status: Connection established, waiting for welcome message...
Response:   220 --
Command:    USER ftp_001471
Response:   331 Password required for ftp_001471
Command:    PASS ********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (213,106,150,123,238,133)
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

FileZillaサーバーのステータスウィンドウは次のように報告します

(not logged in) (87.106.131.22)> Connected, sending welcome message...
(not logged in) (87.106.131.22)> 220 --
(not logged in) (87.106.131.22)> USER ftp_001471
(not logged in) (87.106.131.22)> 331 Password required for ftp_001471
(not logged in) (87.106.131.22)> PASS ********
ftp_001471 (87.106.131.22)> 230 Logged on
ftp_001471 (87.106.131.22)> CWD /
ftp_001471 (87.106.131.22)> 250 CWD successful. "/" is current directory.
ftp_001471 (87.106.131.22)> TYPE I
ftp_001471 (87.106.131.22)> 200 Type set to I
ftp_001471 (87.106.131.22)> PASV
ftp_001471 (87.106.131.22)> 227 Entering Passive Mode (213,106,150,123,195,197)
ftp_001471 (87.106.131.22)> MLSD
ftp_001471 (87.106.131.22)> 425 Can't open data connection.

FileZillaパッシブモードの設定を外部IPからデフォルトに変更すると、ドイツのクライアントから接続しようとすると、次の詳細が表示されます。

Status: Connecting to 213.106.150.123:21...
Status: Connection established, waiting for welcome message...
Response:   220 --
Command:    USER ftp_001471
Response:   331 Password required for ftp_001471
Command:    PASS ********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (213,106,150,123,196,198)
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

そして、サーバー上の詳細。

(not logged in) (87.106.131.22)> Connected, sending welcome message...
(not logged in) (87.106.131.22)> 220 --
(not logged in) (87.106.131.22)> USER ftp_001471
(not logged in) (87.106.131.22)> 331 Password required for ftp_001471
(not logged in) (87.106.131.22)> PASS ********
ftp_001471 (87.106.131.22)> 230 Logged on
ftp_001471 (87.106.131.22)> CWD /
ftp_001471 (87.106.131.22)> 250 CWD successful. "/" is current directory.
ftp_001471 (87.106.131.22)> TYPE I
ftp_001471 (87.106.131.22)> 200 Type set to I
ftp_001471 (87.106.131.22)> PASV
ftp_001471 (87.106.131.22)> 227 Entering Passive Mode (192,168,1,4,195,198)
ftp_001471 (87.106.131.22)> MLSD
ftp_001471 (87.106.131.22)> 425 Can't open data connection.

何が悪いのですか?

外部IPを指定すると、クライアントとサーバーは同じことを報告しますが、ポートがおかしくなり、デフォルトで実行すると、サーバーは内部IPを使用しますが、ポート割り当ての方がよく見えます。

編集:より多くのテストとその機能。

IIS 7.5、FileZillaを無効にしてFTPサーバーをインストールし、それが機能しました!FileZillaを再度有効にしてみましたが、これも機能しました!これはすべて自宅のADSL接続からのものでした。

次に、ドイツのリモートサーバーから再試行しましたが、失敗しました。IIS FTPとFileZillaの両方で、パッシブモードのディレクトリリストでハングします。

ドイツのデータセンターのファイアウォール/ルーターに問題があると思います。リモートサーバールーターを台無しにしたくはありません(ホストされているファイアウォールルールを変更できるかどうかさえわかりません)FTPサイトにアクセスしようとするときに、同じ運命に直面している企業のお客様が心配です。

3
best

同様の問題があり、Filezilaサーバー設定の[パッシブモード転送の外部サーバーIPアドレス]オプションで[デフォルト]を選択することで解決しました。つまり、プライベートアドレスを使用している場合でも、ここにパブリックIPアドレスを入力しないでください。その理由は、ファイアウォールで「FTP検査」が有効になっている可能性があり、サーバーのプライベートIPアドレスからパブリックIPアドレスへの変換が行われるためです。この場合、Filezilaでこの変換を有効にすると問題が発生し、クライアントがPASVコマンドを発行した後に接続が失われます。

3
walter_sf

私はそれが変更になる可能性があることを理解していますが、2008年の新しいFTPサーバーは非常に堅牢で、FileZillaを自分で置き換えました。あなたもそれを調べたいかもしれません。

2
Shyatic