もともと、IPアドレスというのはすべて「正式に登録した」ものを用いるのが大前提でした。しかし現在は、登録されていないIPアドレスを積極的に利用した運用が広く行われています。この、登録されていないIPアドレスは、プライベートIPアドレスと呼ばれています。
プライベートアドレスには、いくつかの利用目的があります。筆者の自宅のLANはプライベートアドレスを採用していますが、このような、小規模で、外部との通信が限定されているネットワークでの利用は、代表的な用途の一つです。
ドメイン名も、本来は「正式に登録した」ものを用いるのが前提です。しかし、技術的には、適切に制御された環境であれば、プライベートIPアドレスと同様に、登録されていないドメイン名を用いてネットワークを構築し、インターネットとの相互運用を行うことも可能です。
ここでは、正式に登録されていないドメイン名を用いたネットワークの構築を、非公式ドメインと呼びます。(この手法は、現時点では一般的ではありません。)
筆者の自宅の LAN では、IP アドレスとしてプライベートアドレスを採用しています。通常、私のような小規模なネットワークをプライベートアドレスで運用する場合は、ドメイン名を持たないホストとして運用することが一般的です。しかし、私の場合は、正式に登録されていない「非公式ドメイン」によって運用しています。
非公式ドメインを使っているのは、大きく分けて2つの理由によります。
LAN 上のホストにホストドメイン名を割り当てている理由は次の通りです。
/etc/hosts
やLMHOSTS
による) の管理は、パソコンの台数が増えると現実的でない。また、少々性格が異なる理由として逆引き問題があります。
いくつかのアプリケーションは、IP アドレスを逆引きします。放っておくと、LAN 内のプライベート IP アドレスの逆引きは、168.192.in-addr.arpa. というドメインのネームサーバまで問い合わせが行きます (192.168 を利用した場合)。逆引きをするアプリケーションでは、返事を受け取るまで、動作がとまることになります。(もしも常時接続でなければ、その度に接続することになり、接続費用がかさむことにもなります。)
放っておかず、逆引きをローカルな DNS サーバで止めればいいわけですが、そのためには、DNS サーバにドメイン名を割り当てる必要があります。(NS レコードはドメイン名 (IP アドレスではなく) を要求するため。) つまり、少なくとも DNS サーバ自身には、ドメイン名が必要です。
一方、正式なドメイン名を取得しない理由は次の通りです。
また、正式なドメイン名が不要な理由は以下です。
もちろん、非公式ドメイン名を使用することによるデメリットもあります。主な物は次の通りです。
筆者は、具体的には、次のような設定で非公式ドメイン名を運用しています。
ドメイン名としては、home.example.com
を採用しました。
example.com
というのは、本来「マニュアル等で設定例として使うため」に予約されていて、割り当てが行われることがないドメインです。(RFC 2606 による。) そこで、このドメイン名を使っていれば、実在するドメイン名とぶつかってしまうことはありません。また、万一 (設定の間違いなどで) このドメイン名が外部に漏れても、他サイトの管理者に迷惑をかける危険は少ないと考えられます。
example.com
の直下に直接ホストを割り当てず、さらにサブドメイン (home
) を設置しているのは、NS レコードの衝突を恐れたためです。example.com
は、前述の通りの予約ドメインですが、本物の NS レコードが出ています。実際にネームサーバも存在します。(NS レコードと、常に必要な SOA レコード以外のレコードは出ていないようです。) LAN では、使用する非公式ドメインに対するネームサーバを、オーソリタティブなサーバとして動かすわけですが、そのために NS レコードが必要になります。直接 example.com
を使ってしまうと、ローカルに動かしている DNS サーバが、万一、何らかの理由で「本物の」example.com
に対する NS レコードを受け取った場合、サーバが混乱する可能性があります。home.example.com
というドメインに対する NS レコードは、ローカルな DNS サーバ上にしか存在しませんから、衝突する心配はありません。
非公式ドメインを使用する場合には、自身で DNS サーバを運用することが必要です。設定方法などは、おおよそ、正式に取得したドメインを運用する場合と同じですが、若干異なる注意が必要です。注意が必要なのは、以下の点です。
実際の設定ファイルの内容については、以下を参照して下さい。