平成21年1月29日 DNSサーバー(BIND9)の導入 ------------------------------------------------------- CentOS5.2 と BIND9 を利用して構築を行います。 設定と運用が簡単であると思われる方法を紹介します。 初期状態で、下記はインストール済みです bind、bind-libs、chaching-nameserver 構築の流れ) 簡単な方法として、なるべくインストール時に作成されたファイルを利用する chroot で動作させる named.caching-nameserver.conf を named.conf としてコピーして編集する キュシュサーバーとして動作確認後、ゾーンファイルを追加していく 例) DNS:210.171.161.101 問合せ許可:210.171.161.160/20 (パークネットの管理ネットワーク) ゾーン転送許可:210.171.160.3 (ns1.parknet.ad.jp) # yum update <- アップデート # rpm -q bind <- 通常インストールされている (サービス名:named) bind-9.3.4-6.0.3.P1.el5_2 <- Ver を確認しておく # yum install bind-chroot <- 関連パッケージもインストールしておく (chroot モードになる) # yum install bind-utils # chkconfig named on <- BIND9 の自動起動の設定 # chkconfig --list <- 状態を確認します | named 0:off 1:off 2:on 3:on 4:on 5:on 6:off | # service named checkconfig <- エラーがないことを確認する # service named start <- 起動すること確認する # service named stop 初期設定ファイルは、named.conf ではなく named.caching-nameserver.conf として用意されています /var/named/chroot/etc/named.caching-nameserver.conf <- このファイルで起動している 上記のファイルをコピーして、同じフォルダに named.conf を作成する ------------------------------------------------------- named.conf を編集します /var/named/chroot/etc/named.conf <- 4箇所を any にすると、nslookup が動作します listen-on port 53 { any; }; allow-query { any; }; match-clients { any; }; match-destinations { any; }; ------------------------------------------------------- # service named checkconfig <- エラーがないことを確認する # service named restart 外部のWindows PCのDOS窓から、nslookup コマンドで確認する C:\nslookup > server 210.171.161.101 <- DNSサーバーのIPを指定する > www.parknet.co.jp > > www.goo.ne.jp <- いくつかのサイトを入力して、DNS動作を確認する ネーム解決ができれば、DNSキャッシュサーバーとして利用できます (allow-query は制限した方が良い) # reboot <- 再起動して、正常に動作していることを確認しておく ------------------------------------------------------- 情報を管理するマスターサーバー、スレーブサーバーの作成は、named.conf に追記を行い、正引きファイルと逆引きファイルを読み込める形式にすることです。 下記にドメイン1個と固定IP8の逆引きの例を示します。 サンプルファイルとしてダウンロードできるようにしてありますので、参考にして下さい。 ------------------------------------------------------- named.conf を編集して、簡単なDNSを構築する options {       | <- 追記する allow-query { localhost; 210.171.160.0/20; }; allow-transfer { 210.171.160.3; }; }; view service_view { match-clients { any; }; match-destinations { any; }; recursion yes; include "/etc/named.rfc1912.zones"; zone "some-dom.co.jp" in { <- 正引きゾーン名(ドメイン名) type master; file "/etc/some-dom.co.jp.zone"; allow-query { any; }; }; zone "40.172.171.210.in-addr.arpa" in { <- 逆引きゾーン名(ネットワーク名:固定IP8 の場合) type master; file "/etc/210.171.172.40.rev"; allow-query { any; }; }; }; ------------------------------------------------------- 正引きゾーンの簡単な例 $TTL 86400 ; some-dom.co.jp. IN SOA mail.some-dom.co.jp. root.mail.some-dom.co.jp. ( 10 ; serial 10800 ; refresh 3600 ; retry 604800 ; expire 86400 ) ; minimum ; ; Name Servers ; some-dom.co.jp. IN NS ns.some-dom.co.jp. some-dom.co.jp. IN NS ns1.parknet.ad.jp. some-dom.co.jp. IN A 210.171.172.42 MX 10 mail.some-dom.co.jp. ; ; Host Addresses ; localhost.some-dom.co.jp. IN A 127.0.0.1 gw.some-dom.co.jp. IN A 210.171.172.41 mail.some-dom.co.jp. IN A 210.171.172.42 www.some-dom.co.jp. IN A 210.171.172.43 ; ; Aliases ; ns.some-dom.co.jp. IN CNAME mail.some-dom.co.jp. ------------------------------------------------------- 逆引きゾーンの簡単な例 $TTL 86400 ; 40.172.171.210.in-addr.arpa. IN SOA mail.some-dom.co.jp. root.mail.some-dom.co.jp. ( 10 ; serial 10800 ; refresh 3600 ; retry 604800 ; expire 86400 ) ; minimum ; ; Name Servers ; 40.172.171.210.in-addr.arpa. IN NS ns.some-dom.co.jp. 40.172.171.210.in-addr.arpa. IN NS ns1.parknet.ad.jp. ; ; Addresses to names ; 41.40.172.171.210.in-addr.arpa. IN PTR gw.some-dom.co.jp. 42.40.172.171.210.in-addr.arpa. IN PTR mail.some-dom.co.jp. 43.40.172.171.210.in-addr.arpa. IN PTR www.some-dom.co.jp.