2007-10-16

ローカル名前解決をDNSでやる

プライベートなネットワークの中でホスト名を管理する簡単な方法は /etc/hostsを使うことだが、台数が増えてくるとそれじゃあんまりなので DNSを使って名前を管理してみる。ついでに、ローカル以外の名前解決は外のちゃんとした DNSにフォワードさせる。

ローカルな名前解決とはいえ DNSに扱わせるためには(多分)一応ドメイン名が必要なため、ここでは .local を使う。

/etc/named.conf

options {
// 前略
forwarders { x.x.x.x; y.y.y.y; }; // 外のちゃんとしたDNSをここで指定
};

// 正引き
zone "local" {
type master;
file "local.zone";
forwarders {}; // こうしておくことでローカルな解決を外に漏らさない
};

// 逆引き(ここでは 172.16.0.0/16)
zone "16.172.in-addr.arpa" {
type master;
file "172.16.zone";
forwarders {};
};

/var/named/local.zone

$TTL 3600
@ IN SOA mydnshost.local. root.local. (
1
8H
1H
1W
1D)
;
IN NS mydnshost.local.
;
mydnshost IN A 172.16.0.2
apple IN A 172.16.0.3
orange IN A 172.16.0.4
grape IN A 172.16.0.5

/var/named/172.16.zone

$TTL 3600
@ IN SOA mydnshost.local. root.local. (
1
8H
1H
1W
1D)
;
IN NS mydnshost.local.
;
2.0 PTR mydnshost.local.
3.0 PTR apple.local.
4.0 PTR orange.local.
5.0 PTR grape.local.

各ホストのresolv.confを編集し、ローカルの DNSを参照させる。domain local としておくとドメイン名を省略して名前を引いた際に自動で補完される。

domain local
nameserver 172.16.0.2

0 件のコメント:

コメントを投稿

<< ホーム