CentOS 6.6:DNSコンテンツサーバ構築【NSD編】

オープンソース「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

以上

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。