特集 インターネット「常時」接続計画第6回 DNSサーバの設定と確認3.正引きDNSゾーンの定義(2)デジタルアドバンテージ |
||
正引きドメインのSOAレコードの編集
以上でネーム・サーバに対するAレコードが定義できたので、次はこれをSOAレコードにネーム・サーバとして登録する。SOAレコードを編集するには、ドメイン名を右クリックして、[プロパティ]を選択する。
SOAレコードの編集 | ||||||||||||
SOAレコードにはドメインに関する重要な情報が登録されている。これを編集して、ネーム・サーバ情報などを更新する。 | ||||||||||||
|
ドメインの[プロパティ]を選択すると、次のようなSOAレコードの編集ダイアログが表示される。インターネット向けのDNSサーバにするためには、いくらか設定を変更する必要がある。
動的更新の禁止
Windows 2000 ServerのDNSサーバは、Active Directory環境などで利用するために動的更新が可能になっている。つまり、クライアント・マシンが自分自身のホスト名やそのIPアドレス(IPアドレスはDHCP環境だと起動するたびに変わる可能性がある)をDNSサーバに登録するという機能である。だがインターネット向けのDNSサーバではこのような機能は不要だし、勝手に登録されたクライアントのホスト名が外部へ漏洩してしまう危険性もあるので、動的更新は無効にしておくべきである。
DNSサーバの動作モードの設定 | ||||||||||||||||||
SOAレコードの[全般]タブでは、DNSサーバの動作モードなどの設定を行うことができる。動的更新は不要なので無効にしておく。 | ||||||||||||||||||
|
ゾーン情報の定義
SOAレコードには、ゾーンに関する重要な情報が数多く定義されている。DNSサーバを運営する場合にはこれらの設定が非常に重要なので、よく理解しておいていただきたい。特に「シリアル番号」と「更新間隔/再試行間隔/期限」は、その設定を間違うと、外部から正しくDNSレコードを引くことができなくなったりするので注意しよう。
■シリアル番号
ゾーン情報には「シリアル番号」という識別用の(32bitの)整数値が付けられている。Windows 2000 ServerのDNSサーバでは、デフォルトでは1という数値が割り当てられていて、何らかのレコードを追加/削除したり、変更したりすると数値が増加するようになっている。UNIXなどのDNSサーバの場合には、一般的には200202271などというふうに、「西暦4桁+月2桁+日2桁+数値1桁」という数値を(ユーザーが手動で)付けることが多い。そしてゾーン内のデータを更新すると同時に、その更新年月日を元にしたシリアル番号を付ける。1日のうちに何度も更新する場合は、最後の桁を1ずつ増加させる。
シリアル番号はゾーン・データが改訂されているかどうかを表すために使われる。セカンダリDNSサーバがゾーン情報をプライマリDNSサーバから取得する場合、このシリアル番号もキャッシュしている。取得したレコードの有効期限が切れて再度プライマリDNSサーバに問い合わせる場合には、まずSOAレコードだけを取得してそのシリアル番号を調べ、番号が増加していなければ(同じか、小さければ)ゾーン内のデータは変更されていないものとみなす。これにより無用なDNSレコードの取得を防いで、ネットワーク・トラフィックを抑えたり、応答速度を向上させたりすることができる。もしシリアル番号が増加していれば、ローカルにキャッシュされたレコードを破棄して、プライマリDNSサーバから新しいレコードを取得する。
このような仕組みのため、ゾーン・データを更新した場合は(例:あるホストに割り当てられているIPアドレスを変更した場合など)、必ずこのシリアル番号も増加させなければならない。さもないとセカンダリDNSサーバでは、データが変更されていないとみなして、キャッシュされている古いままのIPアドレスを参照することになる。ただし以下で述べる「更新間隔」が過ぎてデータの有効期限が切れると、再度データを取得し直すことになる。だからシリアル番号を増加させなくても時間がたてば正しいデータが参照されるようになるが、それまで時間がかかるので、(直したはずなのに、データを正しく取得できないなどという)無用なトラブルを引き起こす可能性がある。
■更新間隔/再試行間隔/期限
これはゾーン・データ(SOAレコードに記録されたデータ)がいつまで有効かを表す値である。セカンダリDNSサーバが取得したSOAレコードは、この期限が来るまでは変更がないものとみなされる。例えば「期限」が1日になっていると、このプライマリDNSサーバからSOAレコードを取得したセカンダリDNSサーバは、そのデータが1日間はずっと有効であるとみなす。たとえプライマリDNSサーバ側でSOAレコードの内容を更新しても(シリアル番号を更新しても)、1日たたないとデータを再取得しない。
実際には、プライマリDNSサーバのデータは(ほかのDNSサーバなどで)さらに何段もキャッシュされていることがあるので、世界中のDNSサーバへSOAレコードの変更情報が伝わるには有効期限の何倍もの時間がかかることになる。よって頻繁にデータを書き換える必要がある場合は(例えば今回のような、DNSサーバの立ち上げ初期などは)、この更新時間を短くしておかないと、ローカルでは正しくDNSサーバが動作していても、インターネット側からは(新しいデータがまだ届いていないので)見ることができない、という状態になる。具体的には、インターネット側からメールを出したり、Webサーバを閲覧したりできないという症状が起こる。最初のうちは期限を数分から数10分にしておき、安定的に運用できるようになれば期限を1日とか1週間などに延ばせばよいだろう(あまり短いとネットワークのトラフィックやDNSサーバの負荷が増える)。そして、ホストのIPアドレスを変更したり、ネットワークの構成を変えたりする予定がある場合は、1週間くらい前から期限を短くして準備しておく。
SOAレコードにセットする3つの時間情報はそれぞれ次のとおりである。「更新間隔」は、セカンダリDNSサーバがプライマリDNSサーバに問い合わせを行う時間間隔である。セカンダリDNSサーバは、ゾーンのSOAレコード情報が変更されていないかどうかをこの時間間隔ごとに調べる。そしてシリアル番号が増加していればゾーン情報が更新されているとみなし、DNSのレコードをゾーン転送(一括転送)して、自身の情報を更新する。デフォルトでは15分であるが、安定的に運用が始まればもっと長くするべきであろう。
「再試行間隔」は、プライマリDNSサーバに接続できないときに、セカンダリDNSサーバがリトライする時間間隔である。プライマリDNSサーバへのネットワーク経路がダウンしていたり、プライマリDNSサーバ自身がダウンしていたりする場合に、この時間間隔でリトライを行う。デフォルトでは10分となっている。
「期限」は、取得したSOAレコードの情報が有効である最大時間を表す。この時間が過ぎるとSOAレコードの内容は無効となり、再度取得が試みられることになる。この値は「更新間隔」よりも長くするのが普通である。デフォルトでは1日になっているが、安定的に運用している場合には3日とか、1週間程度に延ばしておいてもよい。
ゾーンのSOAレコードの属性 | |||||||||||||||||||||||||||||||||
SOAレコードには、ゾーン(ドメイン)定義のベースとなる重要な情報が格納されている。ウィザードで作成したデフォルトのままではネーム・サーバ情報などが異なるのでここで修正しておく。 | |||||||||||||||||||||||||||||||||
|
INDEX | ||
[特集]インターネット「常時」接続計画 | ||
第6回 DNSサーバの設定と確認 | ||
1.DNSサーバの管理 | ||
2.正引きDNSゾーンの定義(1) | ||
3.正引きDNSゾーンの定義(2) | ||
4.正引きDNSゾーンの定義(3) | ||
5.逆引きDNSゾーンの定義(1) | ||
6.逆引きDNSゾーンの定義(2) | ||
7.DNSサーバの動作確認 | ||
インターネット「常時」接続計画 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|