none
FTPエラー

    質問

  • Windows Server 2008にてFTPを実行しますと以下のように失敗してしまいます。

    Windows Server 2003マシンから下記Linuxマシン192.168.xx.xxへのFTPは正常に出来てます。

     

    C:\Users>ftp 192.168.xx.xx

    192.168.xx.xx に接続しました。

    ユーザー(192.168.xx.xx Sadnone)):user01

    パスワード:

    230 Login successful.

    ftp>put testfile-01

    200 PORT command successful. Consider using PASV.

    425 Failed to establish connection.

    ftp>quit

     

    ※ちなみにFTP接続後にpwdコマンドはOKですが、ls等のコマンドは失敗します。

    425 Failed to establish connection.

     

    何が原因なのでしょうか。

    2008年6月25日 3:37

回答

  • WS2008 to WS2008の実機環境で動作を確認してみました。
    ftp.exe は PORT モードで動作しているようですね。
    このため、ftp.exeを動かしている側(ftpクライアント側)で受信規則を追加する必要があります。

    受信規則は、プログラム(%SystemRoot%\System32\ftp.exe)に対しての許可ルールを追加します。

    2008年7月1日 0:56
  • こんばんわ。

     

    横からすみません、少しコメントさせてください。

     

    皆さんが記載されていますように、今回のメッセージおよび現象(ログインできるが lsや pwdはだめ)は

    Firewallが影響を与えている可能性が高いと思います。

    以下の点についてきりわけと確認をお願いすることはできますか。

     

    1)WindowsServer2008上で Firewallを解除している場合は、ネットワーク経路上に Firewallなどが

     存在している可能性はございませんでしょうか。

     →WindowsServer2003との違い(ネットワーク構成など)についての情報もあると判断材料になるかと

      思いますので、教えてください。

     

    2)切り分けとして一度Explorerや IE、サードパーティ製 FTPクライアントで試していただくことは

     可能でしょうか。

     ※Explorerや IEは PASVモードで動作可能なようです。

     

    3)Windows Firewallを一時的に無効にしての動作確認もご検討いただくことは可能でしょうか。

     

    また、Windowsの FTP.exeは PASVモードをサポートしていないと思いますので、デフォルトでは

    PORTモードで動作していると思います。

    【ご参考】

     KB:271078

      Windows FTP クライアントは、 メッセージ 425 を受信します。

      http://support.microsoft.com/kb/271078/ja

     

    以上です。

     

    2008年6月30日 15:35
  • FTPのことよく知らないんで、参考にならなかったらすみません。

     

    [コントロールパネル]-[Windowsファイアウォール]-[設定の変更]で[例外]タブを開いて、

    [プログラムの追加]-[参照]-"C:\Windows\System32\ftp.exe"[開く]-[OK]

    この操作をすると、

    [管理ツール]-[セキュリティが強化されたWindowsファイアウォール]-[受信の規則]

    に2つのエントリが作成されているのが分かると思います。

     

    ftp

     「プログラムおよびサービス」タブ= プログラム:次のプログラム(C:\Windows\System32\ftp.exe)

     「プロトコルおよびポート」タブ= プロトコルの種類:TCP、ローカルポート:すべてのポート、リモートポート:すべてのポート

    ftp

     「プログラムおよびサービス」タブ= プログラム:次のプログラム(C:\Windows\System32\ftp.exe)

     「プロトコルおよびポート」タブ= プロトコルの種類:UDP、ローカルポート:すべてのポート、リモートポート:すべてのポート

     

    プロファイルは適切なのを選択(すべてのプロファイルでOKかと)して、とりあえず、一旦試してみてください。

    lsコマンドがうまくいったら、後はFTPのモードに従ってポートを絞ればよいのかなーと。

     

    てか、うまくいく2003の方のWindowsファイアウォールは、どのような設定なのでしょう。

    2008年7月2日 4:53

