3 Minutes NetWorking
No.69

3Minutes NetWorking

第69回DNS(8) 逆引きとDNS Update

■ サブドメインと権限委譲

インター博士

大体前回まででDNSの基本的なポイントは終わったわけだ。

ネット助手

ドメイン名前空間、ゾーン、リソースレコード、反復と再帰、ゾーン転送、ですね。

インター博士

うむうむ。そこらへんだな。
なので、今回はそれ以外のところをまとめて話す。

ネット助手

はい。

インター博士

まず、前も話して、その時は特に説明しなかったが、このようなドメインがあるとする。

ドメイン

[Figure64-03:ドメイン]

ネット助手

え〜っと、第64回でNSレコードの説明のときに使った図ですよね。

インター博士

うむ。さて、これは3min.co.jpのドメインなわけだが。
3min.co.jpというドメイン名は、ICANN、というかJPRSにもらったドメイン名なわけだ。

ネット助手

です。

インター博士

まぁ、インターネットに接続しない内部ネットワークでもいいんだが、どちらにしろその組織の名前があるわけだな。
で、この下にさらにexというドメインを作成した。

ネット助手

FQDNですと、ex.3min.co.jpですね。

インター博士

そうだ。このex.3min.co.jpを3min.co.jpのサブドメインという。

ネット助手

さぶどめいん…。
なんか、サブネットワークみたいな感じですね。

インター博士

うむ、その理解は間違っていない。ネットワークをさらに細分化してサブネットワークを作るように、ドメインをさらに細分化してサブドメインを作ることが可能だ。

ネット助手

ふむふむ。

インター博士

ICANNからもらったIPアドレスのホスト部をそのネットワークの管理者が自由にサブネット化していくように、サブドメインも自由に作成できる。

ネット助手

ん〜っと。さっきの図だと1つだけですけど、いくつも作成できるんですね?

インター博士

そうだ。例えば、3min.co.jpの下に3つのサブドメインを作ってみよう。

サブドメイン

[Figure69-01:サブドメイン]

インター博士

3分間ネットワーキングの各講座名にあわせて、ex、sup、comと名づけてみた。
それぞれがwebサーバとメールサーバを持っている。

ネット助手

親元の3min.co.jpにもwebサーバがあるんですね。

インター博士

うむ。あっても問題ない。FQDNにすれば違う名前になるからな。
そして、サブドメインを管理するネームサーバがそれぞれ必要になる。

権限委譲

[Figure69-02:権限委譲]

インター博士

各ネームサーバは自分の下のホスト達を管理する。つまり、3min.co.jpのネームサーバからその一部の管理を任されたわけだ。これを権限委譲という。

ネット助手

ん〜っと。本来ならば3min.co.jpのネームサーバが3min.co.jpドメイン内の全ホストを管理する?

インター博士

そうだ。

ネット助手

それをサブドメイン化して、それぞれのサブドメインのネームサーバがそこを管理する?

インター博士

そういうことだ。管理の権限を委譲したわけだな。管理の権限を委譲したので、サブドメイン内のホストについては親ドメインのネームサーバは一切関わらない

ネット助手

ははぁ。…それってどっかで聞き覚えがあるんですけど?

インター博士

いいぞ、ネット君。親ドメインは子ドメインのことは知らない。自分のすぐ下しか管理しない。第63回のゾーンで説明したな。

ネット助手

でも、それってドメイン名前空間全体の話じゃないんですか?

インター博士

うむ、つまり、例えば3min.co.jpというのは、co.jpドメインのサブドメイン、co.jpドメインはjpドメインのサブドメインなのだよ。

ネット助手

そうなんですか?

インター博士

そうなのだ。つまりDNSというシステムは権限を委譲することによってデータを分散して保有しているのだよ。

ネット助手

それぞれが自分の下のドメインに管理権限を委譲して、分散型データベースを作り上げる。なるほど。

■ 逆引き

インター博士

さて、次の話をしよう。
ネット君、ドメイン名からIPアドレスを調べるのが通常のDNSだったな。ではIPアドレスからドメイン名を調べるのは?

ネット助手

