dnsubuntuソフトウェア

DNSへのサーバ登録

このあいだ、DebianでDNSサーバを立ち上げるで設定したDNSにサーバを登録する手順です。
BIND9については、とても詳細の解説が多いのですが簡単にサーバの登録をする手順は少ないです。

設定する内容

家に1台のルータ、NAS、無線LANアクセスポイントがありますが、この名前を毎回hostsに登録するのに手間がかかるので玄箱にBIND9を入れてDNSサーバとします。
ドメイン名は、外部にサーバを公開する予定はないので、”a.local”とします。

ホスト名とIPアドレスの登録

named.confにゾーンファイルを設定します。
Debian/Ubuntuのbind9パッケージでは、/etc/bind/named.conf.localというファイルに設定します。

$ cd /etc/bind
$ cat named.conf.local
zone "a.local" {
type master;
file "/etc/bind/db.a.local.zone";
};
$

サーバの登録は、Aレコードでhostsに登録するホスト名とIPアドレスを設定するイメージです。

$ cat db.a.local.zone
;
; BIND data file for a.local domain
;
$TTL	86400
@	IN	SOA	ns.a.local. root.a.local. (
10000000  ; Serial
604800	  ; Refresh
86400	  ; Retry
2419200	  ; Expire
604800 )  ; Negative Cache TTL
;
IN	NS	ns.a.local.
;
gateway		IN	A	192.168.111.1
ns		IN	A	192.168.111.2
nas       	IN	A	192.168.111.3
airmac		IN	A	192.168.211.4
printer		IN	A	192.168.211.5
macbook		IN	A	192.168.211.6
$

設定の確認とbindの再起動

設定の確認後に再起動します。
設定の確認には、named-checkconfとnamed-checkzoneを使います。
こういう場合は、Makefileを書いて設定が正しくないと再起動できないようにします。

$ cat /etc/bind/Makefile
all: restart
restart: check checkzone
/etc/init.d/bind9 restart
check:
named-checkconf /etc/bind/named.conf
checkzone:
named-checkzone a.local db.a.local.zone
$

再起動します。

$ sudo make
named-checkconf /etc/bind/named.conf
named-checkzone a.local db.a.local.zone
zone a.local/IN: loaded serial 100000
OK
/etc/init.d/bind9 restart
Stopping domain name service...: bind9 waiting for pid 843 to die.
Starting domain name service...: bind9.
$ 

動作確認

digコマンドで登録したアドレスが引けるか確認します。
下記のように名前からアドレスが引けるようになります。

$ dig @localhost gateway.a.local | grep gateway.a.local
gateway.a.local.	86400	IN	A	192.168.111.1
$ 
タイトルとURLをコピーしました