FreeBSD7.1RにBIND 9.6.0-P1をインストール

※このページは作成・編集の途中です。

BINDは、DNSサーバである。

ここでは、グローバルな固定IPアドレスを使ったDNSサーバの設置方法を記録する。

事前に知っておくことと決めておくこと

決める内側IPアドレスここでは192.168.0.111/24とする
決める外側IPアドレスここでは10.9.222.20/29と仮定する
  • /24 は、サブネットマスク 255.255.255.0 を短縮した表記である。
  • /29 は、サブネットマスク 255.255.255.248 を短縮した表記である。
  • この場合、外側IPアドレスの範囲は、10.9.222.16~10.9.222.23である。
  • サーバ機のIPアドレスは、DHCPを利用せず、固定のIPアドレスとする。

インストール

%su
Password:
# cd /usr/ports/dns/bind96
# make install claen
# rehash

※Options for bind96 9.6.0.1のウィンドウで、REPLACE_BASE を ON にした。

  • REPLACE_BASEがOFFの場合、/usr/local/sbin/named が新しくできる。
  • REPLACE_BASEがONの場合、/usr/sbin/named が上書きされる。
  • named.conf や named.root の参考として、インストール時に/var/named/etc/namedb/にいくつかのファイルが作られる。使えそうなものはコピーして使うことにする。
  • /etc/namedb は、/var/named/etc/namedb のシンボリックリンクになっている。

ここで/etc/default/rc.confを確認

#
# named.  It may be possible to run named in a sandbox, man security for
# details.
#
named_enable="NO"               # Run named, the DNS server (or NO).
named_program="/usr/sbin/named" # path to named, if you want a different one.
#named_flags=""                 # Flags for named
named_pidfile="/var/run/named/pid" # Must set this in named.conf as well
named_uid="bind"                # User to run named as
named_chrootdir="/var/named"    # Chroot directory (or "" not to auto-chroot it)
named_chroot_autoupdate="YES"   # Automatically install/update chrooted
                                # components of named. See /etc/rc.d/named.
named_symlink_enable="YES"      # Symlink the chrooted pid file

/etc/rc.confを設定

上記の/etc/default/rc.confの中から変更する部分のみ/etc/rc.confに記述する。

  • ユーザのデフォルトは、bind となる。
  • 設定ファイルのデフォルトは、/etc/namedb/named.conf つまり /var/named/etc/namedb/named.conf となる。
    • 注意:named_chrootdir=”/var/named”を有効にする場合は、/var/named をルートとして考えること。
named_enable="YES"
named_flags="-c /etc/namedb/named.conf"

ゾーン設定

/etc/namedb/named.conf

  • /etc/namedb は、/var/named/etc/namedb のシンボリックリンクになっている。
  • /etc/namedb/named.conf の実ファイルは、/var/named/etc/namedb/named.confである。

インストール時に作られるnamed.confは残しておき、新しく作ることにする・・・。

# cd /etc/namedb
# mv named.conf named.conf.ORG
# touch named.conf
options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";

        version         "DNS version unknown";

        allow-recursion {
                192.168.0.0/24;
                10.9.222.16/29;
        };
};

logging {
        channel "log_default" {
                file "/var/log/named.log" versions 5 size 10m;
                severity info;
                print-time yes;
                print-category yes;
        };
        channel "log_security" {
                file "/var/log/security.log" versions 5 size 10m;
                severity info;
                print-time yes;
                print-category yes;
        };
        category default { "log_default"; };
        category security { "log_security"; };
        category client { "log_security"; };
};

zone "."                { type hint;   file "named.root"; };

