サイトアイコン puti se blog

DNS MXレコードのpreference違いによるメール動作確認。特にpreference 0設定

DNSのMXレコードのpreference(優先度値)に「0」を設定しても良いのでしょうか?
preferenceの値によるメール動作の確認とともに勉強してみました。

 

結論、preference 0を設定しても良い。最優先値

RFC 974 に「メールルーティングとドメインシステム」について定義されている。
この文章を、ざっくり翻訳すると

とあります。つまり、preferenceは0を含みます。

参考、RFC 974 - Mail routing and the domain system

さらに、RFC 974 にpreferenceによるメーラーの動作について定義されています。

前提条件・環境

以下の環境でテストしました。

Server-A

Server-B

Server-Aのtest.localゾーンのMXレコードをいろいろ変更させてテストしました。

 

MXレコード preference 0 と10で検証

メールを10通投げてみました。

結果、全部preference 0 のmail01へメールされました。

 

MXレコード preference 10 と10で検証。優先度値を同じ値に設定

メールを10通投げてみました。

結果、微妙にmail01とmail02で分散されました。

 

特殊なpreference 0 の設定。メールサーバーなし(Null MX)

メールサーバーが無いという特殊なDNS MX設定がRFC 7505にあります。
どういう意味なのかメール動作で確認してみます。

参考、RFC 7505 - A "Null MX" No Service Resource Record for Domains That Accept No Mail

 

MXレコードがない場合

MXレコードがない場合、メールをするとServer-Bから以下のようなDNSクエリが発生します。

  1. test.localのMXレコードを引いて、無いとわかると
  2. test.localのAレコードを引いて、
  3. test.localのAAAAレコードを引きます

今回のテスト環境の場合、10.127.0.100にメールが飛びます。

このホスト名Aレコードにもメールを飛ばさせたくない設定は以下のようになります。

Null MXレコードの設定

メールをするとServer-Bから以下のようなDNSクエリが発生します。

  1. test.localのMXレコードを引いて、無いとわかると終了

Aレコードにメールを飛ばそうとしない動きがわかります。

Server-Bのメールログに、

というエラーが記載されました。メールの挙動が明らかに変わりましたね。

 

Null MXレコードの設定はpreference 0でないとダメなのか?

おまけの検証です。
Null MXレコードをpreference 10で設定してみました。

結果的に、Null MXの設定はpreference 0である必要はなさそうでした。

なるほど。

モバイルバージョンを終了