アプリ版:「スタンプのみでお礼する」機能のリリースについて

FTPで425エラーが出て困っています。
今まで繋がっていたのが突然繋がらなくなりました。
調べてみると20番ポートが遮断されている可能性が高く、
どこで遮断されているか調べる良い方法があれば教えて下さい。

・クライアント
OS:Windows 8.1、ファイアウォール: Norton Inernet Security
・サーバー(AWS)
OS:Red Hat Enterprise Linux Server release 7.1 (Maipo)
ファイアウォール:AWSのネットワークルール設定

接続は出来ていて、lsを打つとエラーになります。
サーバーにTertermでログインしてlocalhostにftpするとlsできるので、
ftpd自体に問題はなさそうです。
また、サーバー側の設定は直しておらず、突如動かなくなったので、
クライアントのファイアウォール設定が変わったのを疑っていますが、
ファイアウォールを一時停止しても解消しませんでした。
どこが悪いか原因を切り分けられるずに困っています。
原因箇所を調べる良い方法があればご教示ください。

A 回答 (3件)

>FFFTPで繋いでいて拡張オプションのPASVモードにチェックをつけていないのでpassiveモードではないはずですが、



クライアントソフトはActive FTPで接続しようとしているのは間違いないですね。

>WireSharkで見たところ、後ろにPASVと書かれていました。
>Wireshark結果
>3967 345.551600000 52.27.XX.XXX 192.168.0.4 FTP 105 Response: 200 PORT command> successful. Consider using PASV. ← パッシブモードになっている?

良く読んで下さい。単に「Passiveモードでの使用を検討して下さい」というメッセージです。

クライアントソフトはActive FTPで接続しようとしているものの、サーバ側がActive FTPを恐らくサポートしていないので、「Passiveモードに移行してよ」とメッセージを出した。にも関わらずクライアントはPASVコマンドを実行することもなく、LISTコマンドを実行したので「425 Failed to establish connection」、つまり「だぁかぁらぁ、データセション張ってないんだから」と返したわけです。

「Passiveモードでの使用を検討して下さい」というメッセージは柔らかな表現ですが「いいか、俺はPassiveモードしか受け付けないからな。次はPASVコマンドを打てよな。それ以外は知らんからな」と等価です。まぁ、QUITやBINARYやASCII等は受け付けてくれるとは思いますが。

>またサーバーが20番ポートにセッションを張ろうとしている形跡がありませんでした。
>これはPASVモードになっているのでしょうか?

サーバは少なくともPassiveモードしかサポートしていないようです。なので、サーバからクライアントの20/TCPにはコネクションを張らずに、21/TCPでクライアントからのPASVコマンド待ちです。PASVコマンドがクライアントから来れば、21/TCPでEntering Passive Mode (X,X,X,X,A,B)を返しますので、クライアントはサーバの(A*256+B)/TCPポートに対してSYNを送信、所謂3ウェイハンドシェイクでデータセションが繋がるという流れになります。
    • good
    • 4
この回答へのお礼

いつもありがとうございます。
勉強になりました。

vsftpdを見たところ、Acitve 設定はONになっているようにみえました。
port_enable=YES
connect_from_port_20=YES
ftp_data_port=20
port_promiscuous=YES

私の知識では分からず、Activeで繋ぐのは諦め、
サーバーのパッシブモードの設定をONにする方法を調べまして、
無事繋がるようにはなりました。

ありがとうございました。

お礼日時:2015/08/08 02:01

>netstatでも20ポートは表示されていません。

表示されないということはポートが開いていないのでしょうか?

WireSharkでキャプチャしてみることで、サーバが20/TCPでセションを張ろうとしているかどうかは分かります。サーバ側に問題が無ければクライアント側の問題です。
もしかしたら、Passiveモードなのかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
FFFTPで繋いでいて拡張オプションのPASVモードにチェックをつけていないのでpassiveモードではないはずですが、
WireSharkで見たところ、後ろにPASVと書かれていました。
またサーバーが20番ポートにセッションを張ろうとしている形跡がありませんでした。
これはPASVモードになっているのでしょうか?

Wireshark結果
3967 345.551600000 52.27.XX.XXX 192.168.0.4 FTP 105 Response: 200 PORT command successful. Consider using PASV. ← パッシブモードになっている?
Transmission Control Protocol, Src Port: 58191 (58191), Dst Port: 21 (21), Seq: 80, Ack: 289, Len: 6
3968 345.554480000 192.168.0.4 52.27.XX.XXX FTP 60 Request: LIST
Transmission Control Protocol, Src Port: 58191 (58191), Dst Port: 21 (21), Seq: 80, Ack: 289, Len: 6
3969 345.694329000 52.27.XX.XXX 192.168.0.4 FTP 91 Response: 425 Failed to establish connection.
Transmission Control Protocol, Src Port: 21 (21), Dst Port: 58191 (58191), Seq: 289, Ack: 86, Len: 37

サーバー側のtcpdumpを20番で絞ってみたところ、何も出てきませんでした。
21番には通信がありました。
これは、サーバー側が20番ポートに接続に行っていないということでしょうか?
(tcpdump port 20で絞りました。)

よろしくお願いします。

お礼日時:2015/08/07 01:01

「425 Failed to establish connection」というやつでしょうか。



dataコネクションが開けないので、コマンドは入力できますが、その結果は転送できません。dataコネクションはサーバからクライアントに向けて張るセションなので、これが張れないということはクライアント側が受け付けていないということになります。

windowsファイアウォールを止めても状況が変わらないとのことですので、クライアント側のソケットがTIME WAITのまま推移している可能性があります。netstatコマンドで状況は把握できます。
ソケットが解放されるまで待つか、どうしても接続できないのであれば、クライアント側のリブートを検討してみて下さい。
    • good
    • 1
この回答へのお礼

お早い回答ありがとうございます。
425 Failed to establish connection. です。
クライアントは再起動しましたがダメでした。
netstatでも20ポートは表示されていません。表示されないということはポートが開いていないのでしょうか?

よろしくお願いします。

お礼日時:2015/08/05 00:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A