逆引きでしたよね。
なんかPTRレコードってのを使うとか。

インター博士

うむ。まず覚えておいて欲しいのは、正引きと逆引きではドメイン名前空間の使うところが違うということだ。

ネット助手

違う? じゃあ、別のドメイン名前空間が存在するってことですか?

インター博士

同じドメイン名前空間だが、特殊なドメイン名が使われている。
図でしめそう。

逆引き用名前空間

[Figure69-03:逆引き用名前空間]

ネット助手

arpa? in-addr?

インター博士

TLDがarpa、SLDがin-addrのドメインが逆引き用ドメインになる。

ネット助手

つまり、「なんとか.in-addr.arpa」ってのは逆引き用のドメイン名ってことですか?

インター博士

そういうことだな。そしてそのドメイン名はIPアドレスを逆に書いたものになる。例えばこの「Roads to Node」がある「www5e.biglobe.ne.jp」のIPアドレスは「61.193.0.66」だが、逆引き用のドメイン名はこうなる。

  • 66.0.193.61.in-addr.arpa
インター博士

さて、これを普通のドメイン名だと考えた場合、どういう意味だね、ネット君?

ネット助手

ふつーのどめいんめい?
普通じゃないですよ、これ。

インター博士

そんな事は言われんでもわかっとる
例えば、「www5e.biglobe.ne.jp」はどういう意味だった?

ネット助手

jpドメイン内、neドメイン内、biglobeドメイン内のwww5eホスト、です。

インター博士

それと同様に、66.0.193.61.in-addr.arpaを考えると?

ネット助手

arpaドメイン内、in-addrドメイン内、61ドメイン内、193ドメイン内、0ドメイン内の66ホスト?

インター博士

そうだ。これは何を意味する?
ネームサーバとドメインの関係から考えると?

ネット助手

ネームサーバとドメインの関係? ドメインにはネームサーバがあります。
…arpaドメインとか、in-addrドメインとか、61ドメインにもネームサーバがある?

インター博士

そういうことだ。つまり正引きとは違うネームサーバが存在するということだな。

ネット助手

ははぁ。ネームサーバが一杯必要なんですねぇ。

インター博士

まぁ、多くの場合は通常のネームサーバが兼務しているがな。
つまり、2つのゾーンを兼務しているネームサーバってことだな。

兼務するネームサーバ

[Figure69-04:兼務するネームサーバ]

インター博士

正引きを管理するため、Aレコードをリソースレコードとして保有していたように、逆引きを管理するネームサーバはPTRレコードを保有する。上の図の例の場合、まず正引き用のAレコードがこう。

名前タイプクラスRDATA
wwwAIN192.168.1.10
ftpAIN192.168.1.11
mailAIN192.168.1.12

[Table69-01:正引き用ゾーン]

インター博士

一方、逆引き用がこうなる。

名前タイプクラスRDATA
10PTRINwww.3min.co.jp
11PTRINftp.3min.co.jp
12PTRINmail.3min.co.jp

[Table69-02:逆引き用ゾーン]

ネット助手

名前は「10」とか「11」とかなんですね。

インター博士

これでもわかるからな。1.168.192.in-addr.arpaドメイン内の10というホストのFQDNは「10.1.168.192.in-addr.arpa」になるからな。
別に「10.1.168.192.in-addr.arpa PTR IN www.3min.co.jp」と書いてもいい。

ネット助手

ははぁ。

インター博士

もちろん、まったく違うゾーンを持つのだからSOAレコードやNSレコードも別に持つ必要があることを忘れないように。
さて、この逆引き問い合わせだが、基本的には正引きと一緒の動きをする。

ネット助手

正引きと同じということは、反復問い合わせとか、再帰問い合わせとか?

インター博士

そういうことだ。違いがあるとすれば、問い合わせるリソースレコードがPTRレコードというところだな。

[Figure69-05:逆引きの動作]

ネット助手

ほんとだ、あまり変わらない。

インター博士

うむ、IPアドレスというドメイン名とは違うものも、in-addr.arpaというドメイン名に変換して、通常のDNS問い合わせで可能にしているということだな。

ネット助手

