- ベストアンサー
iptablesによる通信遅延の原因と解決方法
- ubutntu server 8.04にてiptablesを設定するとネットワーク処理が極端に低下する問題について質問します。
- サーバ2でパケット制御するためにiptablesを利用していますが、制御を行うとサーバ群との通信が低下します。時刻同期やアップデートにも影響し、管理が不便です。
- iptablesにおける通信遅延の原因と解決方法をご存知の方は教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ええっと、これも勘にすぎないのですが、接続時に時間が かかるけれど、その後のレスポンスには問題がないという ことはないでしょうか。 上のような状況だと DNS の逆引き(接続してきた IP から ホスト名を求める)に時間がとられていることが考えられま す。 iptables で全てを許可すると問題がないとのことですので 何らかの通信が妨げられているのが原因だと考えられます。 こういうときは、遠回りのようでも iptables や wireshark で 通信ログを取り、どこに時間がかかっているのかを目で見るのが 一番の早道となります。
その他の回答 (1)
- t-okura
- ベストアンサー率75% (253/335)
ヤマ勘ですが、DNS 通信がブロックされ名前解決ができない。 タイムアウトするまで待つため、時間がかかっているので はないでしょうか。
補足
早速のご回答ありがとうございました。 やや説明不足の点もありますので補足させていただきます。 アップデート(apt-get,yum,WindowsUpdate)でいえば設定ファイルにドメイン名で書かれているのでその線は十分ありだと思います。 ですが、時刻同期(ntpdate,w32time)に限ってはIPアドレス(ntp.tohoku.ac.jp)でも実施しており、だめだということを確認しています。 またHUBからはリモート端末(といっても通常使用のPC)も繋がれており、通常この端末より操作を行います。 このリモート端末よりアクセス(TeraTerm,ftp,mstsc,samba,windows共有など)する際、時間がかかる(認証に10秒くらい)のもややネックになっています。 接続はIPアドレスです。 teratermですらレスポンスの悪さを感じる(操作にはまったく問題ないレベル)ので、ftp接続は問題ありのレベルになってしまうのは想像できるかと思います。 その他考えられることがありましたらお願いします。
お礼
t-okuraさん、回答ありがとうございました。 当初、カーネルチューニングなどが必要なのかと色々悩んでしまいましたが、「何らかの通信が妨げられているのが原因」の一言で1から調査しなおしたところ、問題解決できました。 原因は、t-okuraさんのおっしゃるとおり、DNSの逆引きっぽいです。 パケット解析は知識がないので後回しにして、まずは使用ポートから解析を試みたところ、IPアドレスで接続しても受け側で53番ポートにSYN_SENTしていました。 またサーバ2ではiptablesで「-t filter」のOUTPUTのみを許可していましたが、「-t nat」のOUTPUTも許可しないとパケットそのものが外部へ流れていなかったようです。 ntpdateで「sendto(***.***.***.**): Success」と繰り返すので通信はしているものの速度遅延が原因と思い込んでしまいました。 おかげで解決できました、ありがとうございました。