- ベストアンサー
ftpサーバーに接続するのにじかんがかかる
ftpサーバーを稼動させていますがアクセスを要求してから接続できるまでに約1分もかかります。予想される原因がありましたら教えてください。 サーバーOS:RedHatLinux7.0j ftpサーバー:wu-ftpd ftpクライアント:ffftp 関係あるかどうかわかりませんが、wu-ftpdのインストール後に以前にこちらで教えていただいた設定がしてあります。http://www.okweb.ne.jp/kotaeru.php3?224256 のANo.#3の回答を参考にそのとおりに設定しました。この設定をしたから接続に時間がかかるようになったのかどうかは確証がありません(ftpはたまにしか使わないので)。 ftpの他、sendmail、apacheを稼動中ですがこちらはとくに問題ありません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1分程度時間がかかる、という感じから察してDNS の逆引き関連の問題のような気がします。 ftpd はアクセスしてくるクライアントをチェックするために、クライアントのアドレスからホスト名をDNS で引いているようです。 この際にDNS サーバにクライアントが登録されていない場合、タイムアウトするまで待たされる可能性があります。
その他の回答 (2)
- hofuhofu
- ベストアンサー率70% (336/476)
Wu-ftpdは初期設定の状態では、クライアントへ接続する際、クライアントのIPアドレスの名前解決を行おうとし、まず/etc/hostsを参照し、そこにクライアントの情報がない時はDNSへ探しに行きます。 しかし、目的のコンピュータがDNSに登録されていない場合、延々と探し続け、結果としてタイムアウトになってしまいます。 そうなってから、ようやくクライアントに接続することになるので、1分間も待たされるということになるのです。 解決策としては、DNSに探しにいくのをやめるようにすればよいのですが、Wu-ftpdの場合では'--disable-dnsretry'オプションをつけて、ソースからコンパイルする必要があるようです。 proftpdであれば、設定ファイルを編集すればいいだけなのですが。 http://www.infoscience.co.jp/technical/proftpd/reference.html#UseReverseDNS ただ、外部へftpdサーバを公開するのであれば、アクセスしてくるコンピュータはDNSに登録されているでしょうから、あまり気にしなくてもいいのではないかと思います。 LAN内であれば、台数が多いときには、BINDなどを使ってDNSサーバを作ったほうが楽かもしれませんが、少なければ、/etc/hostsの設定で十分事足りるでしょう。
お礼
回答ありがとうございます。 今回の場合はLAN内からのアクセスで数台しかないので/etc/hostsへの記述で十分です。
>1.アクセスするクライアントはすべて登録しなくてはならないのか?(IPが不明の場合は登録できない) > ftpサーバが逆引き解決するためのDNSサーバを別に立てておけばいいですね。 そこで0.0.0.0/0の逆引きゾーンだけ作っておけばとりあえずすぐに「ホスト該当無し」のエラーで返るかと。 (0.0.0.0/0なんて作れるのかな?) >2.ftpdは何故タイムアウトになってから接続させるのだろうか? > ログ収集のタスクに処理を渡してしまう為...なのでしょうか。 すみません、自信ないです。
補足
回答ありがとうございます。 ftpdがクライアントのホスト名を調べているとは知りませんでした。そこでサーバーの/etc/hostsにクライアントのIPとホスト名を記述したら約60秒かかっていたのが瞬時につながるようになりました。効果てきめんです。 結果はよかったのですが新たな疑問が湧いてきました。 1.アクセスするクライアントはすべて登録しなくてはならないのか?(IPが不明の場合は登録できない) 2.ftpdは何故タイムアウトになってから接続させるのだろうか? 質問ばかりで恐縮ですが宜しくお願いします。