- - PR -
クライアントからの送受信に時間がかかる(qmail)
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-12-14 15:22
voyager と申します.
1台のPC(RedHat)に qmail と djbdns をインストールしています. 本PCで echo to: xxx@yyy.zzz.jp | .../qmail-inject とすると メール送信できていますし,着信もしています.(ローカルもそうで ないものも…) 一方 djbdns も nslookup コマンドで確認すると名前解決できています. この状態で,Windows機メールソフトからメール送受信しようと すると,非常に時間がかかってしまいます.30秒〜1分弱程度を 必要としますが,動作自体は行っています. この遅延を解決したいのですが,原因がよくわかりません. (qmail と DNS との絡みの部分に問題があると思うのですが...) 解決方法などがございましたら,ご教授くださいませ. |
|
投稿日時: 2002-12-14 15:47
鶴長です。
qmailはtcpserverを用いて使用されていますでしょうか。その場合、 tcpserverのオプションで"-H"と"-R"を指定してみて下さい。 出来ればtcpserver起動時のオプションを見せて頂けるとありがたい です。以上ご参考下さいませ。 |
|
投稿日時: 2002-12-14 17:37
鶴長様,早速の回答をありがとうございました.
いつもお世話になっております.m(__)m そういえば,-H,-R の引数をつけた方が良いと書かれたサイトを 見た記憶がございます. 以下に /etc/init.d/qmail 内 の start 部分を記載します. --------- start) # Start daemons. echo "Starting qmail." csh -cf '/var/qmail/rc &' tcpserver -v -u 503 -g 502 -x /etc/tcp.smtp.cdb \ 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & tcpserver -v 0 110 /var/qmail/bin/qmail-popup xxx.yyy.jp /bin/selectcheckpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & echo touch /var/lock/qmail ;; --------- tcpserver 起動の両方ともに -H,-R をつけた方が良いのでしょうか? 初歩的な質問で申し訳ありません. |
|
投稿日時: 2002-12-17 10:19
経過報告です.
> qmailはtcpserverを用いて使用されていますでしょうか。その場合、 > tcpserverのオプションで"-H"と"-R"を指定してみて下さい。 設定変更しましたが,やはり現象は変わらずです... http://multix.jp/html0203/freebsd/qmail.html に # [ FQDN/MX は CNAME であってはならない ] # FQDN(完全修飾ホスト名) および MXレコード(メールドメイン)は、 # DNSを参照したときに“CNAMEが返されてはいけない”。必 ず PTR、 # A レコードとも一回で引けること。そうでないと外部ホストからの # 接続時、30秒から数 分のラグ (遅延) が生じてしまう。 という記述がありました. CNAME は使用しておりませんので,該当しないと思うのですが, 現象的に一致しているようにも思えます. 『PTR,A レコードとも一回で引けること』という文章の“一回で 引ける”とはどういうことなんでしょう? (ココでお伺いすること ではなく,Web管理者に訊くことかもしれませんが…) nslookup コマンドで名前解決できていることだけではダメなんで しょうかね? |
|
投稿日時: 2002-12-17 14:14
一度、WindowsマシンのIPアドレスをメールサーバの/etc/hostsに書いてみてください。
ただ、tcpserverで-HRをつけても変わらなかったとのことなので、 あまり期待は出来ませんが。 |
|
投稿日時: 2002-12-17 15:51
綾瀬さん,回答をありがとうございました.
結論から申し上げますと… 現象は変わりませんでした. 1つ判明したのは,/etc/resolv.conf 内 nameserver 127.0.0.1 の行にて,自ホスト内の djbdns への問い合わせするように しておりますが,この問い合わせ先を別の DNS (こちらは BIND.但し自社の管轄外(検証のため設定してもらった…))に すると,サクサク動作しました. こうなると やはり DNS 絡みのあたりで何かしら問題が あるようなのですが... なにせ nslookup で応答できて いるんだし...??? ただ,諸般の事情により,やはり自ホスト内だけで完結させ たいですね. |
|
投稿日時: 2002-12-23 05:00
鶴長です。
> BIND.但し自社の管轄外(検証のため設定してもらった…))に > すると,サクサク動作しました. > こうなると やはり DNS 絡みのあたりで何かしら問題が > あるようなのですが... なにせ nslookup で応答できて > いるんだし...??? クライアントからは引けていて、localhostからは引けていないのでしょうか? djbdnsの場合も問い合わせを許可するネットワークを指定する必要があるかと 思います。/usr/local/etc/dnscache/root/ip(私の環境ですが)あたりに、問 い合わせを許可するネットワークアドレス名で空ファイルを作成する手順があっ たかと思います。そこで127.0.0.1ファイルが作られていますでしょうか? 問題の本質では無くなってしまいましたが >『PTR,A レコードとも一回で引けること』という文章の“一回で > 引ける”とはどういうことなんでしょう? 例えば次の2つの例を見てみます 例1------------------------------------------ MX 10 mail.example.jp mail.example.jp IN A 192.168.1.15 例2------------------------------------------ MX 10 smtp.example.co.jp smtp.example.jp IN CNAME mail.example.jp. mail.example.jp IN A 192.168.1.15 これがどこかなのDNSで参照される場合、例1だとexample.jpのMXサーバーを見 つけるまで example.jpのMX(mail.example.jp発見同時に192.168.1.15発見 の2stepですが例2だと example.jpのMX→smtp.example.jp発見だけどmail.example.jpへのCNAMEなの!→192.168.1.15発見 と問い合わせ数増えています。それに対するサーバーの負荷の問題もありますが、 それ以上にキャッシュのされ方にも問題が出ます。例2だとキャッシュされる情 報が複数になり、MXを変更しても、意図したサーバーを見つけてくれない可能性 が出てきます。 一応 RFC2181 ではMXレコードの値をCNAMEにしてはいけないときめられちゃって ます。(でも実際は利便性からやっているところは多々あります。) 以上ご参考下さいませ。 |
|
投稿日時: 2002-12-23 09:20
鶴長さん,回答をありがとうございました.
> djbdnsの場合も問い合わせを許可するネットワークを指定する必要があるかと > 思います。/usr/local/etc/dnscache/root/ip(私の環境ですが)あたりに、問 > い合わせを許可するネットワークアドレス名で空ファイルを作成する手順があっ > たかと思います。そこで127.0.0.1ファイルが作られていますでしょうか? qmail 専用 DNS ですのでクライアントからは確認しておりませんが,localhost からは引けております.また,こちらの環境ですと./etc/dnscache/root/ip に 127.0.0.1 ファイルが存在します. > と問い合わせ数増えています。それに対するサーバーの負荷の問題もありますが、 > それ以上にキャッシュのされ方にも問題が出ます。例2だとキャッシュされる情 > 報が複数になり、MXを変更しても、意図したサーバーを見つけてくれない可能性 > が出てきます。 1回で引けるというのは,そういうことだったんですね.よく分かりました. CNAME を使用していない上に,djbdns では /etc/tinydns/root/data にて @111.aaa.xxx.ne.jp:10.11.12.13:a::86400 というように,MX レコードと IP アドレスを併記しますから,“1回で引けて” いると考えて良いかと思います. 因みに,/etc/tinydns/root/data を簡単に示すと | .xxx.ne.jp:127.0.0.1:ns1:259200 | =111.aaa.xxx.ne.jp:10.11.12.13:86400 | =222.bbb.xxx.ne.jp:11.12.13.14:86400 | @111.aaa.xxx.ne.jp:10.11.12.13:a::86400 のようにしております. 色々と試行錯誤しておりますので,また何か情報がございましたら よろしくお願いいたします. |