zone "localhost"        { type master; file "master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "master/localhost-reverse.db"; };
zone "255.in-addr.arpa" { type master; file "master/empty.db"; };
zone "0.in-addr.arpa"   { type master; file "master/empty.db"; };

# 正引き
# vdobv.comというドメインを利用する場合はこんな感じ。ファイル名を変えても良い。
zone "vdobv.com" {
        type master;
        file "master/vdobc.com.zone";
};

# 逆引き
# vdobv.comというドメインを利用する場合はこんな感じ。ファイル名を変えても良い。
zone "222.9.10.in-addr.arpa" {
        type master;
        file "master/vdobv.com.rev";
};

/etc/namedb/named.root

/etc/namedb/named.root をそのまま使う。

  • /etc/namedb は、/var/named/etc/namedb のシンボリックリンクになっている。
  • /etc/namedb/named.root の実ファイルは/var/named/etc/namedb/named.rootである。

/etc/namedb/master/localhost-forward.db

/etc/namedb/master/localhost-forward.db をそのまま使う。

  • /etc/namedb は、/var/named/etc/namedb のシンボリックリンクになっている。
  • /etc/namedb/master/localhost-forward.db の実ファイルは/var/named/etc/namedb/master/localhost-forward.dbである。

/etc/namedb/master/localhost-reverse.db

/etc/namedb/master/localhost-reverse.db をそのまま使う。

  • /etc/namedb は、/var/named/etc/namedb のシンボリックリンクになっている。
  • /etc/namedb/master/localhost-reverse.db の実ファイルは/var/named/etc/namedb/master/localhost-reverse.dbである。

/etc/namedb/master/vdobv.com.zone

自分のドメインの正引き用に新しく作るファイル。

  • /etc/namedb は、/var/named/etc/namedb のシンボリックリンクになっている。
  • /etc/namedb/master/vdobv.com.zone の実ファイルは/var/named/etc/namedb/master/vdobv.com.zoneである。
$TTL    86400
$ORIGIN vdobv.com.
;
@       IN      SOA     ns1.vdobv.com. root.vdobv.com. (
                2009022515      ; serial
                3600            ; refresh
                900             ; retry
                604800          ; expire
                86400           ; min
)
;
        IN      NS      ns1.vdobv.com.
        IN      MX      10      ns1.vdobv.com.
;
ns1     IN      A       10.9.222.20
www     IN      A       10.9.222.20

/etc/namedb/master/vdobv.com.rev

自分のドメインの逆引き用に新しく作るファイル。

  • サブネットマスクを必要とする逆引きの例として記述する。
  • /etc/namedb は、/var/named/etc/namedb のシンボリックリンクになっている。
  • /etc/namedb/master/vdobv.com.rev の実ファイルは/var/named/etc/namedb/master/vdobv.com.rev である。
$TTL 86400
$ORIGIN 222.9.10.in-addr.arpa.
;
@       IN      SOA     ns1.vdobv.com. root.vdobv.com. (
                2009022515      ; serial
                3600            ; refresh
                900             ; retry
                604800          ; expire
                86400           ; minimum
)
;
        IN      NS      ns1.vdobv.com.
;
        IN      PTR     vdobv.com.
        IN      A       255.255.255.248
;
20      IN      PTR     www.vdobv.com.

/etc/resolv.conf

リゾルバ設定ファイルが矛盾していないことを確認しておくこと。

domain vdobv.com
nameserver 10.9.222.20

マルチドメイン

複数のドメインを(同じIPアドレスの)サーバ1台で動かしたい場合。

これら3ドメインを 10.9.222.20 という1台のサーバで利用するものとし、レジストラには次のように登録してあるものとする。

  • 下記のドメインは例です。
ドメインネームサーバ
vdobv.comns1.vdobv.com
16pixel.netns1.vdobv.com
junkperl.comns1.junkperl.com

named.conf

(省略)
zone "vdobv.com" {
    type master;
    file "master/vdobv.com.zone";
};

zone "16pixel.net" {
    type master;
    file "master/16pixel.net.zone";
};

zone "junkperl.com" {
    type master;
    file "master/junkperl.com.zone";
};
(省略)

vdobv.com.zone

$TTL    86400
$ORIGIN vdobv.com.
;
@       IN      SOA     ns1.vdobv.com. root.vdobv.com. (
                2009022515      ; serial
                3600            ; refresh
                900             ; retry
                604800          ; expire
                86400           ; min
)
;
        IN      NS      ns1.vdobv.com.
        IN      MX      10      ns1.vdobv.com.
;
ns1     IN      A       10.9.222.20
www     IN      A       10.9.222.20

16pixel.net.zone

$TTL    86400
$ORIGIN 16pixel.net.
;
@       IN      SOA     ns1.vdobv.com. root.vdobv.com. (
                2009022515      ; serial
                3600            ; refresh
                900             ; retry
                604800          ; expire
                86400           ; min
)
;
        IN      NS      ns1.vdobv.com.
;
www     IN      A       10.9.222.20

junkperl.com.zone

$TTL    86400
$ORIGIN junkperl.com.
;
@       IN      SOA     ns1.junkperl.com. root.junkperl.com. (
                2009022515      ; serial
                3600            ; refresh
                900             ; retry
                604800          ; expire
                86400           ; min
)
;
        IN      NS      ns1.junkperl.com.
        IN      MX      10      ns1.junkperl.com.
;
ns1     IN      A       10.9.222.20
www     IN      A       10.9.222.20

このページは作成・編集の途中です

このページは作成・編集の途中です

このページは作成・編集の途中です

このページは作成・編集の途中です

このページは作成・編集の途中です

rndcの利用

<KEY-NAME>には任意の文字列。

1.rndc.keyファイルを生成する。

# cd /etc/namedb
# rndc-confgen -a -b 256 -k <KEY-NAME>
# chown root rndc.key
# chmod 600 rndc.key
# more rndc.key
key "<KEY-NAME>" {
        algorithm hmac-md5;
        secret "?????????????????????????????????????????";
};

2.named.confに次の内容を追記する。ファイル末尾でよい。

# cd /etc/namedb
# vi named.conf
include "/etc/namedb/rndc.key";
controls {
 inet 127.0.0.1 allow { 127.0.0.1; } keys { "<KEY-NAME>"; };
};

3.rndc.confを作る。

# cd /etc/namedb
# touch rndc.conf
# chown root rndc.conf
# chmod 600 rndc.conf
# vi rndc.conf
include "/etc/namedb/rndc.key";
options {
        default-server  localhost;
        default-key     "<KEY-NAME>";
};
server localhost {
        key     "<KEY-NAME>";
};

4.rndcコマンドは、zoneの再読み込みなどに使う。

ゾーンの再読み込み
# rndc -s localhost reload vdobv.com
キャッシュのフラッシュ
# rndc -s localhost flush
ステータス表示
# rndc -s localhost status
freebsd7.1r/bind.txt · 最終更新: 2009/03/26 18:44 by vdobv
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0