あいてぃ煮込み

ITに関する基礎からニッチをメインディッシュにご提供

読んで整理するDNS用語集

この記事は、リゾルバや権威などのたくさんあるDNS用語をまとめて紹介します。

DNS(Domain Name System)とは

IPアドレスFQDNを紐づけ、変換してくれるプロトコルです。
TCP/IPのアプリケーション層に分類し、TCP/UCPポートの53番 が宛先として使われています。

ドメインインターネット上でネットワークを特定するための文字列。
インターネット上でドメイン名が重複することはありません。
ドメイン名を登録・管理を行っている組織から1年~契約することができます。
ホスト名TCP/IPのネットワーク上で、PCなどの機器を特定するための文字列。
ドメイン名と違いネットワークが、異なると同じホスト名を持っている機器が存在する場合があります。
NetBIOS名Windowsネットワーク上で使われるコンピューター名。
TCP/IPのIPとは異なり、NetBIOS名で通信相手を特定します。
Windowsでコンピューター名を設定した際には、ホスト名とNetBIOS名の両方が設定されます。
FQDN(Full Qualified Domain Name)直訳すると完全修飾ドメイン
ホスト名+ドメイン名=FQDN

f:id:toto-blend:20200809184742p:plain:w300

ドメイン名 階層構造

ドメイン名は、インターネット上で階層構造になっています。
この階層構造は、ドメイン名前空間と呼ばれていたりします。

f:id:toto-blend:20200810001033p:plain

example.com」のようにドメイン名は、ピリオドで区切られており、この単位をラベルと呼びます。

f:id:toto-blend:20200811180512p:plain

有名なドメインの種類と概要

ドメイン概要
.ルートドメイン
ドメイン名の一番右に記載されているが、省略されていることが多い。
.com元々は、商業組織向けのTLD
使用する際に制限は無く、最も使用されているドメイン
.jp日本を示す、国別コードトップレベルドメイン(略ccTLD)。
ccTLDは、その国に組織や個人の住所がなければ取得できません。
.net元々は、ITインフラ組織向けのTLD
使用する際に制限は無く、.comが使用できない場合の代わりとして良く使われる。
.org非営利組織向けのTLDwikipediaなどに使われている。
.info使用する際の制限がないTLD
.co.jp日本で登記された会社のみ使用することができるSLD。
.ne.jp日本で登記されたITインフラ組織向けのSLD。
.or.jp日本で登記された法人組織向けのSLD。
DNS名前解決正引き・逆引き

DNSは、IPアドレスFQDNを紐づけて管理しており、IPアドレスからFQDNを求めたり FQDNからIPアドレスを導き出すことを名前解決と呼びます。

DNSサーバーを構築する際は、正引き・逆引き共にできる環境で構築を進めていくと他の部分でのトラブルが減ります。

正引きFQDNからIPアドレスを導き出す方法。
様々なサービスの通信で用いられており、何かのシステム導入時に、名前解決が必須なこともよくあります。
逆引きIPアドレスからFQDNを導き出す方法。
正引きとは別のデータを元にして逆引きが行われており、正引きと比較して通信の信頼を確認する場合もあります。
DNSコンテンツサーバーとキャッシュサーバー、リゾル
DNSコンテンツサーバー別名:権威DNSサーバー
自身が管理しているDNS情報をリクエストがあった際に応答します。
実環境では、DMZによく配置されます。
DNSキャッシュサーバー別名:フルサービスリゾルバ(フルリゾルバ)
リクエストがあった際に、自身が管理しているDNS情報に該当しているものがあればそれで応答します。
なかった場合、他のDNSサーバーに問い合わせて名前解決します。
この問い合わせ結果をDNSキャッシュと呼び一定期間保持されます。
DNSキャッシュの有効期間は、名前解決のたびに毎度問い合わせるのではなく、キャッシュ情報から名前解決を行います。
スタブリゾル別名:クライアントリゾルバやDNSクライアント
そもそもリゾルバとは、DMSクライアントの名称です。
DNSキャッシュサーバーにリクエストを送信します
スタブリゾルバとDNSキャッシュサーバ間の問い合わせ・応答を再帰問い合わせと呼び、 DNSキャッシュサーバーとDNSコンテンツサーバー間の問い合わせ・応答を非再帰問い合わせ、または反復問い合わせと呼ばれています。

