DNS

ネスペ対策!

基礎しか記載できない!これを理解した上で深掘った問題が出る感じかと。

最初にFQDNについて理解

www.example.com.

部分説明
wwwホスト名(サーバー名など)
exampleセカンドレベルドメイン
comトップレベルドメイン(TLD)
.(ピリオド)ルートドメイン(省略されることもある)

※最後の . は省略されることが多いが、厳密なFQDNでは省略しない

一般にドメイン名の前にホスト名を加えたものが完全修飾ドメイン(FQDN)という。

DNSレコード一覧

レコード種別読み方主な用途・説明
Aエーホスト名 → IPv4アドレスの対応付け
AAAAクアッドエーホスト名 → IPv6アドレスの対応付け
CNAMEシーネームホストの別名(別名 → 正式名への対応)
MXメールエクスチェンジドメイン宛メールの配送先サーバーを指定(優先度も設定可)
NSネームサーバードメインの権威DNSサーバーを指定
SOAソウア(Start of Authority)ゾーンの管理情報を定義(最初のレコード)
PTRピーティーアールIPアドレス → ホスト名(逆引き用)
TXTテキストSPFやDKIMなどのメール認証情報、任意のテキスト情報
SRVサービス特定サービスの提供ホストとポート番号を定義(例: SIP, LDAP)
SPFエスピーエフTXTで記述されるメール送信者の認証用情報(SPFレコードとも呼ぶ)
NAPTRナプターSRVと組み合わせて使用、VoIPやENUMで利用
DNSKEYディーエヌエスキーDNSSECで使われる公開鍵
RRSIGアールアールシグDNSSECの署名情報
DSディーエス親ゾーンに登録するDNSSECの情報(Delegation Signer)

※権威DNSサーバーとは、ゾーンの情報を保持し、他のサーバーに問い合わせることなく応答を返すことができるサーバー。持ち主ですね。

レコードの記載例

レコード種別記述例説明
Awww.example.com. IN A 192.0.2.1www.example.com のIPv4アドレス指定
AAAAwww.example.com. IN AAAA 2001:db8::1IPv6アドレス指定
CNAMEmail.example.com. IN CNAME www.example.com.mail.example.com を www.example.com の別名に設定
MXexample.com. IN MX 10 mail.example.com.ドメインexample.comに来たメールは mail.example.com に配送(優先度10)
NSexample.com. IN NS ns1.example.net.ドメインexample.comの権威DNSサーバーを指定
SOAexample.com. IN SOA ns1.example.com. admin.example.com. (2025051401 3600 600 604800 86400)ゾーンの開始レコード。管理者メールは @ を . に変える(admin@example.com)
PTR1.2.0.192.in-addr.arpa. IN PTR www.example.com.192.0.2.1 の逆引き。→ ホスト名 www.example.com
TXTexample.com. IN TXT “v=spf1 ip4:192.0.2.0/24 -all”SPF情報。192.0.2.0/24 だけが送信許可される
SRV_sip._tcp.example.com. IN SRV 10 60 5060 sipserver.example.com.SIPサービスのTCP接続先を定義(優先度10、重み60、ポート5060)
SPF (TXTと同様)example.com. IN SPF “v=spf1 include:_spf.example.net ~all”古い書き方。今はTXTを使うのが主流
NAPTRexample.com. IN NAPTR 100 10 “U” “E2U+sip” “!^.*$!sip:info@example.com!” .VoIPやENUMで使用される書き方
DNSKEYexample.com. IN DNSKEY 257 3 8 AwEAAZLJgQ==DNSSECの公開鍵(詳細は割愛)
RRSIGwww.example.com. IN RRSIG A 8 3 3600 20250514000000 20250414000000 12345 example.com. AwEAAbCd==DNSSEC署名情報
DSexample.com. IN DS 12345 8 2 abcd1234abcd…DNSSECの親ゾーンに登録するための署名情報

IN はクラス(Internetの略)→ 常に使われるので省略されることもある

MXSRV には 優先度 が付く(数字が小さい方が優先される)

PTR は逆引きなので、IPアドレスを 逆順+in-addr.arpa 形式に変換する

SOA のパラメータ(シリアル、リフレッシュなど)

代表的なレコードの記載例

  1. SOAレコードのパラメータ

example.com. IN SOA ns1.example.com. admin.example.com. (
2025051401 ; Serial
3600 ; Refresh
600 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)

パラメータ説明
Serialゾーン情報のバージョン番号。プライマリDNSでゾーンファイルを変更したときに増加させる。セカンダリDNSはこの番号を監視して更新を検知する。
RefreshセカンダリDNSがプライマリDNSにゾーン情報の更新を問い合わせる間隔(秒単位)。
Retryリフレッシュに失敗した場合、再試行するまでの待機時間(秒)。
ExpireセカンダリDNSがプライマリDNSと接続できない状態が続いた場合に、そのゾーン情報を無効と見なすまでの期間(秒)。
Minimum TTLキャッシュDNSがゾーン内のレコードを保持する最小時間(秒)。古くは全レコードに適用されたが、現在は個別レコードにTTLが指定されるのが一般的。

2. SPF(TXT)レコードの主要パラメータ

example.com. IN TXT "v=spf1 ip4:203.0.113.0/24 include:_spf.google.com -all"

ドメインを最初に記載し、あとは次の通り。

パラメータ説明
v=spf1SPFのバージョン指定。SPFレコードは必ずこのプレフィックスで始まる。
ip4:このIPv4アドレスまたはネットワークからの送信を許可する。例: ip4:192.0.2.0/24
ip6:このIPv6アドレスまたはネットワークからの送信を許可する。
include:<ドメイン>指定されたドメインのSPF設定を取り込む。他社のメールサービス(例:Gmail)を使うときに利用。
-all上記に一致しない送信元は拒否(Fail)。最も厳しい設定。
~all上記に一致しない送信元は「SoftFail(許容だが非推奨)」。
?all一致しない送信元は制限しない(Neutral)。検証を行わない。

コメント

error: 選択できません。
タイトルとURLをコピーしました