centos7にnsd構築してみた
nsd
DNSの権威サーバ実装.BINDが脆弱性祭りになりがちで大変なので試しに移行してみた記録.ところどころ抜けてるかもは思い出したりしたら追記する.
前提
設定するドメインは hoge.example.com
IPは 1.2.3.4
とする
インストール
ざっと調べた感じCentOS7ではnsdのパッケージがないっぽい?ので自力でビルドしていい感じに動かすこととする.
まず,https://www.nlnetlabs.nl/projects/nsd/ ここからnsdのソースを落としてきてビルドする.
# cd /usr/local/src # wget "https://www.nlnetlabs.nl/downloads/nsd/nsd-4.1.13.tar.gz" # tar zxvf nsd-4.1.13.tar.gz # cd nsd-4.1.13 # ./configure --prefix=/usr/local # make -j4 # make install
ところが今調べるとyumにあった.少し前までなかった気がする.とりあえず今回はソースからビルド
設定ファイルを書く
remote-control: control-enable: yes server: ip-address: "1.2.3.4" ip4-only: yes hide-version: yes database: "/etc/nsd/var/db/nsd/nsd.db" logfile: "/var/log/nsd.log" pidfile: "/etc/nsd/var/run/nsd.pid" chroot: "/etc/nsd" difffile: "/etc/nsd/var/db/nsd/ixfr.db" xfrdfile: "/etc/nsd/var/db/nsd/xfrd.state" zonelistfile: "/etc/nsd/var/db/nsd/zone.list" xfrdir: "/etc/nsd/tmp/" zonesdir: "/etc/nsd/zones" zone: name: "hoge.example.com" zonefile: "hoge.example.com.zone"
zonesdir
で指定したディレクトリにゾーン情報を書いていく
ゾーン情報
@ IN SOA ns.hoge.example.com. root.hoge.example.com. ( 2016113001 ; Serial 有効な開始日 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns.hoge.example.com. @ IN A 1.2.3.4 fuga IN A 2.3.4.5 // ここにレコードを突っ込んでいく NS IN A 1.2.3.4
nsd-controlによる制御
まず,nsd-control-setup
をしてSSLキーを生成する.
できたら,
# nsd-control start
で起動できるはず.
どうも起動できてなければ,nsdを直接起動してみてエラーを見ると良い.
今後
元気が出たらDNSキャッシュサーバ実装のunboundも試す.