f:id:toto-blend:20200821163002p:plain よく使われるADのDNSOSSのbindは、DNSコンテンツサーバーとDNSキャッシュサーバーを兼用している場合があります。

DNSゾーン・レコード
DNSゾーンDNSコンテンツサーバーが管理する範囲をゾーンと呼びます。
ゾーンで扱う情報をゾーンファイルと言う設定ファイルに記載していきます。
このゾーンの情報を別のDNSサーバーに、転送・同期する手法をゾーン転送と呼びます。
ゾーン転送は、DNSサーバーの冗長化でよく利用されます。
DNSレコードゾーンファイルに記載された情報の単位をレコードと呼びます。
レコードは、数種類存在します。
Aレコード:ホスト名にIPアドレスを紐づけた情報(正引き)
PTRレコード:IPアドレスにホスト名を紐づけた情報(逆引き)
NSレコード:ゾーン情報を管理しているDNSサーバーのFQDN
MXレコード:ドメイン宛のメール配送先のメールサーバのFQDN
CNAMEレコード:ドメイン名の別名
SOAレコード:ゾーンに関する以下の情報を記載します
DNSサーバー名&管理者のメールアドレス
シリアル番号(serial):ゾーン情報が更新されたかどうかの判断情報として利用され、数値が大きければ更新されたと判断します
ゾーンファイルを更新したタイミングの年月日+連番の10桁がシリアル番号によく用いられます。
ゾーン転送間隔(refresh)&転送失敗時の再試行(retry)
レコード有効期間(expire):何かしらの理由でゾーン情報が、最新に更新できなくなった場合のレコード有効期間
DNSキャッシュ保持期間(TTL)
優先DNS・代替DNS/プライマリDNSセカンダリDNS

ごくまれに優先DNS・代替DNSとプライマリ・セカンダリDNSが、同じものだと思っている方がいますが、全くの別物です。

優先DNS・代替DNS

優先DNS最初に問い合わせるDNSサーバー
通信ができない場合は、代替DNSサーバーに問い合わせるが、レコードが存在しない場合は、代替DNSサーバーには問い合わせず、そのまま終了します。
代替DNS優先DNSサーバーと通信できなかった場合に問い合わせするサーバー

プライマリDNSセカンダリDNS

プライマリDNSメインで動いているDNSコンテンツサーバー
セカンダリDNSサブで動いているDNSコンテンツサーバー
プライマリDNSのゾーン情報をゾーン転送で冗長化したDNSサーバー

ちなみに、WindowsLinuxの問い合わせDNSの設定項目は、下記のようになっています。
Windowsイーサネットのプロパティより優先DNS・代替DNS
Linux(CentOS):nmtuiよりプライマリDNSセカンダリDNS

DNSフォワーダー

別名:DNSプロキシやDNSリレー

DNSサーバーの機能の一つで、自身で名前解決は行わず、別のDNSキャッシュサーバーに問い合わせを転送します。
スタブリゾルバとDNSキャッシュサーバーの間に中継役として配置されます。

ちなみにフォワーディングとは、別の機器から受信したデータを何も手を加えずに指定された宛先に転送することを指しています。

このDNSフォワーダーの機能は、家庭用ルーターブロードバンドルーター)によく利用されています。
DNSフォワーダー機能が設定されたルーターIPアドレスをクライアントPCなどのDNSの設定項目に入力することで、ユーザーはDNSIPアドレス意識せずに名前解決を行うことができます。

DNSサフィックス

名前解決の際に、ホスト名だけで通信が行えるようにドメイン名を自動的に、補完してくれる機能のことです。
DNSサフィックスの設定項目に補完するドメイン名を設定しておきます。