[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[connect24h:3515] Re: 正規のドメイン名とは?



 前田@nanetです。

Kenji Kobayashi wrote:
> メール配送プログラムは配送ループを避けるためにメールの送り先を決める前に
> 一部のMXレコードを捨てる。MXレコードを捨てる手順は以下のとおり。
> 1.MXレコードをプリファレンス値の順に並び替えをする。
> 2.自分(メールサーバ)の正規のドメイン名がMXレコードのリストに含まれるか
>   チェックする。
> 3.自分のホスト名がMXレコードに見つかった場合には、そのMXレコード
>   以上のプリファレンス値を持つ(優先度の低い)すべてのMXレコードを捨てる。
>   これにより自分より優先度の高いメールサーバへ配送を試みることになる。
> 
> 上記の2の所ですが、「自分の正規のドメイン名」とは何を指しているのでしょうか?
> 自分で考えてみて、以下のいずれかかな?と思ったのですが、はっきりしません。
> 
> ・hostname(+domainname)
> hostnameコマンドで付けた名前がメール配送に関係するなど聞いたことが無い。
> 
> ・自分のIPから逆引きした名前
> これだとすると逆引きで引ける名前とMXレコードは一致させないといけない。
> NICが複数刺さっていたらどうなるんだ?

 sendmailでの、「$j」のことを言っていると思います。

 HELOで名乗りをあげるときと、MXを引いてみて、自分自身へ接続しない
様にするために、この「正規のドメイン名」が使われます。

 これをどうやって知るかはMTAの実装に依存しますが、sendmail V8以降
では、ローカルホストの標準名が自動的に使われます。

 従って、hostnameで付けた名前はメール配信に関係しますし、
 NICが複数刺さっていて指定する必要がある場合は、正式名を指定してやる
必要がある。ということになります。

 ご説明いただいた事情によって、MXレコードにCNAMEで定義された名前を
使うと面倒なことが起こります。

         IN A 192.168.0.1
         IN MX 10 MAIL1
         IN MX 20 MAIL2
   MAIL2 IN CNAME SERVER2

 とかやっていて、スプールはMAIL1で、セカンダリとしてMAIL2が動いて
いたとします。MAIL1が動いている場合、正常に動作するでしょう。
 MAIL1が落ちて、MAIL2がセカンダリとしてメールを一旦、受け取り、
配送を試みた時にMAIL1がまだ落ちているとします。
 そうすると、MAIL2はMXレコードの中に自分の正規名であるSERVER2を
見つけ出しませんから、MAIL2に送信しようとしますが、これは実は自分
自身で、エラーとなります。

-- 
Nagasaki Network Service (http://www.nanet.co.jp/)
 kei@xxxxxxxxxxx <Katsuyuki Maeda> (http://www.nanet.co.jp/~kei/)
 keikuma@xxxxxxxxxxx (for PostPet)
「終わらないプロジェクトはない。終わっちゃうプロジェクトはあるけど。」

--[PR]------------------------------------------------------------------
………・・・・ プレゼント情報サイト『情報ジャングル』 ・・・・………
 ★★ソニー「バイオノート」★★「デジカメ」★★「クオカード」★★
        その他豪華商品満載!今すぐ応募しよう!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
             http://ad.freeml.com/cgi-bin/ad.cgi?id=aPaKp
------------------------------------------------------------------[PR]--
<GMO GROUP> Global Media Online  www.gmo.jp