オラクる。

oracle専門ブログにしてみようかな~っと

カテゴリ: DNS

DNSクライアントはDNSサーバから返されたレコードを一定期間保管します。
再度、同一レコードの問い合わせを行なった際には、クライアントはそのキャッシュを参照します。

flex_001221

例えばhost01.test.com 192.168.1.5というAレコードがあったとします。
ping host01.test.comを実行した時点で、192.168.1.5のレコードが返され、結果がキャッシュに保管されます。

flex_001222
 
ipconfig /displaydnsでキャッシュを参照することが出来ます。

flex_001223

クライアントにキャッシュが保管されている状態でAレコードを192.168.1.6に変更してみます。

flex_001224
 
キャッシュが優先され、変更前の192.168.1.5が返されます。
Time To Liveの値はキャッシュ登録時からカウントダウンされ、0になるとキャシュが削除されます。

flex_001225
 
ipconfig /flushdnsでキャッシュを削除することが出来ます。

flex_001226
 
再度、host01.test.comにpingを実行してみると、今度はキャッシュが存在しないのでDNSサーバを参照して、変更後の192.168.1.6を返します。

flex_001227
 
また、hostsに記載した値も、クライアントキャッシュに保管されます。

flex_001228
 
正引き、逆引きともに登録されています。

flex_001229
 
DNSサーバ、hostsともに登録されているレコードの場合、キャッシュが優先されるのでDNSサーバの値では無く、hostsの値が返されます。 

DNSを長期間運用していくと不要なレコードが増え、DNSの容量が肥大化してしまいます。
さらに肥大化することによって、ゾーン転送の量が増え、ネットワークに負荷をかけてしまう可能性もあります。
そのために、DNSから不要なレコードを削除するプロセスが重要になってきます。
「エージング」と「清掃」という機能を設定する必要があります。

エージングとはDNSレコードを削除するかを判別するプロセスで、非更新間隔と更新間隔に分かれます。
非更新間隔の期間中はレコードのタイムスタンプのみの更新を受け付けません。
内容の変更を伴なう更新のみを受け付けます。
一方、更新間隔の期間中はレコードのタイムスタンプのみの更新を受け付けます。
これら2つの期間を経て、更新されないレコードが清掃期間で削除されます。

では、実際の設定方法です。
DNSサーバ全体と、ゾーン個別で設定をする必要があります。

flex_001211
 
DNSサーバ名を右クリックして、「全てのゾーンに対してエージング/清掃を設定する」をクリックします。

flex_001212

「古いリソースレコードの清掃を行なう」にチェックを入れ、非更新間隔と更新間隔の設定を行ないます。
ここで設定された期間がゾーン全体に反映されます。

flex_001213

AD統合ゾーンが含まれている場合、上記のようなメッセージが出力されます。
AD統合ゾーンにも設定を反映させる場合、チェックを入れてOKボタンをクリックします。

flex_001214

さらにDNSのプロパティを開きます。

flex_001216

詳細設定タブを開き、「古いレコードの自動設定を有効にする」にチェックを入れます。
これで全体の設定は完了です。
続いてゾーン個別の設定です。

flex_001217

清掃を行ないたいレコードを右クリックして、「プロパティ」を選択します。

flex_001218
 
全般タブから「エージング」ボタンをクリックします。

flex_001219
 
「古いリソースレコードの清掃を行なう」にチェックを入れます。
「次の時刻以降にゾーン清掃を有効にする」で設定された日時からエージング、清掃のプロセスが開始されます。 

CNAMEレコードを作成することによって、Aレコードの別名(エイリアス)を作成することが出来ます。
例えば、WEBサーバであるhost01というホスト名にwwwというわかりやすい別名を付けることが出来ます。

flex_001207
 
ゾーンで右クリックして、「新しいエイリアス(CNAME)」をクリックします。

flex_001208
 
エイリアス名、それに紐付けるホスト名をFQDNで記載します。

flex_001209
 
CNAMEレコードが登録されました。
host01の別名がwwwです。

flex_001210
 
nslookupで確認しました。
wwwでhost01のAレコードが参照できています。 

今日はスタブゾーンを利用した子ドメインの管理方法について確認します。
スタブゾーンを利用すると、子ドメインのIPやホスト名などの情報が自動的に親ドメインに転送されるので、「子ドメインの管理者から親ドメインの管理者への電話連絡」というのが無くなります。

flex_001198

前方参照ゾーンで右クリックして、「新しいゾーン」を選択します。

flex_001199

新しいゾーンのウィザードが起動します。

flex_001200

 ゾーンの種類ではスタブゾーンを選択します。

flex_001201
 
ゾーン名には子ドメインの名前を指定します。

flex_001202
 
ゾーンファイルの保管先を指定します。

flex_001203
 
マスターDNSサーバの指定では、子ドメインのIPアドレス、FQDNを指定します。

flex_001204
 
OKマークが表示されることを確認します。
なお、子ドメインのDNSサーバのFQDNを親ドメインのレコードとして登録する必要があるようです。

flex_001205
 
作成が完了しました。

flex_001206

SOAレコード、NSレコードに子ドメインのDNSサーバが登録されています。 

今日は子ドメインの追加方法を検証してみます。
例えば、test2.comというドメインを持つDNSサーバとは別にsouth.test2.comという名前のというドメインを持つDNSサーバを作成したとします。
次にtest2.comとsouth.test2.comに親子の関係を作成する必要があります。
親子の関係を作成することによって、test2.comに対してsouth2.test2.comのレコードを問い合わせることが出来ます。

親子関係を作成する方法には2通りあります。
子ドメインのゾーンは既に作成済みであるとします。

flex_001191

test2.comという親ドメインのゾーン上で右クリックして、「新しい委任」をクリックします。

flex_001192
 
委任を行なうドメイン名、ここでは子ドメイン名southを入力します。

flex_001193
 
south.test2.comというドメインを委任するDNSサーバを指定します。
追加ボタンをクリックします。

flex_001194
 
IPもしくはFQDNを入力し、OKボタンをクリックします。

flex_001195
 
子ドメインのDNSサーバが追加されました。
次へをクリックします。

flex_001196

委任が作成されました。

flex_001197

上記のように子ドメインが作成されています。
しかし、このような手順の場合、子ドメインのDNSサーバのIPが変更になった場合、その都度親ドメインのDNSサーバで修正を行なう必要があります。
しかも、修正が完了するまでは子ドメインの問い合わせが出来なくなってしまいます。
このようなデメリットを解消するのがWindows Server 2003から設けられたスタブゾーン機能です。 

このページのトップヘ