プライベートDNSを立てる

プライベートDNSはローカルエリア向けのDNSサーバー。 これを自宅用に立てる。

プライベートDNSではルートからの検索されないため マスターサーバーとキャッシュサーバーを兼用にする必要がある。 これをPCやルーターのDNS設定に置き換える。

これで一番問題になるのがハードウェアの故障。 このサーバーが故障するとインターネットが利用不能になる。 復旧するのにサーバーの再構築まではやるのはちょっと大変。

この問題をクリアするために、 VPSサービスにプライベートDNSを立ててみた。

以下、bindの設定例

named.conf

options {
    directory "/etc/namedb";
 	pid-file "/var/run/named/pid";
	
	listen-on { any; };
	listen-on-v6 { any; };

	// 再帰検索可能な設定
	recursion yes;
	allow-recursion { any; };
};

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

// マスタサーバーの設定
zone "example.com" {
	type master;
	file "master/example.com.zone";
};

zone "0.168.192.in-addr.arpa" {
	type master;
	file "master/example.com.rev";
};

master/example.com.zone(順引きファイル)

$TTL 86400
@		IN	SOA dns.example.com. root.example.com. (
					2013031801 ; serial
					3600       ; refresh 1hr
					900        ; retry 15min
					604800     ; expire 1w
					86400      ; min 24hr
				)
@		IN	NS	 	dns	

gateway		IN	A		192.168.0.XXX
svr01		IN	A		192.168.0.XXX

dns		IN	A	 	dnsサーバーのIPアドレス

nfs		IN	CNAME		svr01
svn		IN	CNAME		svr01

master/example.com.rev(逆引きファイル)

$TTL 86400
@		IN	SOA	dns.example.com. root.example.com. (
					2013031801 ; serial
					3600       ; refresh 1hr
					900        ; retry 15min
					604800     ; expire 1w
					86400      ; min 24hr
				)
@		IN	NS	dns.example.com.
1		IN	PTR	gateway.example.com.
100		IN	PTR	svr01.example.com.