BIND ソースコード コンパイル

ソースからBINDをコンパイルしてプライベートなDNS作る。

環境:

CentOS6.7 Final

64bit

bind9.10

ソースコードの取得

Downloads | Internet Systems Consortium

ソースコードの展開

tar xvfz bind9.10.tar.gz

コンフィグ(独自のOpenSSL導入済み)

./configure –enable-threads –with-openssl=/usr/local/ssl

makeする。

make

あとはインストール

make install

これでbindは

/usr/local/sbin

にインストールされる。

yumで自動インストールされる時と違い

サービスコマンド・設定ファイル・フォルダは一切設定されないので

自分で設定する必要がある。

めんどくさいので省く。

namedコマンドで起動、psでプロセス調べてkillが簡易的。

/etc/named.confの例

options {
        listen-on port 53 {
                192.168.1.11;
                127.0.0.1;
        };

        //listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        pid-file "/var/run/named/named.pid";
        allow-query     { localnets; example_net;};
        allow-transfer { none;};
        allow-query-cache { localnets; lab-localnet;};
        allow-recursion { localnets; example_net;};
        recursion yes;

        notify no;
        max-transfer-time-in 60;
        transfer-format many-answers;
        transfers-in 10;
        transfers-per-ns 2;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

acl "example_net"{
        192.168.0.0/16;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

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

//include zone define files
include "/etc/example_net.def";

//include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";


インクルードファイル例

zone "example.net" IN {
        type master;
        file "/etc/named.zones/example.net.zones";
        allow-query{any;};
};

zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "/etc/named.zones/1.168.192.zones";
        allow-query{any;};
};

ゾーンファイル例
逆引き例:

$ORIGIN 1.168.192.in-addr.arpa.
$TTL 3600
@ IN SOA ns1.okami.uchiolab. root.okami.uchiolab. (
     2015111101; serial
     3600 ; refresh (1 hour)
     1200 ; retry (20 min.)
     1209600 ; expire (2 weeks)
     900 ; minimum (15 min.)
)

        IN      NS      ns1.okami.uchiolab.
11      IN      PTR     okami.uchiolab.

正引き例:

$ORIGIN example.net.
$TTL 3600; 1 hour
@ IN SOA ns1.example.net. root.example.net. (
        2015111101;serial
        3600;refresh 1 hour
        1200;retry 20 min
        1209600;expire 2 weeks
        900; minimum 15 min
)

        IN      NS      ns1
        IN      NS      ns2
        IN      MX 10   mail
@       IN      TXT      “v=spf1 mx ~all” ; SPF record

@       IN      A       192.168.1.11
ns1     IN      A       192.168.1.11
ns2     IN      A       192.168.1.11
mail    IN      A       192.168.1.11
www     IN      CNAME   example.net