LAN内専用のネームサーバー構築

 LAN内に複数の端末機がネットワーク上でつながっている場合は単純にLAN内専用のネームサーバーを作ってやると非常に便利です。LAN内のホストが全部ドメインで引けるのでアクセスしやすくなります。またWeb開発などで外からWebサーバーにアクセスしたい場合など開発環境としてもよいです。

予備知識

 LAN内でドメインを引けるようにするには、LAN内のIPアドレスがどんな風になっているのか確認する必要があります。私の環境ではBuffaloの標準的なルーターを使用していますのでネットワークアドレスはクラスCの192.168.11.0/24となっています。クラスAやクラスBであることは稀なのでここではクラスCであることを前提に話を進めます。
 LAN内のPCは固定IPアドレスである必要があります。DHCPサーバーなどの設定をしている場合はその設定を切って、それぞれのPCに固有のスタティックなIPアドレスを割り振る必要があります。(勿論、一部をDHCPサーバーで制御し、その他の一部を固定IPアドレスにするなどのネットワーク設計は可能ですが、ここではわかりやすくLAN内は固定IPアドレスであることを前提に話をします。)
 ネームサーバーとなるマシンには、この段階でlocalhost=127.0.0.1、myserver=192.168.11.8などいうような二つのIPアドレスを持つことになります。これは、そのマシン自身を指すIPアドレス127.0.0.1とLAN内でのIPアドレスを指す192.168.11.8というアドレスを持つことになるわけです。ここでは便宜的にそれぞれlocalhostとmyserverという名前で設定することにします。
 ここで設定する作業はいくつかの段階に分かれます。
  1. 正引き、逆引きのゾーンファイルの設定
  2. LAN内からアクセスがあった場合にのみ作動するようにするviewステートメントの設定

ゾーンファイルの設定

 最低限必要なゾーンというのはどういうものかというと、いろいろあるのですが、bind9をインストールした時点でそれらの「最低限必要なゾーン」はすでに揃っています。
zone "." {
    type hint;
    file "/etc/bind/zoon/db.root";
};
zone "localhost" {
    type master;
    file "/etc/bind/zoon/db.local";
};
zone "127.in-addr.arpa" {
    type master;
    file "/etc/bind/zoon/db.127";
};
zone "0.in-addr.arpa" {
    type master;
    file "/etc/bind/zoon/db.0";
};
zone "255.in-addr.arpa" {
    type master;
    file "/etc/bind/zoon/db.255";
};
1. "."(ドット)ゾーン これはDNSのRootサーバーのゾーンです。ドメイン空間すべてを表しています。
2. "localhost"ゾーン これはそのbind9が設定されているマシンそれ自体のゾーンです。
3. "127.in-addr.arpa" これは先のlocalhostの逆引きのゾーンです。127.0.0.1をさします。
4. "0.in-addr.arpa" これはブロードキャストという特殊なゾーンです。LAN内のIPアドレス全体を表しています。
5. "255.in-addr.arpa" これもブロードキャストという特殊なゾーンです。LAN内のIPアドレス全体を表しています。

 これらのゾーンはあらかじめ設定されているので特に設定は必要ありません。

LAN内のゾーンを設定する

 今bind9を運用しようとしているマシンのアドレスというものは実はいくつかダブっています。というのもDNSサーバーはドメイン空間とIPアドレスを変換するデータベース情報を提供するシステムなので、理屈からいっても端末のみのマシンであることはありえないということが前提になります。つまり他のネットワークにつながっているのが前提となるわけです。
 しかしネットワークにつながるにもサーバー自身を示す情報も必要です。そんなわけで、ループバックというマシンそれ自体を示す情報があります。
localhost <=> 127.0.0.1
それがそうです。
 そして前述したようにネットワークにつながっていることが前提となるわけですが、そのマシンに最も近いネットワークがLANになります。LANは端末マシンをいくつかつなげた小規模なネットワークです。ここで例にしているLANネットワークはCクラスになりますので、
example.com <=> 192.168.11.xxx (任意のIPアドレス)
というような情報が必要なのです。またこの先の設定になりますが、このサーバーマシンにはグローバルIPアドレス(固定IPアドレス)を割り振ることになります。また、このIPアドレスは固定IPアドレスである必要があります。というのもIPアドレスとドメインの変換を担うこのシステムは最も最初にアドレスの問い合わせをするサーバーになるのでIPアドレスは変化してはいけないのです。
example.com <=> 123.456.789.xxx (任意のグローバル固定IPアドレス)
となります。つまるところ、bind9を設定したマシンには少なくとも3種類のIPアドレスと正引き、逆引きを合わせると合計で6つのゾーンファイルが必要であることがわかります。






プロフィール



  • Name :: 山上オサム ♂(37)
  • Hobby :: 武術
  • Work :: Web Designer