すべての返信

  • ファイヤウォール等で FTP-data の通信が止まっていると思われます。
    あるいは PASV モードが許されていない環境なのかもです。PORT モードで通信すると大丈夫かもです
    2008年6月25日 23:55
  • ファイヤウォールでFTP-data 通信は許可してあります。。

    確かWin2008ではPASVモードがサポートされてないと聞いておりますが

    PORTモードFTP通信するにはどのようにすればいいのでしょうか?

    FTPコマンドにおいて、PORTモードへ変換するコマンドがあるのでしょうか?

    勉強不足で大変申し訳ございません。

    2008年6月30日 1:49
  •  janjan94 さんからの引用

    ファイヤウォールでFTP-data 通信は許可してあります。。

    一応の確認ですが、Windowsファイアウォールの例外にftp.exeは追加してありますか?

    2008年6月30日 8:04
  • こんばんわ。

     

    横からすみません、少しコメントさせてください。

     

    皆さんが記載されていますように、今回のメッセージおよび現象(ログインできるが lsや pwdはだめ)は

    Firewallが影響を与えている可能性が高いと思います。

    以下の点についてきりわけと確認をお願いすることはできますか。

     

    1)WindowsServer2008上で Firewallを解除している場合は、ネットワーク経路上に Firewallなどが

     存在している可能性はございませんでしょうか。

     →WindowsServer2003との違い(ネットワーク構成など)についての情報もあると判断材料になるかと

      思いますので、教えてください。

     

    2)切り分けとして一度Explorerや IE、サードパーティ製 FTPクライアントで試していただくことは

     可能でしょうか。

     ※Explorerや IEは PASVモードで動作可能なようです。

     

    3)Windows Firewallを一時的に無効にしての動作確認もご検討いただくことは可能でしょうか。

     

    また、Windowsの FTP.exeは PASVモードをサポートしていないと思いますので、デフォルトでは

    PORTモードで動作していると思います。

    【ご参考】

     KB:271078

      Windows FTP クライアントは、 メッセージ 425 を受信します。

      http://support.microsoft.com/kb/271078/ja

     

    以上です。

     

    2008年6月30日 15:35
  • WS2008 to WS2008の実機環境で動作を確認してみました。
    ftp.exe は PORT モードで動作しているようですね。
    このため、ftp.exeを動かしている側(ftpクライアント側)で受信規則を追加する必要があります。

    受信規則は、プログラム(%SystemRoot%\System32\ftp.exe)に対しての許可ルールを追加します。

    2008年7月1日 0:56
  •  ## WindowsServer2008の Firewallで"ドメインプロファイル”と”プライベートプロファイル”をオンのままで

     パブリック プロファイルだけをオフにしてみた所、lsコマンドを実行することが出来ました。

     

    ということは、WindowsServer2008の Firewallが原因ということですね。

     

    Firewallの受信の規則と送信の規則のFTP設定を再度確認しましたが、下記のような設定ではだめなのでしょうか。

     

    受信の規則:

      FTP-1 

        「プロトコル及びポート」タブ= プロトコルの種類:TCP、ローカルポート:20、リモートポート:すべてのポート

        「詳細設定」タブ= プロファイル:すべてのプロファイル

      FTP-2:

        「プロトコル及びポート」タブ= プロトコルの種類:TCP、ローカルポート:21、リモートポート:すべてのポート

        「詳細設定」タブ= プロファイル:すべてのプロファイル

     

    送信の規則:

      FTP-1 

        「プロトコル及びポート」タブ= プロトコルの種類:TCP、ローカルポート:全てのポート、リモートポート:20

        「詳細設定」タブ= プロファイル:すべてのプロファイル

      FTP-2:

        「プロトコル及びポート」タブ= プロトコルの種類:TCP、ローカルポート:すべてのポート、リモートポート:21

        「詳細設定」タブ= プロファイル:すべてのプロファイル

     

      

    2008年7月2日 1:56
  • FTPのことよく知らないんで、参考にならなかったらすみません。

     

    [コントロールパネル]-[Windowsファイアウォール]-[設定の変更]で[例外]タブを開いて、

    [プログラムの追加]-[参照]-"C:\Windows\System32\ftp.exe"[開く]-[OK]

    この操作をすると、

    [管理ツール]-[セキュリティが強化されたWindowsファイアウォール]-[受信の規則]

    に2つのエントリが作成されているのが分かると思います。

     

    ftp

     「プログラムおよびサービス」タブ= プログラム:次のプログラム(C:\Windows\System32\ftp.exe)

     「プロトコルおよびポート」タブ= プロトコルの種類:TCP、ローカルポート:すべてのポート、リモートポート:すべてのポート

    ftp

     「プログラムおよびサービス」タブ= プログラム:次のプログラム(C:\Windows\System32\ftp.exe)

     「プロトコルおよびポート」タブ= プロトコルの種類:UDP、ローカルポート:すべてのポート、リモートポート:すべてのポート

     

    プロファイルは適切なのを選択(すべてのプロファイルでOKかと)して、とりあえず、一旦試してみてください。

    lsコマンドがうまくいったら、後はFTPのモードに従ってポートを絞ればよいのかなーと。

     

    てか、うまくいく2003の方のWindowsファイアウォールは、どのような設定なのでしょう。

    2008年7月2日 4:53
  • janjan94 さん、こんにちは。

    フォーラムオペレーターの鈴木裕子です

     

    今回の問題の解決にForumがお役に立てたようでよかったです!

    janjan94 さんからの情報はじめ、

    皆様からご投稿いただいた情報を多くの方々に活用していただきたいと思いましたので、

    勝手ながら私の方で回答チェックをつけさせていただきました。

     

    janjan94 さんはチェックの解除ができますので、適切でない場合は修正をお願いします。

    また、回答チェックはスレッドの終了を意味するものではありませんので、引き続き情報がありましたら、投稿をお願いします。

     

    これからもForumを活用してくださいね!

    それでは。

    2008年8月5日 8:24
    モデレータ