ははぁ。無理矢理、通常のDNSで可能にしちゃってるというわけですか。

インター博士

無理矢理ってわけではないが。
ポイントは逆引き用に別のゾーンを用意しているということだ。

ネット助手

わざわざ逆引き用に用意するわけですね。

インター博士

うむ。ただし、必ず用意しなければならないというわけではない、ということを忘れないように。
正引きは必須だが、逆引きは任意だからな。

■ DNS Update

インター博士

さてさて、最後の話だ。DNSの応用の話をしよう。
ネットワークのインフラ、なくてはならないこのDNSというシステムだが、欠点が存在する。

ネット助手

なんか、博士の話って「欠点がある」ので「こうなった」っていうのが多いですね。

インター博士

「欠点がある」のだが「どうにもならない」という話の方がいいかね?
ネット君、それはあまりにも身近な話になるぞ。

ネット助手

あまりにも身近?
僕の周りの話ですか?

インター博士

もうちょっと身近だ

ネット助手

もうちょっと身近? じゃ何処だろう?

インター博士

まぁ、気づかないのならばいい。
ともかくだ、DNSの欠点、わかるかね?

ネット助手

欠点、欠点、……なんだろう?

インター博士

それは、ゾーン情報の更新が手動で行われるという点だ。ゾーン内に新しいホストや変更があった場合、管理者が手動でゾーン情報を変更しなければならない。

ネット助手

それって欠点なんですか?

インター博士

まぁ、欠点というほど欠点ではないかもしれん。だが、この点のおかげでできないこともある。
例えばこうだ。

DHCPによりIPアドレスが配布されるLAN

[Figure69-06:DHCPによりIPアドレスが配布されるLAN]

インター博士

DHCPによりIPアドレスが配布されている。LAN内のAやBのホストから「file.3min.co.jp」にドメイン名でアクセスしたい。どうする?

ネット助手

DNSサーバに「file.3min.co.jp」のIPアドレスを聞きます。

インター博士

そうなると、file.3min.co.jpはDHCPによりIPアドレスが変化するから、その度に管理者がDNSサーバのゾーン情報を書き換える必要があるわけだ。

ネット助手

そう…なりますね。

インター博士

もう1つ例をだそう。

プロバイダを経由した接続とDNS

[Figure69-07:プロバイダを経由した接続とDNS]

インター博士

ネット君はプロバイダを経由してインターネットに接続されている。通常のサービスを受けているので、接続する度にまたは時間によりプロバイダから受け取るIPアドレスが変化する。私の家からネット君の自宅のパソコンにアクセスするには?

ネット助手

僕の家のパソコンがもらったIPアドレスを使う…。

インター博士

確かにそれが一番確実だ。だが、アクセスする度にネット君に電話してIPアドレスを聞くのかね?
もっと簡単にドメイン名でアクセスする方法はないのかね? その場合、変化するIPアドレスにどう対応する?

ネット助手

登録しているネームサーバのゾーン情報を書き換える…。

インター博士

この2つの例から考えると、管理者が手動でゾーン情報を更新しているのがやはりネックとなる。
さて、解決法はなんだ?

ネット助手

手動でまずいのだから、自動?

インター博士

そう、つまりゾーン情報の変化に動的に対応するシステムがあればいいわけだな。
これをDNS Updateという。 ▼ link

ネット助手

でぃーえぬえすあっぷでーと。

インター博士

一般的にはDynamic DNSの名前で知られている。
動きを簡単に説明しよう。

[Figure69-08:DNS Update]

ネット助手

ははぁ。DNS Updateにサーバもクライアントも対応してないと駄目なんですね。

インター博士

そういうことだ。必ずしもDNS Updateが必要なネームサーバばかりではないからな。

ネット助手

でも、自動更新とかいうわりには、「ユーザが判断して」なんて科白がはいってますけど、この更新ってどういうタイミングで行うものなんですか?

インター博士

うむ。そうだな。それについては実際例で話したほうがいいだろう。
まず、先ほどのLAN内のホストに対しドメイン名でアクセスしたい場合、これはWindows2000ServerのDNSで実現されている。

ネット助手

Windows2000Serverだけなんですか?

