Cisco / CCNA 200-301 v2.0

試験項目 4.4 · CCNA-118

DNS Resolution Fundamentals

ドメイン 4 · Network Services and Security · DNS Recordのトラブルシューティング

このページのゴール

DNS Queryの流れとResponse Statusを読み分け、Record不存在・Name不存在・Resolution Failure・Cache影響を切り分けられるようにする。

このページで学ぶこと

  • DNS Query Flow
  • DNS Record Type 選択
  • NXDOMAIN Interpretation
  • NODATA Interpretation
  • SERVFAIL Interpretation
  • DNS Timeout Diagnosis
  • DNS TTL Cache
  • dig / nslookup Interpretation
  • DNS Record Versus Application
  • DNS Negative Response Cache

DNS Resolutionの基本Flow

Application / Host
↓
DNS Resolver
↓ Query Name + Record Type
DNS Query
↓
Authoritative DNS情報
↓
Resource Record
↓
Host / Web / Mailへの接続情報

DNSは単純な「Hostname→IP」だけではありません。問い合わせるRecord Typeに応じて、IPv4/IPv6 Address、Alias、Mail Exchanger、Authoritative Name Server、Reverse Nameなど異なる情報を取得します。

主要Record Type

Record主な意味
AName → IPv4 Address
AAAAName → IPv6 Address
CNAMEAlias → Canonical Name
MXDomain → Mail Exchanger
NSZone → Authoritative Name Server
PTRAddress → Canonical Hostname

Response Statusを読む

DNS Query
├─ NOERROR + Recordあり → Record値を評価
├─ NXDOMAIN             → Query Name自体が存在しない
├─ NOERROR + 対象RRなし → Nameは存在するが要求Typeがない(NODATA)
├─ SERVFAIL             → Resolution処理失敗を調査
└─ Timeout / No Response→ Resolver / Network到達性を調査

「Recordが返らない」を1種類の障害として扱わず、Response StatusとAnswer Sectionを組み合わせて判断します。

TTL / Cache

Authoritative Record変更
↓
Recursive Resolver / Clientに旧Cacheあり
↓ TTL有効期間
旧結果が返る場合あり
↓
TTL満了 / Cache更新
↓
新しいRecordを取得

Negative ResponseもCacheされ得るため、Record修正直後に全Clientが即座に新しい結果へ切り替わるとは限りません。

基本Verification

dig www.example.com A
dig www.example.com AAAA
dig example.com MX
dig example.com NS
dig -x 192.0.2.10

digやnslookupでは、Query Name、Record Type、Response Status、Answerを対応付けて読みます。Option暗記ではなく、何を調べるQueryなのかを判断できることを重視します。

重要な注意点

  • NXDOMAIN ≠ NODATA
  • NODATA ≠ DNS Server Failure
  • SERVFAIL ≠ Name不存在
  • Timeout ≠ Record不存在
  • Record修正済み ≠ 全Resolverが即時更新
  • DNS Record正常 ≠ Application正常

理解確認

このページの内容を20問で確認します。

理解確認20問へ →