やる内容は
・環境は、Hyper-V上で構築したCentOS6.4上に、BIND 9.8を使う。
・内部のネットワーク向けのDNSサーバ(公開はしない)
・IPv4のみを使う(IPv6は使わない)
・折角なので、キャッシュサーバ機能を持たせてみる
・折角なので、chroot環境にしてみる
を目的とする。
1.パッケージをインストールする
# yum -y install bind bind-utils bind-chroot caching-nameserver
としたところ、caching-nameserverについては、
Package 32:bind-9.8.2-0.17.rc1.el6_4.6.x86_64 already installed and latest version
というメッセージがでてインストールできないようです。bindに統合されたということ
ですかね。ここにも記載が。
2.設定変更する
# vi /etc/sysconfig/named ※全記載
>>
ROOTDIR=/var/named/chroot
OPTIONS="-4"
<<
この"-4"はIPv4のみ有効にしてbindを起動するという指定です(IPv6の無効化)。
# vi /etc/named.conf ※全記載
>>
options {
// リスンするIPアドレスを指定する。指定なしの場合は全てのIPでリスンする
// listen-on port 53 { 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";
// 同一セグメント上のマシンからの問い合わせを受ける
// allow-query { localhost; };
allow-query { localnets; };
allow-query-cache { localnets; };
// 不要なエラーを省く
empty-zones-enable no;
// IPv6を無効化するのでポートは閉鎖
use-v6-udp-ports { };
// 再帰的問い合わせはデフォルト無効化
// recursion yes;
recursion no;
// DNS SECを無効化する
// dnssec-enable yes;
// dnssec-validation yes;
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
// forward先の設定
forwarders {
192.168.0.1;
};
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//viewを使っている場合は、zoneはview内で記載する必要がある
//zone "." IN {
// type hint;
// file "named.ca";
//};
//include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
//DNSキャッシュサーバ用設定
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
include "/etc/named/named.local.hayachi617.com.zone";
};
//LAN用設定
view "internal" {
match-clients { localnets; };
match-destinations { localnets; };
recursion yes;
include "/etc/named.root.hints";
include "/etc/named/named.local.hayachi617.com.zone";
};
<<
# vi /etc/named.rfc1912.zones ※変更分を記載
>>
・
・
#IPv6は使わないので、コメントアウト
#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" IN {
# type master;
# file "named.loopback";
# allow-update { none; };
#};
ゾーンファイルを作成する
# vi /etc/named.local.hayachi617.com.zone ※全記載
>>
・
・
#IPv6は使わないので、コメントアウト
#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" IN {
# type master;
# file "named.loopback";
# allow-update { none; };
#};
・
・
・
<<
ゾーンファイルを作成する
# vi /etc/named.local.hayachi617.com.zone ※全記載
>>
zone "hayachi617.com" {
type master;
file "hayachi617.com.db";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "0.168.192.in-addr.arpa.db";
};
<<
zone "hayachi617.com" {
type master;
file "hayachi617.com.db";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "0.168.192.in-addr.arpa.db";
};
<<
正引きのゾーンファイルの作成
# vi /var/named/hayachi617.com.db ※全記載
# vi /var/named/hayachi617.com.db ※全記載
>>
$TTL 86400
@ IN SOA ns.hayachi617.com. root.hayachi617.com.(
2013083101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.hayachi617.com.
router IN A 192.168.0.1
ns IN A 192.168.0.49
svr2 IN A 192.168.0.50
svr3 IN A 192.168.0.51
svr4 IN A 192.168.0.52
svr1 IN CNAME ns
www IN CNAME svr2
ntp IN CNAME svr1
<<
$TTL 86400
@ IN SOA ns.hayachi617.com. root.hayachi617.com.(
2013083101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.hayachi617.com.
router IN A 192.168.0.1
ns IN A 192.168.0.49
svr2 IN A 192.168.0.50
svr3 IN A 192.168.0.51
svr4 IN A 192.168.0.52
svr1 IN CNAME ns
www IN CNAME svr2
ntp IN CNAME svr1
<<
逆引きのゾーンファイルの作成
# vi /var/named/0.168.192.in-addr.arpa.db ※全記載
# vi /var/named/0.168.192.in-addr.arpa.db ※全記載
>>
$TTL 86400
@ IN SOA ns.hayachi617.com. root.hayachi617.com.(
2013083101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.hayachi617.com.
IN PTR hayachi617.com.
IN A 255.255.255.0
1 IN PTR router.hayachi617.com.
49 IN PTR svr1.hayachi617.com.
50 IN PTR svr2.hayachi617.com.
51 IN PTR svr3.hayachi617.com.
52 IN PTR svr4.hayachi617.com.
<<
$TTL 86400
@ IN SOA ns.hayachi617.com. root.hayachi617.com.(
2013083101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.hayachi617.com.
IN PTR hayachi617.com.
IN A 255.255.255.0
1 IN PTR router.hayachi617.com.
49 IN PTR svr1.hayachi617.com.
50 IN PTR svr2.hayachi617.com.
51 IN PTR svr3.hayachi617.com.
52 IN PTR svr4.hayachi617.com.
<<
# vi /etc/rsyslog.conf
>>
$AddUnixListenSocket /var/named/chroot/dev/log
<<
# service rsyslog reload4.サービスの起動
# chkconfig named on
# service named start
ちなみに、chroot設定が有効か?チェックしてみると、
# df -ha
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/VolGroup-lv_root
8.5G 2.8G 5.3G 35% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
tmpfs 2.9G 0 2.9G 0% /dev/shm
/dev/sda1 485M 47M 414M 11% /boot
none 0 0 0 - /proc/sys/fs/binfmt_misc
/etc/named 8.5G 2.8G 5.3G 35% /var/named/chroot/etc/named
/var/named 8.5G 2.8G 5.3G 35% /var/named/chroot/var/named
/etc/named.conf 8.5G 2.8G 5.3G 35% /var/named/chroot/etc/named.conf
/etc/named.rfc1912.zones
8.5G 2.8G 5.3G 35% /var/named/chroot/etc/named.rfc1912.zones
/etc/rndc.key 8.5G 2.8G 5.3G 35% /var/named/chroot/etc/rndc.key
/usr/lib64/bind 8.5G 2.8G 5.3G 35% /var/named/chroot/usr/lib64/bind
/etc/named.iscdlv.key
8.5G 2.8G 5.3G 35% /var/named/chroot/etc/named.iscdlv.key
/etc/named.root.key 8.5G 2.8G 5.3G 35% /var/named/chroot/etc/named.root.key
となっており、いくつかのファイルやディレクトリがchroot下にマップされていることがわかる。
ルートヒントの情報を更新しておく。
# dig @a.root-servers.net . ns > /var/named/named.ca
設定再読み込みで完了。
# servivce named reload
最後に確認をする。
# dig router.hayachi617.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> router.hayachi617.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7432
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;router.hayachi617.com. IN A
;; ANSWER SECTION:
router.hayachi617.com. 86400 IN A 192.168.0.1
;; AUTHORITY SECTION:
hayachi617.com. 86400 IN NS ns.hayachi617.com.
;; ADDITIONAL SECTION:
ns.hayachi617.com. 86400 IN A 192.168.0.49
;; Query time: 0 msec
;; SERVER: 192.168.0.49#53(192.168.0.49)
;; WHEN: Sun Sep 1 07:38:59 2013
;; MSG SIZE rcvd: 88
これにて終了。
6.外のDNS問い合わせが遅い
その後外向けのDNS解決が遅いことに気が付いた。
ということで、fowardersを、ISPのDNSに変更をしてみたところ速くなった。
よかった。
(2014/6/29)
オプションの説明を補足と、もう少しセキュアに構築するよう変更。
オプションの説明を補足と、もう少しセキュアに構築するよう変更。
0 件のコメント:
コメントを投稿