NSDとは
NSDはシンプルかつ高速なオープンソースのDNSコンテンツサーバです。
DNSサーバとしてはBINDが有名ですが、それに対してパフォーマンス、サイズ、設定の面で軽量なのが利点になります。
なお、DNSキャッシュサーバとしての機能はありませんが、同じ開発元によるUnboundが利用できます。
目標と準備
目標
IPv4に限定した、正引きと逆引きを行えるごく基礎的なDNSコンテンツサーバを立ち上げます。
環境
さくらVPS + ArchLinux
準備
ArchLinuxはインストール済みで、インターネットまわりの設定も終わっているものとします。
設定例ではドメインを example.com 、IPアドレスを 100.150.200.250 とします。
インストールと設定
インストール
pacman -Sy nsd
NSDの設定
設定サンプルをコピーして使います。
cp /etc/nsd/nsd.conf.sample /etc/nsd/nsd.conf
nano /etc/nsd.conf
do-ip6: no
zonesdir: "/etc/nsd/zone"
//正引き
zone:
name: “example.com”
zonefile: “example.com.zone”
//逆引き
zone:
name: 200.150.100.in-addr.arpa
zonefile: 200.150.100.in-addr.arpa.zone
IPアドレスを反転させたものを逆引きのゾーンとして使います。
ゾーンファイルの設定
RFCで規定されたゾーンファイルになります。BINDで使用しているものも使えるはずです。
mkdir /etc/nsd/zone
正引きゾーンファイル
nano /etc/nsd/zone/example.com.zone
$TTL 3600
@ IN SOA ns.example.com. root.example.com. (
201xxxxx ;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
逆引きゾーンファイル
nano /etc/nsd/zone/200.150.100.in-addr.arpa.zone
$TTL 3600
@ IN SOA ns.example.com. root.example.com. (
201xxxxx ;Serial
3600 ;Refresh
900 ;Retry
3600000 ;Expire
3600 ) ;Minimum
IN NS ns.example.com.
IN A 255.255.254.0 ;サブネットマスク
100 IN PTR ns.example.com.
100 IN PTR mail.example.com.
NSDの起動
systemctl start nsd
systemctl enable nsd