*** BINDって? [#qaefa724]
前提条件 | COLOR(RED){''bind''}パッケージとCOLOR(RED){''bind-utils''}パッケージがインストール((パーケッジの[[インストール方法>パーケッジのインストールの巻]]はこちらを参照))されていることが条件。~
パッケージの確認は、COLOR(RED){''rpm -q bind''}コマンドで確認できるよ。~
# yum -y install bind bind-utils bind-chroot
- 各種設定ファイルは、以下の様にしておくこと。
-- COLOR(RED){''/etc/hosts''} 特に特記することはないけど、IPアドレスベースのホスト名解決をしているようだったらその定義をコメントする。
-- COLOR(RED){''/etc/nsswitch.conf''} 名前解決の順序です。 hosts → dns でいいでしょうっと。
hosts: files dns
-- SuSEのBINDはデフォルトでipv6対応になっており、ipv6でつながっていない環境でそのまま使用すると名前解決が遅いそうです。なのでCOLOR(RED){''/etc/modules.conf.local''}にipv6を無効にする定義をします。
# vi /etc/modules.conf.local
# Turn off IPv6
alias net-pf-10 off
alias ipv6 off
-- named外部指定パラメータの追加
# vi /etc/sysconfig/named
OPTIONS="-4" ← 最下位行に以下を追加する
*** chroot [#udabee9a]
- BINDのchroot化 することで万が一ハックされても /var/named より上位にはアクセスすることができなくなるためセキュアな環境を構築することができます。ここでは、chrootを入れた環境設定を紹介します。
*** ようやくきましたBINDの定義 [#z4c0737a]
- COLOR(RED){''/var/named/chroot/etc/named.conf''}
options {
listen-on port 53 { any; };
// 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 { any; };
recursion yes;
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";
allow-transfer {
111.xxx.xxx.xxx; ← 自分のグローバルIP
210.xxx.xxx.xxx; ← セカンダリDNSアドレス
};
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
category lame-servers { null; };
};
// 内部向けゾーン情報
view "lan" {
match-clients { localhost; localnets; };
recursion yes;
// ルートキャッシュファイル
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
// sea-bird.org の正引きゾーン情報
zone "sea-bird.org" IN {
type master;
file "sea-bird.org.lan";
allow-update { none; };
};
// 192.168.xxx.xxxx の逆引きゾーン情報
zone "xxx.168.192.in-addr.arpa" IN {
type master;
file "xxx.168.192.in-addr.arpa";
allow-update { none; };
};
};
// 外部向けゾーン情報 / sea-bird.org
view "wan" {
match-clients { any; };
recursion no;
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
// sea-bird.org
zone "sea-bird.org" IN {
type master;
file "sea-bird.org.wan";
allow-query { any; };
};
};
- COLOR(RED){''/var/named/chroot/var/named/sea-bird.org.wan''} 外部の正引き情報
$TTL 86400
@ IN SOA ns.sea-bird.org. root.sea-bird.org. (
20030812 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hours
604800 ; Expire after 1 week
86400 ; Minimum TTL of 1 day
)
;
IN NS ns.sea-bird.org.
IN NS dns1.open-circuit.ne.jp
;
IN A 203.bbb.ccc.ddd ← 自分のグローバルIP
IN MX 10 mail.sea-bird.org.
;
localhost IN A 127.0.0.1
ns IN A 203.bbb.ccc.ddd ← 自分のグローバルIP
;
www IN A 203.bbb.ccc.ddd ← 自分のグローバルIP
mail IN A 203.bbb.ccc.ddd ← 自分のグローバルIP
blog IN CNAME ns.sea-bird.org.
- COLOR(RED){''/var/named/chroot/var/named/sea-bird.org.lan''} 内部の正引き情報
$TTL 86400
@ IN SOA sea-bird.org. root.sea-bird.org. (
2004031901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS sea-bird.org.
IN MX xx sea-bird.org.
@ IN A 192.168.0.xx ← 公開するサーバアドレス(もちろんローカルIP)
* IN A 192.168.0.xx ← 公開するサーバアドレス(もちろんローカルIP)
- COLOR(RED){''/var/named/chroot/var/named/xxx.168.192.in-addr.arpa''} 内部の逆引き情報
$TTL 86400
@ IN SOA sea-bird.org. root.sea-bird.org. (
2004031901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS sea-bird.org.
IN MX xx sea-bird.org.
xx IN PTR sea-bird.org. ← xxは、公開するサーバアドレス(もちろんローカルIP)の下位
xx IN PTR window-shop.biz. ← xxは、公開するサーバアドレス(もちろんローカルIP)の下位
- 定義が終わったらBINDを立ち上げる前に、''named-checkconf''コマンド、''named-checkzone''コマンドにて文法をチェックする。~
くわしくは、[[パソコンおやじ-DNS(BIND)の設定>http://www.aconus.com/~oyaji/dns/bind_linux.htm]]を参照のこと。
*** BINDを起動する [#e8abd7a2]
- BINDを起動する
# /etc/rc.d/init.d/named start
-- 設定したDNS情報を参照するには、自分以外のネットワークから''dig''コマンドを打って確認するほかありません。~
それかDNS情報を表示するサービスを行っているサイトで確認かな。
: 注意!! | BINDを起動しても実際に外部のインターネット上にDNS情報が配信されるまでは、約COLOR(RED){1〜3日}程度かかります。
- OSの起動を行なったときにBINDを自動的に起動するように設定する
# chkconfig named on
*** ルートゾーン [#ec857ade]
- 世界に13台しかないトップレベルドメインらしいがめったに更新されることはないで
# dig . ns @198.41.0.4 > /var/named/named.ca
が、念のため最新化しておく。
*** 参考にさせて頂いたサイト様 [#q0c8e5f5]
- [[外部/内部向けDNSサーバー構築(BIND)>http://fedorasrv.com/bind-wan.shtml]]
- [[DNS(BIND)の設定(外向き)>http://www.aconus.com/~oyaji/dns/bind_linux_out.htm]]
- [[UNIX系OS(RedHat、TurboLinux、FreeBSDなど)でBIND8.xまたはBIND9.xでDNSサーバを構築する設定例を紹介します。>http://support.interlink.or.jp/service/zoot/moot/bind_unix.html]]
- [[@IT:次世代のセキュリティ拡張DNSSECをBIND 9で実現(3/3)>http://www.atmarkit.co.jp/flinux/rensai/bind913/bind913c.html]]
- [[鯖たま/LAN 環境用 DNS の構築>http://www.orangesignal.com/myserver/fc6/bind.shtml]]