インター博士

いや、設定次第ではUNIXでもっとも使われているBINDというDNSサーバアプリケーションでも可能だ。
ともかく、Windows2000Serverだとこうなる。

[Figure69-09:DHCPとDNS Update]

ネット助手

は〜。このDHCPと連動する方式、スマートですよね。

インター博士

そうだな、これにはDHCPサーバがもちろん対応している必要があるが、かなり効率のいい方式だろう。特にネームサーバがDHCPサーバも兼ねていたりすれば、かなり効率的だ。

ネット助手

なるほど〜。確かに。

インター博士

もう1つ、プロバイダからもらえるIPアドレスを使ってドメイン名でアクセスしたい場合の実際例だが。
ダイナミックDNSサービスを使うのが一般的だな。 ▼ link

ネット助手

だいなみっくDNSさーびす? どんなサービスなんですか?

インター博士

サービス事業者はネームサーバを保有しており、そのネームサーバで登録者のドメイン名とIPアドレスを管理してくれるサービスだ。

DynamicDNSサービス

[Figure69-10:DynamicDNSサービス]

ネット助手

ははぁ。つまりネームサーバを貸し出すというか、ダイナミックDNSサービスの事業者のドメインに混ぜてくれるというか、そんな感じなんですね。

インター博士

そういうことだ。このダイナミックDNSサービス事業者が保有するネームサーバはDNS Updateに対応していて、登録者の要求にしたがってレコードの更新をしてくれる。

ネット助手

なるほどなるほど。要求はどうやって出すんです?

インター博士

一般的なものは、ダイナミックDNSサービス事業者のWebサイトで更新処理が行える。

ネット助手

Webサイトで? ということは、Webサイトを見に行って手動で更新するってことですよね。

インター博士

そうだ。だが、自分のIPアドレスをチェックして、自動で登録してあるダイナミックDNSサービス事業者のネームサーバに更新に行くというソフトウェアもあることにはある。

ネット助手

は〜、便利なツールですね。

インター博士

有名なものではDiCEというツールがある。 私もこれを使っているな。▼ link

ネット助手

なるほど。

インター博士

さて、これで一応DNSの話はお終いだ。

ネット助手

長かったですね、DNS。

インター博士

くどいようだが、インターネットのインフラ、現在のインターネットサービスの根幹を成すサービスだからな。DNSの動作を知っているのと知らないのではインターネットに対する理解度が違う。

ネット助手

ドメイン名がないインターネットって、今は考えられないですからね。

インター博士

そうだ。DNSは今後も重要な位置を占めていくだろうと予想される。例えIPのバージョンが変わってもだ。
いいか、DNSがわからないのはインターネットがわからんのと同意義だからな。

ネット助手

了解です。

インター博士

さて、次回からはまた違うプロトコルを説明しよう。

ネット助手

いぇっさ〜。
3分間ネットワーキングでした〜♪

通常のネームサーバが…
例えば、arpaドメインとin-addrドメインは、ルートサーバが兼務しています。
DNS Update
RFC2136により規定。
Windows2000Serverの…
Win2000Serverの場合、ActiveDirectoryで活用されてます(ActiveDirectoryの必須機能)。
ダイナミックDNSサービス
参考サイトにサービスを提供しているサイトの一覧があります。
ページはDiCE(後述)のページ。
DiCE
Windows用 DNS Updateクライアントソフトウェア。対応しているサービス事業者が多くって結構便利。
ネット助手ネット君の今日のポイント
  • ドメインを細分化してサブドメインを作成できる。
    • サブドメインにもネームサーバが必要。
    • 親ドメインのネームサーバがサブドメインのネームサーバに権限委譲を行う。
  • IPアドレスからドメイン名を調べることを逆引きという。
    • in-addr.arpaという逆引き専用ドメインが存在し、それを使う。
    • 逆引き用に別にゾーンが必要。
    • Aレコードの代わりにPTRレコードを使用する。
  • DNS Updateを使うとネームサーバのゾーン情報を動的に更新できる。

3 Minutes NetWorking No.69

管理人:aji-ssz(at)selene.is.dream.jp