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サイトにアクセスしようとするときに、同じ運命に直面している企業のお客様が心配です。
同様の問題があり、Filezilaサーバー設定の[パッシブモード転送の外部サーバーIPアドレス]オプションで[デフォルト]を選択することで解決しました。つまり、プライベートアドレスを使用している場合でも、ここにパブリックIPアドレスを入力しないでください。その理由は、ファイアウォールで「FTP検査」が有効になっている可能性があり、サーバーのプライベートIPアドレスからパブリックIPアドレスへの変換が行われるためです。この場合、Filezilaでこの変換を有効にすると問題が発生し、クライアントがPASVコマンドを発行した後に接続が失われます。
私はそれが変更になる可能性があることを理解していますが、2008年の新しいFTPサーバーは非常に堅牢で、FileZillaを自分で置き換えました。あなたもそれを調べたいかもしれません。