「BIND」の設定

IPアドレスではなく、コンピュータ名でアクセスできるように設定します。
なお、自分の環境は固定IPではないので、ここでの設定は内部でのみの利用となります。

「BIND」のインストール
Gentoo ~ # emerge bind

鍵の作成

rndc経由でnamedを操作する為に、鍵を作成します。

Gentoo ~ # rndc-confgen -a <= /etc/bind/rndc.key の作成

Gentoo ~ # dnssec-keygen -a hmac-md5 -b 512 -n USER rndc <= 共通鍵の作成
Krndc.+123+45678

Gentoo ~ # cat Krndc.+123+45678.private <= 鍵の確認
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogeho==
 <= Key: の後の乱数をコピーする


Gentoo ~ # vi /etc/bind/rndc.key <= 鍵の編集
secretの後ろの部分を変更する
key "rndc-key" {
        algorithm hmac-md5;
        secret "iEiDVMLLrN2ZAS01Uswjyw==";
        ↓
        secret "hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogeho==";
          <= 作成した鍵の Key: より後ろの部分に変更
};


Gentoo ~ # rm Krndc.+123+45678.* <= 鍵の削除
「BIND」の設定
Gentoo ~ # vi /etc/bind/named.conf <= 設定ファイルの編集
options {
        version "unknown"; <= 追加(バージョン情報を非表示)

        listen-on { 127.0.0.1; };
        ↓
        listen-on { 127.0.0.1;
                    192.168.0.0/16; <= DNSサーバを利用するネットワークを指定
        };

        以下を追加
        allow-query{
                        127.0.0.1;
                        192.168.0.0/16; <= DNSサーバを利用するネットワークを指定
        };
        allow-recursion{
                        127.0.0.1;
                        192.168.0.0/16; <= DNSサーバをキャッシュサーバとして利用するネットワークを指定
        };
        allow-transfer{
                        127.0.0.1;
                        192.168.0.0/16; <= DNSサーバのゾーンデータの転送先のネットワークを指定
        };
        forwarders{
                        192.168.0.1; <= このDNSサーバで名前解決ができなかった場合の問合せ先を指定
        };
        ここまで
};

include "/etc/bind/rndc.key"; <= 追加(インクルードする鍵を指定)

以下を追加(keys の後ろは /etc/bind/rndc.key ファイルで指定したkeyの名前を指定)
controls {
        inet 127.0.0.1 allow { 127.0.0.1; } keys { rndc-key; };
};
ここまで

以下を追加(逆引きのエラーログをとらない)
logging {
        category lame-servers { null; };
};
ここまで

view "internal" { <= 追加
        match-clients { 192.168.0.0/16; 127.0.0.0/8; }; <= 追加(許可するネットワーク)
        recursion yes; <= 追加(再帰検索を行う)

zone "." IN {
        type hint;
        file "named.ca";
};

最終行に以下を追加
zone "crimson-snow.net" IN { <= 正引きゾーンファイル
        type master;
        file "pri/crimson-snow.net.db";
        allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN { <= 逆引きゾーンファイル
        type master;
        file "pri/0.168.192.in-addr.arpa.db";
        allow-update { none; };
};

};
ここまで

ルートゾーンの最新化

念の為、ルートゾーンを最新にします。

Gentoo ~ # wget ftp://rs.internic.net/domain/named.root <= 最新の定義ファイルのダウンロード
Gentoo ~ # mv named.root /var/bind/named.ca <= 定義ファイルを移動
Gentoo ~ # chown named:named /var/bind/named.ca <= オーナの変更
ゾーンファイルの作成

正引きゾーンファイルの作成

ホスト名(ドメイン名)からIPアドレスを解決する為のファイルを作成します。

Gentoo ~ # vi /var/bind/pri/crimson-snow.net.db <= 正引きゾーンファイル作成
$TTL    86400
@             IN      SOA   crimson-snow.net.  root.crimson-snow.net.(
                                      2005030801 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS    crimson-snow.net.
              IN      MX 10 crimson-snow.net.
@             IN      A     192.168.0.2 <= サーバのIPアドレス
windows       IN      A     192.168.0.3 <= クライアントのIPアドレス
www           IN      CNAME @ <= http://www.crimson-snow.netでもアクセスできるようにする

逆引きゾーンファイルの作成

IPアドレスからホスト名(ドメイン名)を解決する為のファイルを作成します。

Gentoo ~ # vi /var/bind/pri/0.168.192.in-addr.arpa.db <= 逆引きゾーンファイル作成
$TTL    86400
@             IN      SOA   crimson-snow.net.  root.crimson-snow.net.(
                                      2005030801 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS    crimson-snow.net.
2             IN      PTR   crimson-snow.net. <= サーバ名
3             IN      PTR   windows <= クライアント名
DNSサーバの起動
Gentoo ~ # /etc/init.d/named start

DNSサーバの自動起動

Gentooを起動する際に自動的にDNSサーバも起動するようにします。

Gentoo ~ # rc-update add named default
参照するDNSサーバの変更

Linuxで参照するDNSサーバを変更する場合、以下のようにします。

Gentoo ~ # vi /etc/resolv.conf <= 設定ファイルの編集
nameserver xxx.xxx.xxx.xxx <= 元々参照していたDNSサーバ
↓
nameserver 192.168.0.2 <= サーバのIPアドレスを指定
▲ページのトップへ