概要
DNSサーバーは最も有名なソフトとしてBINDがありますが、数々の脆弱性が発覚して運用するにはコストが高い製品でした。
NSDはオランダ製の権威(コンテンツ)DNSソフトになります。BINDとは異なり、キャッシュ機能はなく、権威を持たないゾーンへの問い合わせには応答しません。キャッシュソフトとしてはNSDのソフトを開発した会社がUnbountというソフトを開発しています。
今回はNSDをCentOS8にインストールして、権威(コンテンツ)サーバのプライマリーおよびセカンダリーを作成します。
インストール環境
- CentOS 8.2
今回は下記IPアドレスで設定します。
用途 | IPアドレス |
---|---|
プライマリーサーバー | 172.22.100.1 |
セカンダリーサーバ | 172.22.100.2 |
NSDのインストール
-
EPELのリポジトリを追加
1dnf -y install epel-release -
NSDのインストール
1dnf -y install nsd -
firewallにてDNSサービスの許可
12345[root@cent8-nsd01 zones]# firewall-cmd --add-service=dns --zone=public --persuccess[root@cent8-nsd01 zones]# firewall-cmd --reloadsuccess[root@cent8-nsd01 zones]#
プライマリーサーバの設定
-
ZONEファイルのディレクトリ
1mkdir /etc/nsd/zones -
/etc/nsd/nsd.conf の設定
正引きとして test.server-network-note.net のゾーンファイルを指定
逆引きとして 172.22.100.X のゾーンファイルを指定プライマリーサーバのIPが172.22.100.1 セカンダリーサーバのIPが172.22.100.2 の設定になります。
123456789101112131415161718[root@cent8-nsd01 nsd]# cat /etc/nsd/nsd.confserver:ip-address: 172.22.100.1logfile: "/var/log/nsd.log"hide-version: yesremote-control:control-enable: yeszone:name: "test.server-network-note.net"zonefile: "/etc/nsd/zones/test.server-network-note.net.zone"notify: 172.22.100.2 NOKEYprovide-xfr: 172.22.100.2 NOKEYzone:name: "100.22.172.in-addr.arpa"zonefile: "/etc/nsd/zones/100.22.172.in-addr.arpa.zone"notify: 172.22.100.2 NOKEYprovide-xfr: 172.22.100.2 NOKEY[root@cent8-nsd01 nsd]# - 正引きZONEファイル
ZONEファイルの形式はBINDと同じです。1234567891011121314151617181920[root@cent8-nsd01 zones]# cat /etc/nsd/zones/test.server-network-note.net.zone$TTL 3600@ IN SOA test.server-network-note.net. root.server-network-note.net. (2020071201 ;serial10800 ;refresh3600 ;retry604800 ;expire600 ) ;negcache;IN NS cent8-nsd01.test.server-network-note.net.IN NS cent8-nsd02.test.server-network-note.net.;;test IN A 172.22.100.99@ IN A 172.22.100.10cent8-nsd01 IN A 172.22.100.1cent8-nsd02 IN A 172.22.100.2cent8-unbound IN A 172.22.100.3[root@cent8-nsd01 zones]# - 逆引きZONEファイル
ZONEファイルの形式はBINDと同じです。1234567891011121314151617[root@cent8-nsd01 zones]# cat /etc/nsd/zones/100.22.172.in-addr.arpa.zone@ IN SOA test.server-network-note.net. root.server-network-note.net. (2020071201 ;Serial3600 ;Refresh900 ;Retry3600000 ;Expire3600 ) ;MinimumIN NS cent8-nsd01.test.server-network-note.net.IN NS cent8-nsd02.test.server-network-note.net.IN A 255.255.255.01 IN PTR cent8-nsd01.test.server-network-note.net.2 IN PTR cent8-nsd02.test.server-network-note.net.3 IN PTR cent8-unbound.test.server-network-note.net.100 IN PTR test.test.server-network-note.net.[root@cent8-nsd01 zones]# - NSDサーバーの自動起動設定および起動
123[root@cent8-nsd01 zones]# systemctl enable --now nsdCreated symlink /etc/systemd/system/multi-user.target.wants/nsd.service → /usr/lib/systemd/system/nsd.service.[root@cent8-nsd01 zones]#
セカンダリーサーバの設定
-
ZONEファイルのディレクトリ権限設定
12[root@cent8-nsd02 ~]# mkdir /etc/nsd/zones[root@cent8-nsd02 ~]# chown nsd:nsd /etc/nsd/zones/ - /etc/nsd/nsd.conf の設定ファイル
プライマリーサーバのIPが172.22.100.1 セカンダリーサーバのIPが172.22.100.2 の設定になります。
123456789101112131415161718[root@cent8-nsd02 nsd]# cat /etc/nsd/nsd.confserver:ip-address: 172.22.100.2logfile: "/var/log/nsd.log"hide-version: yesremote-control:control-enable: yeszone:name: "test.server-network-note.net"zonefile: "/etc/nsd/zones/test.server-network-note.net.zone"allow-notify: 172.22.100.1 NOKEYrequest-xfr: 172.22.100.1 NOKEYzone:name: "100.22.172.in-addr.arpa"zonefile: "/etc/nsd/zones/100.22.172.in-addr.arpa.zone"allow-notify: 172.22.100.1 NOKEYrequest-xfr: 172.22.100.1 NOKEY[root@cent8-nsd02 nsd]# - NSDサーバーの自動起動設定および起動
123[root@cent8-nsd02 nsd]# systemctl enable --now nsdCreated symlink /etc/systemd/system/multi-user.target.wants/nsd.service → /usr/lib/systemd/system/nsd.service.[root@cent8-nsd02 nsd]#
NSDの設定変更
nsd.conf設定変更
nsd.conf の設定変更
1 2 3 4 |
[root@cent8-nsd01 log]# nsd-control reconfig reconfig start, read /etc/nsd/nsd.conf ok [root@cent8-nsd01 log]# |
ZONEファイルの反映
ZONEファイルの反映 nsd-control ゾーン名 で反映されます。
1 2 3 |
[root@cent8-nsd01 nsd]# nsd-control reload test.server-network-note.net ok [root@cent8-nsd01 nsd]# |
NSD参考情報
- NSD 公式サイト
- 日本Unboundユーザ会 最近は更新されていませんが、日本語でNSD4のマニュアルがあります。
CentOS8 その他設定方法は下記ページからどうぞ
CentOS8 設定方法