オープンソース「NSD」でシンプルかつ高速な「DNSコンテンツサーバ」を構築します。(2015/06/28作成)
franky_joe / Pixabay
DNSコンテンツサーバ (Contents Server)とは
自分が管理しているゾーンに対する問い合わせだけに回答します。名前解決ができなくてもほかのネームサーバへの問い合わせはせず、自らが管理しているデータベースに該当する情報がなければ「情報はない」と答えます。(出典:@IT)
NSD (えぬえすでぃー)とは
オランダのNLnet Labsが開発しているDNSコンテンツサーバである。静的な処理においては広く使われているBINDよりも高速であるため、ルートサーバなどに用いられている。DNSキャッシュサーバであるUnboundと対で使われることが多い。(出典:Hatena Keyword)
0.環境
$ cat /etc/redhat-release CentOS release 6.6 (Final)
1.インストール(NSD)
NSDは、centosデフォルトレポジトリにはないのでepelからインストールします。
$ sudo yum install --enablerepo=epel nsd $ mkdir -p /var/lib/nsd/zone /var/lib/nsd/db
■正引きゾーンファイル作成
$ sudo vi /var/lib/nsd/zone/example.com.zone $TTL 3600; @ IN SOA ns.example.com. root.example.com. ( 2014122502 ; Serial 3600 ; refresh 900 ; retry 3600000 ; expire 3600 ) ; minimum IN NS ns.example.com. example.com. IN MX 10 mail.example.com. @ IN A 100.150.200.250 mail IN A 100.150.200.250
■逆引きゾーンファイル作成
$ sudo vi /var/lib/nsd/zone/200.150.100.in-addr.arpa.zone $TTL 3600; @ IN SOA ns.example.com. root.example.com. ( 2014122502 ; Serial 3600 ;Refresh 900 ;Retry 3600000 ;Expire 3600 ) ;Minimum IN NS ns.example.com. IN A 255.255.254.0 ; Subnet mask 100 IN PTR ns.example.com. 100 IN PTR mail.example.com.
2.nsd.conf の編集
$ sudo cp -p /etc/nsd/nsd.conf /etc/nsd/nsd.conf.20150610 $ sudo vi /etc/nsd/nsd.conf server: ip4-only: yes zonesdir: "/var/lib/nsd/zone" database: "/var/lib/nsd/db/nsd.db" logfile: "/var/log/nsd.log" pidfile: "/var/run/nsd/nsd.pid" port: 53 zone: name: “example.com” zonefile: “example.com.zone” zone: name: 200.150.100.in-addr.arpa zonefile: 200.150.100.in-addr.arpa.zone
3.NSDの動作確認
digコマンドを使用する。digは「bind-utils」というパッケージに含まれているのでyumでインストールします。
$ sudo yum install bind-utils
■正引きの確認 $ dig @127.0.0.1 example.com ■逆引きの確認 $ dig @127.0.0.1 -x 100.150.200.250
以上