qmail:CNAME_lookup_failed_temporarily |
CNAMEの正引きに失敗したというエラーで、DNSサーバのIPを設定するリゾルバ設定ファイル resolv.conf の設定ミスでDNSが引けない時などに起こることがあるよう。
とりあえず、telnetでメールを送ろうとすると、TOを指定した時点で「ドメインがみつからない」とエラーになるし…
実際 /etc/resolv.confを見てみると…
MANPAGEにはnameserverはMAXNS台(現状3台)とあるのが、4台設定されてる。そして、このnameserverはどうやって決めるのか不明のためこれでこの方面は頓挫。
CNAMEレコードとは (Canonical Name record)
DNSの資源情報の一種。正規名(CNAME)以外の名前から正規名を得るのに利用される。たとえばwwwが正規名であるサーバーにftpと別名がつけられた場合、クライアントがftpのIPアドレスを問い合わせた場合,DNSサーバーはCNAME レコードを参照して,正規名がwwwであることを伝える。
yahoo Japanのヘルプには以下の記述が。
===
配送ソフトウエア(MTA = Mail Transfar Agent)に古いバージョンのqmailを使用しているシステムから、Yahoo!メールへのメール送信を行う場合、メール送信手順の中で行われる DNS参照に問題がある可能性があります。qmailにパッチ(qmail-103.patch)を適応してください。
qmail-103.patchの検索結果
===
DNSが正常に引けていて、qmailからだけはDNSが引けない現象が起きることもあるらしい。
DNS 応答は 本来512byteに制限されてきたので、qmailは512byte以上のDNS応答をエラーとする仕様になっている模様。
これを解決するには、
・512byte以上を受け取れるようにする
1. Christopher K. Davis のパッチ http://www.ckdhr.com/ckd/qmail-103.patch
…512byteより大きなDNSが帰ってきた場合に、一律65536byteに増やしてTCPをやり直す。
2. パケットのバッファサイズを固定で 65536byte に増やしてしまう
…dns.c の中の PACKETSZ を 65536 に書き換えて qmail をリビルトする。
・DNSが512byte以内で帰ってくるようにする
3. DNSサーバ用ソフト、djbdnsに含まれるdnscacheを利用し、qmailからはdnscacheをDNSサーバとして参照させるようにする。dnscacheはその上位のDNSサーバの結果を、必要最小限に生成し直し、512byte以下にして返してくる。ただ、djbdns自体が2001年から公式には改良されていないらしいので、その点不安が残るような…。
とりあえず、以上3つの方法の提案がDave SillのLife with qmail (日本語)にあった。
これとは別に、MXレコード(Mail Exchanger Record)周辺でCNAMEの使用は推奨されていないのでAレコードを使用するようにという指摘もネット上でみかけた。例1 例2
MXレコード:電子メールの配送先メールサーバを決定する際に使用する、DNSで定義される情報の1つで、ドメインに対するサーバの優先度が指定できる。配送先メールサーバのホスト名はAレコードまたはAAAA(quad-A)レコードが登録され、これに基づいてメールサーバのIPアドレスを取得する。
なんだけど、ここまで来たところで時間もないので放置プレイを暫定処理とすることに(・ω・;)