(2024年1月22日 22時追記)
MXにIPアドレスを設定することを推奨する記事ではありません。試した限りでは、多くのDNS権威サーバサービスで、MXにIPアドレスを設定しようとするとエラーになりました。RFCに則ったMXの設定方法については沢山の情報がありますので、そちらをご確認お願いいたします。
「MXレコードのIPアドレスの最後の 「.」(ドット)」について、確認してみた。
元ネタ
下記記事で記述した「設定時はないが、digの結果には表示されている、MXレコードのIPアドレスの最後の 「.」(ドット)は、下記リンクなどから、MXレコードはFQDNが設定されることが想定されているためDNSの「ルート」を表す「.」と推測しています。」の確認
DNSのパケット構造
実際に手元のnamed にデータを加え、上記を参考に解釈した。
パケットデータ上は上記itmediaの記事のように圧縮が行われることがありますが、今回は展開された形となるように元データを作成しています。
Aレコードのパケットデータ
Aレコードのレスポンスパケットの該当部分のデータは以下
|A |IN |TTL(86400)|length(4)|192|168|0 |20|
|0001|0001|00015180 |0004 |c0 |a8 |00|14|
IPアドレスはバイナリ4バイト
MXレコードのパケットデータ
MXレコードのレスポンスパケットの該当部分のデータは以下
|MX |(snip)|preference|len|mail |len|example |len|com |
|000f|(snip)|000a |04 |6d61696c|07 |6578616d706c65|03 |636f6d|00
データのどこにも「.」はない
FQDNの部分は、「長さ+文字列」の繰り返し。最後が00
表記上は、区切り文字「.」を追加、最後にルートラベル「.」追加して表示し「mail.example.com.」となる。
IPアドレスが設定されたMXレコードのパケットデータ
IPアドレスが設定されたMXレコードのレスポンスパケットの該当部分のデータは以下
|MX |(snip)|preference|len|192 |len|168 |len|0 |len|20 |
|000f|(snip)|000a |03 |313932|03 |313638|01 |30|02 |3230|00
Aレコードの時のIPアドレスとは違い、「長さ+文字列」の繰り返し。最後が00
MXレコードなので、FQDN と解釈し、表記上は、区切り文字「.」を追加、最後にルートラベル「.」追加して表示し「192.168.0.20.」となる。
dig の表示結果
「192.168.0.20.」と最後に「.」(ドット)がついて表示されている
Windows 10 の nslookup では、最後の「.」(ドット)は付かない
「192.168.0.20」と最後に「.」(ドット)の表示はない
結論
コマンドdigのMXレコードの結果表示の最後の「.」は、コマンドdigの表記上表示されるだけで、データ上はない。
補足
実際のnamedの設定は以下です。
named の設定上は、下記のように、最後に「.」が必要です。
;
@ IN SOA ns.example.net. root.example.net. (
20240122 ;Serial No.
10800 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum
)
IN NS ns.example.net.
IN A 192.168.0.15 <- 試したAレコード
IN MX 10 mail.example.com. <- 試したMXレコード
; Host Information
ns IN A 192.168.0.15
www IN A 192.168.0.15
mail IN MX 10 192.168.0.20. <- IPアドレス設定したMXレコード
最後の「.」がないと、以下のように設定すると、MX = 192.168.0.20.(ドメイン) (今回の場合は、192.168.0.20.example.net.)が実際のデータとなります。
mail IN MX 10 192.168.0.20
これは、設定内容が、IPアドレスでなくても同様で、下記だと、mx.example.net + (ドメイン)(今回の場合は mx.example.net.example.net.)が実際のデータとなります。(namedの設定の時によくやってしまう失敗)
mail IN MX 10 mx.example.net
ちなみに例の件は、権威サーバがAWS だったはずなので、補足のnamedの設定の話は関係ないはずです。
間違いのご指摘・コメント等ぜひよろしくお願い致します。
-
2024年1月23日 16時 画像間違い修正 ↩