FreeBSD 10でのBIND ver 9.9.5_1の設定(内向けDNS)
FreeBSD10になってからbindは/usr/local/etc/namedb/ に置かれるようになった。
このバージョンのbindになると外部からnamedが操作可能となるそうだ。それを実現しているのがrndcになる。
これに関しては多くの方が詳しく記述しているのでパス。
プロバイダ等で指定されているDNSサーバを192.168.1.1でドメインhoge.hogeru.ac.jpを管理すると仮定して
記述する。DNSサーバのFQDNをdns.hoge.hogeru.ac.jp、IPが192.168.2.1、セグメントを192.168.2.0/24とする。
外部DNSサーバ | 192.168.1.1 |
管理するドメイン名 | hoge.hogeru.ac.jp |
管理するDNSサーバのFQDN | dns.hoge.hogeru.ac.jp |
管理するDNSサーバのIP | 192.168.2.1 |
管理するセグメント | 192.168.2.0/24 |
cd /usr/local/etc/namedb
/usr/local/sbin/rndc-confgen -a -b 512 -r /dev/urandom -u bind
chmod 400 rndc.key
chown bind:bind rndc.key
ついで、 rndc.conf を以下の様に書き換える。
###key "XXXXXXXXXXXXXXXXXXXXX" {
### algorithm hmac-md5;
### secret "ZZZZZZZZZZZZZZZZZZZZZ";
###};
include "/usr/local/etc/namedb/rndc.key";
####################################################
/usr/local/etc/namedb/named.conf は以下のように記述する。
サンプルがあるので必要に応じて変更する。
include "/usr/local/etc/namedb/rndc.key";
options {
directory "/usr/local/etc/namedb/working";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on { 127.0.0.1; };
listen-on-v6 { none; };
//// bind9 has access control.
//// bind自身でアクセスコントロール機能を有しているので、適切に設定する。
//// OPEN RESOLVER (All request is accepted) として動作させる場合は以下のとおり。
listen-on { any; };
recursion yes;
allow-query { any; };
allow-recursion { any; };
allow-transfer { any; };
//////////////////////////
disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
//// プロバイダーでDNSが指定されている場合はそのDNSサーバをしているする。
//// 例 外部のDNSサーバが192.168.1.1でローカルも参照する場合。
//// forwarders
forwarders {
192.168.1.1;
127.0.0.1;
};
};
// The traditional root hints mechanism. Use this, OR the slave zones below.
zone "." { type hint; file "/usr/local/etc/namedb/named.root"; };
// RFCs 1912, 5735 and 6303 (and BCP 32 for localhost)
zone "localhost" { type master; file "/usr/local/etc/namedb/master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/localhost-reverse.db"; };
zone "255.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
///////////////////////////////////////////////////////////////
zone "hoge.hogeru.ac.jp" IN {
type master;
file "/usr/local/etc/namedb/master/hoge.zone";
};
zone "2.168.192.in-addr.arpa" IN {
type master;
file "/usr/local/etc/namedb/master/2.rev";
};
///////////////////////////////////////////////////////////////
正引きゾーンデータベース
$TTL 3600
@ IN SOA dns.hoge.hogeru.ac.jp. root.hoge.hogeru.ac.jp. (
2014031900 ; Serial
3600 ; Refresh
900 ; Retry
604800 ; Expire
86400 ) ; Minimum
IN NS dns.hoge.hogeru.ac.jp.
$ORIGIN hogeru.ac.jp.
hoge IN MX 10 dns.hoge.hogeru.ac.jp.
hoge IN A 192.168.2.1
$ORIGIN
dns IN A 192.168.2.1
gegege1 IN A 192.168.2.2
gegege2 IN A 192.168.2.3
gegege3 IN A 192.168.2.4
逆引きゾーンデータベース
$TTL 3600
@ IN SOA dns.hoge.hogeru.ac.jp. root.hoge.hogeru.ac.jp. (
2014031900 ; Serial
3600 ; Refresh
900 ; Retry
604800 ; Expire
86400 ) ; Minimum
IN NS dns.hoge.hogeru.ac.jp.
;### 2.168.192.IN-ADDR.ARPA.
1 IN PTR dns.hoge.hogeru.ac.jp.
2 IN PTR gegege1.hoge.hogeru.ac.jp.
3 IN PTR gegege2.hoge.hogeru.ac.jp.
4 IN PTR gegege3.hoge.hogeru.ac.jp.
最後に/etc/rc.confに
named_program="/usr/local/sbin/named"
named_flags="-u bind -c /usr/local/etc/namedb/named.conf"
named_enable="YES"
を記述し/usr/local/etc/rc.d/named startにて起動する。
戻る