BINDの制御方法を教えてください(DNSサーバーの制御:BIND編):DNS Tips
ISCが開発し、多くの実績を持つDNSソフトウエアの実装「BIND」の制御方法を解説する。
BINDは、ISCが開発しているDNSソフトウエアの実装である。インターネットの黎明期から存在するソフトウエアであり、複数のBSD系OSやLinuxディストリビューションなどで標準採用されている。また、ルートDNSサーバーやTLDのサーバーとして利用されているなど、多くの実績がある(注1)。
起動・終了方法
BINDの起動・終了方法は、動作するOSやBINDをインストールした方法などにより異なる。ここでは、代表的な起動方法をいくつか述べる。
ソースコードを自分で入手・コンパイルし、インストールした場合
BSD系OSやLinuxディストリビューションなどでは、デフォルトでは/usr/localディレクトリ以下にコマンドやライブラリなどがインストールされる。手動で起動する場合、管理者権限でnamedを直接起動する。
# /usr/local/sbin/named -c <設定ファイル>
終了する場合、管理者権限でrndcコマンドを実行する(rndcコマンドについては後述する)。
# rndc stop
Red Hat Enterprise Linux 6のパッケージ管理システムで、インストールした場合
Red Hat Enterprise Linux 6のパッケージ管理システムを用いてインストールした場合について解説する。なお、CentOS 6の場合においても同様の方法となる。
起動は、管理者権限で次のように行う。
# service named start
終了は、管理者権限で次のように行う。
# service named stop
FreeBSD 10のパッケージ管理システムでインストールした場合
FreeBSD 10のパッケージ管理システムを用いてインストールした場合について解説する。
まず、OSの設定を変更し、BINDを起動できるようにする。
自動起動の設定は、管理者権限で次のように行う。
# sysrc named_enable="YES"
起動は、管理者権限で次のように行う。
# service named start
終了は、管理者権限で次のように行う。
# service named stop
設定の変更やゾーンファイルの再読み込み方法
ホストの追加やIPアドレスの変更など、ゾーンファイルを再読み込みさせたい場合がある。BINDでは、プロセスを再起動せず、サービスに影響を与えない形で再読み込みをさせることができる。
設定の再読み込み
namedの設定を変更したい場合、以下のコマンドでプロセスを再起動することなく設定変更を行うことができる。
# rndc reconfig
なお、権威DNSサーバーで実行した場合は、ゾーンファイルの再読み込みも同時に行われる。
ゾーンファイルの再読み込み
ここでは、権威DNSサーバーを運用し、ゾーンファイルを再読み込みさせたい場合について解説する。
ゾーンファイルの再読み込み(マスターDNSサーバー)
マスターサーバーが自分で管理するゾーンファイルを再読み込みする場合は、次のコマンドにより無停止で反映できる。
# rndc reload <ゾーン名>
スレーブサーバーが存在する場合、併せて各スレーブサーバーにゾーンの変更通知(NOTIFY)が送られる。
マスターサーバー側から要求を行い、スレーブサーバーを同期させる
何らかの理由により、マスターサーバー側から明示的にスレーブサーバーのゾーン内容を同期させたい場合、ゾーンの変更通知(NOTIFY)を明示的に送る必要がある。ゾーンの変更通知(NOTIFY)を送るには、マスターサーバーで次のコマンドを実行する。
# rndc notify <ゾーン名>
スレーブサーバー側から要求を行い、マスターサーバーと同期させる
スレーブサーバー側から明示的にマスターサーバーと同期させたい場合は、次のコマンドを実行することにより、マスターサーバーからゾーンの再転送が要求される。
# rndc retransfer <ゾーン名>
キャッシュDNSサーバーのキャッシュを破棄する
キャッシュDNSサーバーを運用しているときに、特定のドメイン名に対するキャッシュを破棄したいことがある。サーバーの再起動により実現することも可能であるが、全てのキャッシュが破棄されるため、再起動後の応答性能が落ちてしまうというデメリットがある。
特定のドメイン名のキャッシュの破棄は、次の手順で行う。
# rndc flushtree <ゾーン名>
なお、このコマンドにより、指定したドメインのサブドメインのキャッシュも破棄されることに留意されたい。
そのキャッシュDNSサーバーの全てのキャッシュを破棄する場合は、次の手順で行う。
# rndc flush
注1:開発元のISCは、DNSソフトウェアのシェアの80%以上がBINDであるとしている(https://www.isc.org/blogs/whats-your-version/)
Copyright © ITmedia, Inc. All Rights Reserved.