DNSコンテンツサーバをbindからnsdへ移行

bind

内部用のDNSコンテンツサーバをbindからnsdに変更してみました.
2台のサーバをどちらもプライマリサーバとします.ゾーン転送は行わずに,片方のゾーン情報を修正したら何らかの仕組みでもう片方に配布するようにする予定です.(ゾーンファイルを自動で同期するようにしてみました.こちらで説明しています)

nsdのインストール

以下のコマンドでnsdとdrillコマンドをインストールします.

dnf -y install nsd ldns-utils

nsdの設定

/etc/nsd/nsd.confを以下のように編集します.

server:
        zonesdir: "/etc/nsd/zones"
        database: ""
        logfile: "/var/log/nsd/nsd.log"
        pidfile: ""
        hide-version: yes
        hide-identity: yes
        drop-updates: yes
        round-robin: yes
        minimal-responses: yes
        refuse-any: yes
        include: "/etc/nsd/server.d/*.conf"
include: "/etc/nsd/conf.d/*.conf"
remote-control:
        control-enable: yes
        control-interface: /run/nsd/nsd.ctl
zone:
        name: "yo7612.com"
        zonefile: "yo7612.com.zone"
zone:
        name: "2.0.192.in-addr.arpa"
        zonefile: "rev.192.0.2.zone"

定義体のチェックを以下のコマンドで行います.

nsd-checkconf /etc/nsd/nsd.conf

メッセージが何も出力されなければOKです.

zoneファイルのコピー

bindで利用しているゾーンファイルを先ほど編集したnsd.confのzonesdirで指定したディレクトリへ,zonefileで指定したファイル名でコピーします.セカンダリ側はプライマリ側からファイルを持ってきます.

cp /var/named/chroot/var/named/zone/yo7612.com.zone /etc/nsd/zones

ログファイルディレクトリの作成

nsd.confで指定したログディレクトリを作成します.

mkdir /var/log/nsd

bindの停止

以下のコマンドでbindを停止します.

systemctl stop named-chroot
systemctl disable named-chroot

nsdの起動

以下のコマンドでnsdの起動を行います.

systemctl enable nsd
systemctl start nsd

コメント

タイトルとURLをコピーしました