さて、ここ数日DNS関連の話をしてますので、もう少ししてみようかと思います。今回はMXレコードについて少し書いてみようかと思います。今さらですが、MXとは、Mail eXchangeの略です。「配送先のメールサーバはこのマシンです」ということを送信元メールサーバに伝える情報です。例えば、ある会社(X社とします)でexample.jpというドメインを所有しているとします。この会社が問い合わせように設けているアドレスがinfo@example.jpだとします。一般的には@の前がユーザ名、@の後ろがホスト名だという風に言われています。しかし、X社にはexample.jpというサーバはありません。では、なぜメールが届くのでしょうか?ここでMXレコードが活躍してくれます。先ほど書きましたように、「配送先のメールサーバを示す情報」になります。X社のメールサーバがmail.example.jpだとすると、「example.jp宛に届いたメールは、mail.example.jp宛に配信してね。」ということを伝えるのがMXレコードの役目です。明示的に書くと、以下のような記述になります。
example.jp. IN MX 10 mail.example.jp.
というような形になります。左辺の値は省略することが多いですが、ここで言う「10」はプリファレンス値で、優先度を示すものです。この場合ですと、mail.example.jpが落ちてしまったらメールを受信することが出来ません。そこでセカンダリサーバを設けて、プライマリサーバが転けた場合でもメールを受信出来るようにします。セカンダリサーバをmail2.example.jpだとします。これを踏まえると以下のような形になります。
example.jp. IN MX 10 mail.example.jp.
IN. MX 20 mail2.example.jp.
といったような記述になります。プリファレンス値は小さいほど優先度が高くなります。ですから、mail.example.jpに配送します。このマシンが応答しない場合はmail2.example.jpに配送します。これでバックアップの役割を果たすことが出来ます。なお、プリファレンス値を同じにすると、ラウンドロビン式になるので、理屈の上では均等に配送されることになります。
ということで、続きは明日にさせていただきます。