DNS basic

名前解決 (正引き, 逆引き)

ホスト名(test.com)からIPアドレスを解決すること。逆引きはその逆。client からの名前解決要求を受けた cache DNS server (full service resolver) が権威 DNS server (DNS contents server) 群と反復問い合わせ(検索)を行い、その結果を client へ返却している。

この際に client (stub resolver) から cache DNS server への問い合わせを “再帰問い合わせ” という。

cache DNS server から 権威 DNS server 群への問い合わせを “非再帰問い合わせ”, または “反復問い合わせ” という。問い合わせを受けた権威 DNS server は自身が管理する zone 情報, cache 情報のみを応答する。他 DNS server へは問い合わせを行わない。

full service resolver と stub resolver の違い

resolver (名前解決の為のDNS client) では、1つ以上の DNS server のIPアドレスを持ち、アプリケーションが名前解決を要求した場合 resolver (stub resolver) にキャッシュされた情報を調べる。stub resolver は DNS リクエストを送信するだけの client pc, DNS server である。情報がない場合は、 resolver が cache DNS server (full service resolver) へ再帰問い合わせを行い(完全に名前解決を行い) client へ問い合わせ結果を返し、自身に問い合わせ情報をキャッシュする。cache DNS server (full service resolver) は非再帰問い合わせを 権威 DNS server (DNS contents server) へ行う。

stub resolver は、OSに付随する TCP/IP プログラムに組み込まれている。nslookup, dig のようなもの。client PC の DNS キャッシュは ipconfig,displaydns で確認可能であり、ipconfig,flushdns で消去可能。

cache DNS server (full service resolver) は intranet 内に配置するのみであり、権威 DNS (DNS contents server) と同居させるのはセキュリティ上危険性が高い。権威 DNS (DNS contents server)では、cache 機能を無効にしておくこと。

DNS forwarder

自分自身では解決できない DNS request を、指定した cache DNS server (full service resolver) へ転送し代わりに解決してもらう DNS server のこと。例えば企業内 LAN として構築した DNS forwarder に、指定した DNS server が cache DNS server (full service resolver) として動作する。

client からの DNS名前解決 request に応答する際、forwarder は特定の DNS server へ1度問い合わせ要求を転送 (して結果を cache) するのみである。cache DNS server(full service resolver) は複数の DNS server に対して順番に問い合わせを行い名前解決を行う。forwarder は network の負荷が full service resolver に比べて少ない為、intranet で forwarder を1台構築し、ISP(Internet Service Provider) 側 full service resolver へ forward させる使い方が常套。network 回線が名前解決負荷が高くなるのを防ぎ、ISP側の変更に対して client の設定を変更せず、forwarder の設定変更のみで済むようになる。

A record

  • 単一のドメイン名を、複数のホスト (global IP) に紐づけることができる。
  • ドメイン名(1):IPアドレス(n)
  • IPアドレス(1):ドメイン名(n)

CNAME (resource name)

  • A record で定義済みの複数ドメイン名(ドメイン名:参照ドメイン名)を1つのホスト(global IP)に紐付けることがてきる。
  • A record 定義済みのドメイン名と別ドメイン名を設定することができる。
  • 同様のAレコードが複数ある場合、IP変更時の手間を減らす。
    www.taro.jp. IN CNAME www.taro.com.
    ftp.taro.com. IN CNAME www.taro.com.
    app.taro.com. IN CNAME www.taro.com.

別管理者のドメインに紐づける
other.taro.jp -> other.ne.jp

CNAMEを設定した場合、他のレコード (TXT, CNAME, NS) を一緒に設定出来ない。

SOA (Start Of Authority)

  • DNSツリー構造において分散管理されている zone それぞれの委任に関する Authority 情報を示すレコード。
  • 権威 DNS server 担当 zone に関する Authority 情報が記載されている。
nslookup -type=soa test.net 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
test.net
    origin = ns-781.awsdns-33.net
    mail addr = awsdns-hostmaster.amazon.com
    serial = 1
    refresh = 7200
    retry = 900
    expire = 1209600
    minimum = 86400

refresh (秒)
* zone 情報をリフレッシュするまでの時間。
* secondary DNS server が zone 情報の更新を確認する間隔。

retry(秒)
* refresh で更新が行えなかった場合にリトライする時間間隔。

expire(秒)
* refresh で更新が行えない情報が続いた場合に、secondary DNS server が保持するデータを利用する時間

minumum (Negative cache TTL)
* negative cache (存在しないドメイン名をキャッシュ) を維持する時間。
* 存在しないドメイン名を権威DNS (contents DNS server) へ問い合わせた場合、”NXDOMAIN” ステータスが返却される。

関連記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です