タイトル大津真=XはUNIXでサーバで》LAN内でDNSサーバを立ち上げる(2)カテゴリーネットワーク管理, ネットワーク, 大津真=XはUNIXでサーバで
作成日2001/11/27 10:56:47作成者新居雅行
【MDOnline読者様限定コンテンツ】
――――BINDの設定
次に、設定に移ります。ここではドメイン名が「xx.dyndns.org」、IPアドレスとしてプライベートアドレス「192.168.1.0/24」のドメインを想定しています。余談ですが、ドメイン名に「xx.dyndns.org」を使用しているのは、筆者はwww.dyndns.orgが提供するDynamic DNSサービスを利用しているからです。Dynamic DNSは、ダイアルアップサービスなどIPアドレスがころころ代わってしまうような場合でも、あらかじめ登録したドメイン名でのアクセスが可能になるため、インターネットからアクセス可能なサーバを自宅に立てることができるとても便利な仕組みです。Dynamic DNSの利用法については機会をあらためて説明しましょう。

〈BINDの設定ファイル〉
BINDが最初に読み込む設定ファイルは/etc/named.confです。次にリストを示しますので、「xx.dyndns.org」と「1.168.192」の部分を適当に書き換えて使用してください。(「リスト:」の後がファイルのパスで、その後にラインで区切って、ファイルの中身を記載します。)

リスト:/etc/named.conf
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―
options {
directory "/var/named";
};

zone "." {
type hint;
file "named.root";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

zone "xx.dyndns.org" {
type master;
file "db.xx.dyndns.org.zone";
};

zone "1.168.192.in-addr.arpa" {
type master;
file "db.xx.dyndns.org.rev";
};
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―

次に、/var/namedディレクトリをsudoコマンド経由で作成し、その下にゾーン(DNSサーバが管理する情報)を定義するデータベースファイルを保存します。各ファイルの名前は/etc/named.confの「file」で設定したものを使用してください。

〈ルートサーバのキャッシュファイル「named.root」〉
DNSは、インターネット上の複数のサーバから階層的に構成される分散システムです。そのトップには複数のルートサーバーが配置されています。named.rootはルートサーバのアドレスを記述したファイルです。ルートサーバは変更される可能性があるので、ftp://rs.internic.net/domain/named.rootから最新のものをダウンロードしてnamed.rootという名前で保存してください。

〈ローカルループバック用逆引きファイル「named.local」〉
主にテスト用に使用されるループバックアドレス(127.0.0.1)用の逆引きファイルです。このまま使用してください。

リスト:named.local
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―
@TTL 86400
@ IN SOA localhost. root.localhost. (
2001111801 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
;
1 IN PTR localhost.
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―

〈正引きファイル 「db.xx.dyndns.org.zone」〉
ホスト名からIPアドレスを求めるためのファイルです。ここではg3macというホスト上でBINDが動作していることを想定しています。

リスト:db.xx.dyndns.org.zone
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―
$TTL 86400
@ IN SOA g3mac.xx.dyndns.org. root.v1.xx.dyndns.org. (←[1]
2001111801; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS g3mac.xx.dyndns.org.
localhost IN A 127.0.0.1

v1 IN A 192.168.1.25 ←[2]
taitan IN A 192.168.1.22
g3mac IN A 192.168.1.27
g4mac IN A 192.168.1.18
mars IN A 192.168.1.26
gmachine IN A 192.168.1.32
ibook IN A 192.168.1.31
www IN CNAME v1 ←[3]
ns IN CNAME gmachine
mail IN CNAME v1
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―

まず[1]のSOAレコードですが、これはDNSの権限に関する設定で「SOA」の後にネームサーバーのホスト名と管理者のメールアドレスの「@」を「.」に変更したものを指定します。このとき、ホスト名の最後には「.」が必要なことに注意してください。シリアル値と呼ばれる番号に注目してください。この番号が増えるとゾーン内のデータが更新されたと見なされます。一般的には「年」「月」「日」と2桁の番号をつなげた数値を指定します。
[2]以降では、

(ホスト名) IN A (IPアドレス)

の形式でホストを設定します。なお、[3]のように

(別名) IN A CNAME (ホスト名)

でホストに別名を付けることができます。

〈逆引きファイル 「db.xx.dyndns.org.rev」〉
正引きファイルとは逆に、IPアドレスからホスト名を求めるためのファイルです。

リスト:db.xx.dyndns.org.rev
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―
$TTL 86400
@ IN SOA g3mac.xx.dyndns.org. root.v1.xx.dyndns.org. (
2001111801 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS g3mac.xx.dyndns.org.
25 IN PTR v1.xx.dyndns.org.
22 IN PTR taitan.xx.dyndns.org.
27 IN PTR g3mac.xx.dyndns.org.
18 IN PTR g4mac.xx.dyndns.org.
26 IN PTR mars.xx.dyndns.org.
32 IN PTR gmachine.xx.dyndns.org
31 IN PTR ibook.xx.dyndns.org
 ― ― ― ― ― ― ― ― ― ― ― ― ― ―

SOAレコードの後に、

(アドレス) IN PTR (ホスト名)

を登録します。ここで、IPアドレスのネットワーク部は/etc/named.confであきらかなので、最後の1オクテットだけを記述するだけでかまいません。

(続く)
[大津真/makotoo2@mac.com]
関連リンクhttp://www.o2-m.com/