Contents
メイルサーバのためのDNSレコード設定
1. 受け取るドメインのMXレコードを設定せよ
DNS/MXレコードはメイルを受け取るべきホストの名前を示します。
- メイルを受信したいドメイン名について MX レコードを定義しましょう。
- MX レコードの値には受信するホスト名を書きます。 ドメイン内のホストを推奨します。
- [#dontcname|CNAME を書いてはいけません]。
- 送信サーバや POP サーバとは別の名前にしましょう。
送信側の Message Transfer Agent (MTA) は メイルの宛先アドレスにある宛先ドメインの受信サーバを探します。 このとき、ドメイン名をキーにして DNS MXレコードを検索します。
MXレコードが見つからない場合には、MX がなかったという返事が返ります。
- この場合、送り側は A レコードを検索しなおします。 (MX レコードがなかった時代との互換性のためです。) そうすると、DNS 検索は 2度起きることになります。 ネットワークに無用な負荷をかけることになります。メイル配送も遅くなります。
最近では spam対策として、 MX レコードが定義されていないドメインらのメイルを拒否する サイトも現われています。
2. MX レコードの値(名前)に対する A レコードを設定せよ
MX レコードを検索すると、 MXレコードとともに 付随する DNS/A レコードも返ってくることがあります。 ([http://RFC/rfc1034.txt RFC 1034 3.7.1]) これは MX レコード値に現われる名前がそのドメイン内のホストである場合に 限って信用していいものです。
- MX レコードで指定される名前がドメイン外のホストである場合には A レコードを定義/返事してはいけません。 無視されるはずの余計な返事をしてはいけません。
- 問合せた側はドメイン外のホストに対する A レコードは捨てるべきです。
3. メイル送信サーバの逆引きを設定せよ
理由:spam対策として、送信 IP アドレスの逆引きができない場合には 受信拒否(保留)する サイトがあります。
- 『spam送信ホストは逆引きが設定されていないことが多い』ためです。 よく使われるようになった判定方法です。
こういうサイトへメイルを送れなくてもいいという立場(ポリシー)であれば、 逆引きを気にする必要はありません。
- 逆引きに返す名前は helo/ehlo で名乗る名前とあわせましょう。
- 自ホストの名前解決ができないと送信に時間がかかることがあります。 tcpserver で逆引きをするように設定されていて、 接続が遅くなっている可能性もあります。
http://tools.qmail.jp/tcpserver.html tcpserverの活用法
4. 送信ドメインのMXレコードを設定せよ
理由:spam対策として、送信アドレスの MX レコードを確認するサイトがあります。
5. MXの値を別名(CNAME, alias)にしてはならない
http://RFC/rfc1034.txt RFC 1034 3.7.1、 http://RFC/rfc2181.txt RFC2181 には [http://J/ref/ref2181.html MXレコードの値をaliasにしてはならない] とあります。
背景:MXレコードを検索したときに CNAMEが返ってくると、 それを正規名に変換するための検索をする必要があるので、 余計な手間がかかることになります。 ( http://J/cname/cnamemx.html RFC 1912 2.4]) 検索に失敗するかもしれません。
受信ホストでCNAMEのことを忘れた設定をしてると、 メイルを受け取り損ねるかもしれません。
MXレコードには Aレコードを持つホスト(ドメイン)名を書いてください。 ホスト名はドメイン内の名前を推奨します。 外部の名前も使えますが、余分の DNS 検索が必要になり、 障害の影響も受け易くなります。
envelopeに現れるドメインにも別名は使わないようにしましょう。(RFC 821 SMTP) [wiki:Qman:faq/faq2.html#2.5. CNAME lookup failed temporarily(FAQ 2.5.)] http://J/ref/ref1912.html 別名にMXは設定できないことにも注意しよう。
6. ワイルドカード MX はやめよう
DNS 初心者は DNS の設定を楽にしようとして、 ワイルドカードMXを使いたくなるかもしれませんが、 ワイルドカードMXは使わないことを勧めます。(浜野さんに感謝)
DNS の運用と設定においてよくある間違い の http://bonz.squares.net/~dais/misc/rfc1912j.html#wildcard 2.7 ワイルドカード(wildcard) レコード を読んでください。
ワイルドカードMXは DNS でそのゾーンのまったく定義されていない名前に対してのみ適用されます。
7. DNS キャッシュサーバをローカルに動かそう
メイルサーバでは DNS 情報が頻繁に参照します。 ローカルに DNS/キャッシュサーバを動かしておくことを勧めます。
キャッシュサーバにはdjbdns(http://djbdns.qmail.jp/djbdns.html) に含まれている dnscache がお勧めです。 djbdnsをインストールして dnscache だけを動かすのです。 設定は簡単です。
http://www.qmail.jp/mail-abc/mailgate/ メイルゲートウェイの設定、 http://www.qmail.jp/mail-abc/tandp1.html メイル管理入門(基礎知識編)
http://www.dns.net/dnsrd/ DNS Resources Directory(www.dns.net)
8. 関連RFC
http://RFC/rfc821.txt 821 SIMPLE MAIL TRANSFER PROTOCOL
http://RFC/rfc974.txt 974 MAIL ROUTING AND THE DOMAIN SYSTEM http://J/974.html 日本語訳(前野)
http://RFC/rfc1034.txt 1034 DOMAIN NAMES - CONCEPTS AND FACILITIES
http://RFC/rfc1035.txt 1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
http://RFC/rfc1123.txt 1123 Requirements for Internet Hosts -- Application and Support
http://RFC/rfc1535.txt 1535 A Security Problem and Proposed Correction With Widely Deployed DNS Software
http://RFC/rfc1912.txt 1912 Common DNS Operational and Configuration Errors
2007-11-10 前野年紀