- - PR -
vsftpd の転送エラーについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-08-29 18:13
FTPサーバー:RHEL-ES3
デーモン:vsftpd2.0.4 ファイルサーバー(NFS):RHEL AS4 UP6 構築当初から時々転送エラーを起こし、ファイルの転送がストップすることがあります。 エラー時のログは以下です。 FTP response: Client "10.xx.xx.xx", "230 Login successful." FTP command: Client "10.xx.xx.xx", "CWD ." FTP response: Client "10.xx.xx.xx", "250 Directory successfully changed." FTP command: Client "10.xx.xx.xx", "TYPE I" FTP response: Client "10.xx.xx.xx", "200 Switching to Binary mode." FTP command: Client "10.xx.xx.xx", "PASV" FTP response: Client "10.xx.xx.xx", "227 Entering PassiveMode (172,xx,xx,xx,17,42)" FTP command: Client "10.xx.xx.xx", "STOR file00001.tz" FTP response: Client "10.xx.xx.xx", "150 Ok to send data." FTP response: Client "10.xx.xx.xx", "421 Data timeout. Reconnect. Sorry. 該当のサーバーは24時間に約1万回のセッション要求を受けており 1セッションで、数十KB程度のファイルを2〜3個受け取ります。 上記のエラーは、1日10〜15回発生しTimeout後は、0KBのファイルが作られ 同じユーザーは以後の転送が停止します。 ※0KBファイルを消すと転送が再開される。 この間、他のユーザーは通常通り転送ができます。 FTPのクライアントは固定で、複数のユーザーを使い同時接続してきます。 環境にファイルサーバーを記載していますが 詳細の環境は以下になります。 FTPクライアント → PIX-(VPN)-Netscreen → FTPサーバー → ファイルサーバー FTPクライアントは、FTPサーバーにNFSでマウントされたファイルサーバーの ストレージに書き込むよう構成されています。 FTPサーバーから見ると、受け取ったファイルをそのまま右から左のイメージです。 手元にある情報が多いので ここの設定どうなってる?と聞いてもらえれば公開します。 全ての転送がNGというわけではなく、一部の転送だけに限定されるので ファイルの破損等も疑ったのですが、糸口がみつからず困っています。 助言をお願いします。 | ||||
|
投稿日時: 2008-09-01 13:42
kataと申します。
詳しいことは言えませんが、 以前同じような現象が発生したことがあります。 その際は、WindowsPC → LinuxサーバにNetScreenを介してSSH接続したときに、 一定時間アクセスがないと、NetScreenが自動でセッションを切ってしまう という現象でした。 自動で切断する時間 = '999999'時間 とかに設定したような気がします。 NetScreenには上記のような仕様のものも存在するようなので F/Wを確認するのはいかがでしょうか? 24時間で数回という動きにふと思いました。 以上、ご参考までに。 | ||||
|
投稿日時: 2008-09-02 12:38
情報ありがとうございます。
netscreenのFTPのtimeout値はデフォルトの30minになっていす。 またvsftpd.confの「data_connection_timeout」「idle_session_timeout」も 1800秒にしています。 ログの FTP response: Client "10.xx.xx.xx", "150 Ok to send data." FTP response: Client "10.xx.xx.xx", "421 Data timeout. Reconnect. Sorry. 上記の間がちょうど30minなので、このtimeoutは設定によるものでしょう。 仮にtimeout値を無制限にした場合「150 Ok to send data」のままファイルを 待ち続けるだけになると思うのですが。 クライアント側が原因だった場合、この方法では難しいのでは? ※転送元が別会社なので、使用ソフトもログも確認することができないのが辛いです。 あとPIXとNetscreen間はPolicyベースで接続しています。 関係あるか不明ですが、参考までに。 | ||||
|
投稿日時: 2008-09-04 12:43
新たな情報です。
FTPのやり取りをtcpdumpでキャプチャしました。 正常終了した場合のTCPフローと、timeoutした場合のフローの比較です。 正常な場合 サーバー クライアント | comment Response: 200 Switc |FTP: Response: 200 Switching to Binary mode. ------------------> | Request: PASV |FTP: Request: PASV <------------------ | Response: 227 Enter |FTP: Response: 227 Entering Passive Mode (172 ------------------> | Request: STOR 「file」 |FTP: Request: STOR 「file」 <------------------ | Response: 150 Ok to |FTP: Response: 150 Ok to send data. ------------------> | ファイル転送 Response: 226 File |FTP: Response: 226 File receive OK. ------------------> | 48982 > ftp [ACK] S |TCP: 48982 > ftp [ACK] Seq=28 Ack=126 Win=46 Len=0 T <------------------ | Request: QUIT |FTP: Request: QUIT となります。 ファイル転送が失敗する場合 サーバー クライアント | comment Response: 200 Switc |FTP: Response: 200 Switching to Binary mode. ------------------> | Request: PASV |FTP: Request: PASV <------------------ | Response: 227 Enter |FTP: Response: 227 Entering Passive Mode (172 ------------------> | Request: STOR 「file」 |FTP: Request: STOR 「file」 <------------------ | ftp > 55143 [ACK] S |TCP: ftp > 55143 [ACK] Seq=196 Ack=81 Win=5792 Len=0 ------------------> | 55143 > ftp [FIN, A |TCP: 55143 > ftp [FIN, ACK] Seq=81 Ack=196 Win=5888 <------------------ | ftp > 55143 [ACK] S |TCP: ftp > 55143 [ACK] Seq=196 Ack=82 Win=5792 Len=0 ------------------> | Response: 421 Timeo |FTP: Response: 421 Timeout. ------------------> | ftp > 55143 [FIN, A |TCP: ftp > 55143 [FIN, ACK] Seq=210 Ack=82 Win=5792 ------------------> | [TCP Retransmission |FTP: [TCP Retransmission] Response: 421 Timeout. ------------------> | となります。 クライアントからSTORコマンドが発行された後、サーバー側が150コードを発行し ファイルの転送が開始されると思います。 転送に失敗する時は、150コードのパケットが飛んでおらず 転送を開始できずにタイムアウトしているように見えます。 ただ、vsftpのログを見ると150コードを発行しています。 FTPのログには150コードが記録されているのに そのパケットが確認できません。 tpcdumpは、ftp or ftp-data で取得し、Wiresharkにて確認しています。 上記やり取りの記録は、Wiresharkにてエラー時のフローのみを抽出。テキストとして吐き出した物です(ポート番号や時間は省略しています) 宜しくお願いします。 | ||||
|
投稿日時: 2008-09-28 12:48
はじめまして、akito12と申します。
私も同じ様な症状だったのですが、原因は認証にLDAPを使っていた為 PAM認証がうまくいっていなかった事でした。 ※/etc/pam.d/vsftpd を書き直し もしやと思いレスつけさせて頂きました。 |
1