DNS サーバの構築 (マスター、スレーブ)
環境は以下の通り。
mas:RHEL61.example.com (192.168.110.135) sla:RHEL66.example.com (192.168.110.136)
・マスター・サーバ/スレーブ・サーバ
1./etc/sysconfig/named の編集
#IPv6 の無効 OPTIONS="-4"
・マスター・サーバ
1.named.conf (/var/named/chroot/etc/named.conf) の編集
acl local-net { 10.0.1.1; 192.168.110.0/24; }; options { directory "/var/named"; #rndc によるダンプ情報のファイル dump-file "data/cache_dump.db"; #rndc によるステータス情報のファイル statistics-file "data/named_stats.txt"; #rndc によるメモリ情報のファイル memstatistics-file "data/named_mem_stats.txt"; #BIND がクライアントからのクエリを受け取るport と NIC を指定 listen-on port 53 { 127.0.0.1; 192.168.110.135;}; #listen-on-v6 port 53 { ::1; }; #クエリが出来るクライアントを指定 allow-query { local-net; }; #キャッシュされた情報に対するクエリが出来るクライアントを指定 allow-query-cache { local-net; }; #再帰的なサーバーとして動作するかどうかを指定 recursion yes; #DNSSEC を無効 dnssec-enable no; dnssec-validation no; dnssec-lookaside no; }; logging { channel default_debug { file "data/named.log" versions 3 size 10m; severity dynamic; print-time yes; print-severity yes; print-category yes; }; #クエリ情報を queries.log に出力 channel "log_queries" { file "data/queries.log" versions 3 size 10m; severity info; print-time yes; print-severity yes; print-category yes; }; category queries { "log_queries"; }; }; view "internal" { match-clients { local-net; }; recursion yes; zone "." IN { type hint; file "/var/named/named.ca"; }; include "/etc/named.rfc1912.zones"; zone "example.com" { type master; file "example.com.db"; #ゾーン転送要求を許可するスレーブサーバの IP アドレス指定 (192.168.110.136) #自身からの dig の axfr を許可するため自身の IP アドレス指定 (192.168.110.135) allow-transfer { 192.168.110.136; 192.168.110.135;}; #ゾーン情報に変更が加えられた際に他のネームサーバに変更を通知 notify yes; #notify が yes の場合、通知先となるサーバの IP アドレスを指定 also-notify { 192.168.110.136; }; }; zone "110.168.192.in-addr.arpa" { type master; file "192.168.110.0.local.rev"; #ゾーン転送要求を許可するスレーブサーバの IP アドレス指定 (192.168.110.136) #自身に対して dig の axfr を許可するため自身の IP アドレス指定 (192.168.110.135) allow-transfer { 192.168.110.136; 192.168.110.135;}; #ゾーン情報に変更が加えられた際に他のネームサーバに変更を通知 notify yes; #notify が yes の場合、通知先となるサーバの IP アドレスを指定 also-notify { 192.168.110.136; }; }; };
2.ゾーンファイルの編集
/var/named/chroot/var/named/example.com.db の編集。
$ttl 38400 @ IN SOA RHEL61.example.com. root.RHEL61.example.com. ( 0000000001 10800 3600 604800 38400 ) IN NS RHEL61.example.com. RHEL61.example.com. IN A 192.168.110.135 RHEL66.example.com. IN A 192.168.110.136
RHEL61.example.com.→RHEL61.example.com となる ^ RHEL61.example.com →RHEL61.example.com.example.com となる ^
/var/named/chroot/var/named/192.168.110.0.local.rev の編集。
$ttl 38400 @ IN SOA RHEL61.example.com. root.RHEL61.example.com. ( 0000000001 10800 3600 604800 38400 ) IN NS RHEL61.example.com. 135 IN PTR RHEL61.example.com. 136 IN PTR RHEL66.example.com.
※以下でゾーン情報をダンプして確認可能
# rndc dumpdb -zones # cat /var/named/chroot/var/named/data/cache_dump.db
・スレーブ・サーバ
1.named.conf (/var/named/chroot/etc/named.conf) の編集
acl local-net { 10.0.1.1; 192.168.110.0/24; }; options { directory "/var/named"; #rndc によるダンプ情報のファイル dump-file "data/cache_dump.db"; #rndc によるステータス情報のファイル statistics-file "data/named_stats.txt"; #rndc によるメモリ情報のファイル memstatistics-file "data/named_mem_stats.txt"; #BIND がクライアントからのクエリを受け取るport と NIC を指定 listen-on port 53 { 127.0.0.1; 192.168.110.136;}; #listen-on-v6 port 53 { ::1; }; #クエリが出来るクライアントを指定 allow-query { local-net; }; #キャッシュされた情報に対するクエリが出来るクライアントを指定 allow-query-cache { local-net; }; #再帰的なサーバーとして動作するかどうかを指定 recursion yes; #DNSSEC を無効 dnssec-enable no; dnssec-validation no; dnssec-lookaside no; }; logging { channel default_debug { file "data/named.log" versions 3 size 10m; severity dynamic; print-time yes; print-severity yes; print-category yes; }; #クエリ情報を queries.log に出力 channel "log_queries" { file "data/queries.log" versions 3 size 10m; severity info; print-time yes; print-severity yes; print-category yes; }; category queries { "log_queries"; }; }; view "internal" { match-clients { local-net; }; recursion yes; zone "." IN { type hint; file "/var/named/named.ca"; }; include "/etc/named.rfc1912.zones"; zone "example.com" { type slave; file "slaves/example.com.db"; #マスターサーバの IP アドレス指定 (192.168.110.135) masters { 192.168.110.135; }; }; zone "110.168.192.in-addr.arpa" { type slave; file "slaves/192.168.110.0.local.rev"; #マスターサーバの IP アドレス指定 (192.168.110.135) masters { 192.168.110.135; }; }; };
※参考情報
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html-single/Deployment_Guide/index.html
14.2. BIND
https://lists.openshift.redhat.com/docs/manuals/enterprise/RHEL-5-manual/ja-JP/Deployment_Guide/s2-bind-introduction-bind.htm
http://www.atmarkit.co.jp/flinux/index/indexfiles/bind9index.html
https://www.suse.com/ja-jp/documentation/sles10/book_sle_reference/data/cha.dns.htmll
http://www.eis.co.jp/category/dns_bind/
http://www.maruko2.com/mw/rndc%E3%81%A7named%E3%82%92%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B