BIND 9.7/rndc設定


Table of Contents

↑

はじめに

BIND9.7でのrndc設定手順です。
rndc (remote name server daemon control) とは、BINDをリモートから制御するための仕組みです。
サービスの起動、停止などの様々な作業がリモートから可能になります。

↑

前提

↑

インストール環境

↑

DNSサーバ

  • ホスト名(IP)
    • serv100.oss-d.net (192.168.11.100)
  • OS
    • CentOS 6.2 (kernel 2.6.32-220.4.1.el6)
  • パッケージ
    • bind-9.7.3-8.P3.el6_2.2
↑

rndcクライアント

  • ホスト名(IP)
    • serv101.oss-d.net (192.168.11.101)
  • OS
    • CentOS 6.2 (kernel 2.6.32-220.4.1.el6)
  • パッケージ
    • bind-9.7.3-8.P3.el6_2.2
↑

DNSサーバ側の設定(192.168.11.100)

↑

rndc設定

↑

rndc.keyの作成

  • TSIG認証用の鍵を生成します。鍵の長さは最大である512bitを指定します。
    # rndc-confgen -a -r keyboard -b 512start typing:...........................................................................................................................................stop typing.wrote key file "/etc/rndc.key"

  • ファイルをchroot配下に移動して、所有者を変更します。
    # mv /etc/rndc.key /var/named/chroot/etc/rndc.key# chown named:named /var/named/chroot/etc/rndc.key

  • rndc.keyの設定
    # cat /var/named/chroot/etc/rndc.keykey "rndc-key" {       algorithm hmac-md5;       secret "FpS0OJyGgoTFSfpHcw/kIdOLLkn5qy4sqsqeVV0zPghHRC46pWRwmbX+7Z2nEZ7mIEW32N2KADOLX3plmukBlQ==";};
↑

named.confの編集

  • 設定ファイル「/var/named/chroot/etc/named.conf」へ下記を追加します。
                            # rndcのアクセス許可設定
                            
                            # (ローカルホストとローカルネットワークを許可)
                            
                            controls
                            
                            {
                            
                            inet
                            
                            127.0
                            .0
                            .1
                            
                            allow
                            
                            {
                            
                            localhost
                            ; 
                            }
                            
                            keys
                            
                            {
                            
                            rndc
                            -
                            key
                            ; 
                            }
                            ;    
                            inet
                            
                            192.168
                            .11
                            .0
                            
                            allow
                            
                            {
                            
                            192.168
                            .11
                            .0
                            /
                            24
                            ; 
                            }
                            
                            keys
                            
                            {
                            
                            rndc
                            -
                            key
                            ; 
                            }
                            ;
                            }
                            ;
                            include
                            
                            "
                            /etc/rndc.key
                            "
                            ;
                          

  • サービス再起動
    # /etc/init.d/named restart
↑

rndcクライアント側の設定(192.168.11.101)

↑

rndc設定(クライアント側)

BINDサーバ(制御される側)で下記設定を行います。

↑

rndc.confの作成

  • にクライアント側のrndc設定ファイル「/etc/rndc.conf」を作成します。
    # vi /etc/rndc.conf
                            key
                            
                            "
                            rndc-key
                            "
                            
                            {
                            
                            algorithm
                            
                            hmac
                            -
                            md5
                            ;        
                            secret
                            
                            "
                            FpS0OJyGgoTFSfpHcw/kIdOLLkn5qy4sqsqeVV0zPghHRC46pWRwmbX+7Z2nEZ7mIEW32N2KADOLX3plmukBlQ==
                            "
                            ;
                            }
                            ;
                            options
                            
                            {
                            
                            default
                            -
                            key
                            
                            "
                            rndc-key
                            "
                            ;        
                            default
                            -
                            server
                            
                            127.0
                            .0
                            .1
                            ;        
                            default
                            -
                            port
                            
                            953
                            ;
                            }
                            ;
                          
↑

動作確認

  • rndcの動作を確認します。
    # rndc statusversion: 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2CPUs found: 1worker threads: 1number of zones: 19debug level: 0xfers running: 0xfers deferred: 0soa queries in progress: 0query logging is OFFrecursive clients: 0/0/1000tcp clients: 0/100server is up and running

↑

その他

↑

FAQ

↑

rndcコマンドを実行すると「rndc: connection to remote host closed」と表示される

# rndc statusrndc: connection to remote host closedThis may indicate that* the remote server is using an older version of the command protocol,* this host is not authorized to connect,* the clocks are not synchronized, or* the key is invalid.
  • 下記の原因が考えられます。
    • 「/var/named/chroot/etc/rndc.key」がnamedでアクセスできない
    • 認証失敗(keyの名前が間違っている、secretが間違っている)
↑

rndcコマンドを実行すると「rndc: neither /etc/rndc.conf nor /etc/rndc.key was found」と表示される

# rndc statusrndc: neither /etc/rndc.conf nor /etc/rndc.key was found
  • 「/etc/rndc.conf」もしくは「/etc/rndc.key」に設定ファイルがありません。設定ファイルはchroot配下に置いてはいけません。
↑

rndcコマンド

  • namedサービスをただちに停止します。
    # rndc halt 

  • このネームサーバーに送られたクエリの すべてをログします。
    # rndc querylog

  • ネームサーバーのデータベースをリフレッシュします。
    # rndc refresh

  • ゾーンファイルをリロードしますが、以前にキャッシュされた 他の回答を全て保存します。このコマンドを使用すると、すべての保存された解決を消失することなく ゾーンファイルの変更が出来ます。
    もし、変更が特定のゾーンのみに影響する場合、reloadコマンドの後に そのゾーン名を付加することで1つのゾーンだけをリロードします。
    # rndc reload
  • 現在のnamed統計を /var/named/named.statsファイルにダンプします。
    # rndc stats

  • サーバーを安全に停止し、終了前に動的な更新やIXFR (Incremental Zone ransfers)データを保存します。
    # rndc stop 

  • DNSサーバのキャッシュ情報をクリアする
    # rndc flush 

このエントリーをはてなブックマークに追加
Last-modified: 2012-05-01 (火) 20:28:47   最終更新のRSS