自宅サーバー ≫ Linux Server ≫ CentOS 6.5 ≫ DNSサーバー (bind) ※内部向け

 
bind のインストール
 
 
[root@centos]# yum -y install bind   <--- 入力
 
bind ファイルの設定(ファイルが無い場合は新規作成)
 
 
[root@centos]# vi /etc/named.conf   <--- 入力
 //
 // named.conf
 //
 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
 // server as a caching only nameserver (as a localhost DNS resolver only).
 //
 // See /usr/share/doc/bind*/sample/ for example named configuration files.
 //


 options {
    
listen-on port 53 { 127.0.0.1; };   <--- コメント化
           
 
//  listen-on port 53 { 127.0.0.1; };
     listen-on-v6 port 53 { ::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 {
localhost; localnets; };
     recursion yes;

 
    
dnssec-enable yes;
 
    dnssec-validation yes;
     dnssec-lookaside auto;

     /* Path to ISC DLV key */
     bindkeys-file "/etc/named.iscdlv.key";

    
※以下は必要に応じて記述( 内部向けのみの場合にルーターを指定)
    
allow-transfer{
         192.168.1.xxx;   <--- ルーターのIPアドレス (スレーブDNSサーバとして指定)
     };

 
    
※以下は必要に応じて記述( 外部のDNSサーバーに問い合わせを転送する場合に指定)
    
forwarders{
        
yyy.yyy.yyy.yyy;   <--- 外部のプライマリDNSサーバを指定する場合(グローバルIPアドレス)
        
zzz.zzz.zzz.zzz;   <--- 外部のセカンダリDNSサーバを指定する場合(グローバルIPアドレス)
 
    };
    
※ここまで
 
     managed-keys-directory "/var/named/dynamic";
 };

 logging {
     channel default_debug {
         file "data/named.run";
         severity dynamic;
     };
 };

 
※内部向けVIEWの定義の追記
 view "internal" {
     match-clients { localhost; localnets; };
   <--- DNSサーバ、DNSサーバと同じネットーワークに許可
    
recursion yes;  ← キャッシュ有効

 zone "." IN {
     type hint;
     file "named.ca";
 };
 
 include "/etc/named.rfc1912.zones";
 include "/etc/named.root.key";
 
    
※以下追記
    
※正引きゾーン(papa-net.info)の指定
     zone "papa-net.info" {
         type master;
         file "/var/named/papa-net.info.lan";
         allow-update { none; };
     };

 
    ※逆引きゾーン(192.168.1.0/24)の指定
     zone "1.168.192.in-addr.arpa" {
         type master;
         file "/var/named/1.168.192.in-addr.arpa.db";
         allow-update { none; };
     };
 };

 
内向き正引きゾーンファイル(papa-net.info.lan)の作成
 
 [root@
centos]# vi /var/named/papa-net.info.lan   <--- 入力
 
$TTL 86400(1)
 @      IN      SOA        papa-net.info.
(2) master.papa-net.info.((3)
                                          2010101201 ; serial
(4)
                                          3600       ; refresh (1 hour)
(5)
                                          900        ; retry (15 minutes)
(6)
                                          604800     ; expire (1 week)
(7)
                                          86400      ; negative (1 day)
(8)
 )
        IN      NS         papa-net.info.
(9)
        IN      MX 10      papa-net.info.
(10)
        IN      A          192.168.1.200
(11)
 *      IN      CNAME      papa-net.info.
(12)
 
(1)  外部に対するキャッシュデータの有効期間(外部に公開しないので何でも良い 86400秒 = 1日)
(2)  ドメイン名(最後に“.”(ピリオド)があることに注意!)
(3)  管理者のメールアドレス(“@”の代わりに“.”になっていることに注意! 最後に“.”(ピリオド)があることに注意!)
(4)  シリアル番号(一般的にはDNSサーバーを立ち上げた年月日+任意の数字)
(5)  スレーブDNSサーバーがマスターDNSサーバーに同期更新する間隔。 (3600秒 = 1時間)
(6)  同期更新に失敗した場合に再試行する間隔。  (900秒 = 15分)
(7)  同期更新に失敗した場合にスレーブのデータを破棄するまでの期間。  (604800秒 = 1週間)
(8)  同期更新に失敗した場合のログを記憶しておく期間。 (86400秒 = 1日)
(9)  ドメインに関する権限を持っているドメイン名(通常は(2)と同じになる。 最後に“.”(ピリオド)があることに注意!)
(10) メールアドレスの@以降(最後に“.”(ピリオド)があることに注意!)
(11) DNSサーバーのIPアドレス
(12) マルチドメインの指定(最後に“.”(ピリオド)があることに注意!)
内向き逆引きゾーンファイル(1.168.192.in-addr.arpa.db)の作成
 
 [root@
centos]# vi /var/named/1.168.192.in-addr.arpa.db   <--- 入力
 $TTL 86400(1)
 @      IN      SOA        papa-net.info.
(2) master.papa-net.info.((3)
                                          2010101201 ; serial
(4)
                                          3600       ; refresh (1 hour)
(5)
                                          900        ; retry (15 minutes)
(6)
                                          604800     ; expire (1 week)
(7)
                                          86400      ; negative (1 day)
(8)
 )
        IN      NS         papa-net.info.
(9)
 200    IN      PTR        papa-net.info.
(10)
 
(1)  外部に対するキャッシュデータの有効期間(外部に公開しないので何でも良い 86400秒 = 1日)
(2)  ドメイン名(最後に“.”(ピリオド)があることに注意!)
(3)  管理者のメールアドレス(“@”の代わりに“.”になっていることに注意! 最後に“.”(ピリオド)があることに注意!)
(4)  シリアル番号(一般的にはDNSサーバーを立ち上げた年月日+任意の数字)
(5)  スレーブDNSサーバーがマスターDNSサーバーに同期更新する間隔。 (3600秒 = 1時間)
(6)  同期更新に失敗した場合に再試行する間隔。  (900秒 = 15分)
(7)  同期更新に失敗した場合にスレーブのデータを破棄するまでの期間。  (604800秒 = 1週間)
(8)  同期更新に失敗した場合のログを記憶しておく期間。 (86400秒 = 1日)
(9)  ドメインに関する権限を持っているドメイン名(通常は(2)と同じになる。 最後に“.”(ピリオド)があることに注意!)
(10) DNSサーバーのIPアドレスにドメイン名を関連付ける(最後に“.”(ピリオド)があることに注意!)
ルートDNS情報を取得
 
 [root@
centos]# wget ftp://ftp.nic.ad.jp/internet/rs.internic.net/domain/named.root   <--- 入力
 
取得したルートDNS情報を移動
 
 [root@
centos]# mv named.root /var/named/named.ca   <--- 入力
 
mv: `/var/named/named.ca' を上書きしてもよろしいですか(yes/no)? y   <--- y を入力
 
ホストファイルの確認
ホスト名になっているか確認 (なっていない場合は書き換え)
 
 [root@
centos]# vi /etc/hosts   <--- 入力
 127.0.0.1
centos.server centos localhost.localdomain localhost
 
DNSサーバ指定ファイルの確認
DNSサーバー(自分自身)のIPアドレスになっているかを確認 (なっていない場合は書き換え)
 
 [root@
centos]# vi /etc/resolv.conf   <--- 入力
 nameserver
192.168.1.***

 
順序設定ファイルの確認
以下のようになっているかを確認 (なっていない場合は書き換え)
 
 [root@
centos]# vi /etc/nsswitch.conf   <--- 入力
 
 
途中略
 
 
#hosts: db files nisplus nis dns
 
hosts: files dns
 
 
以下略
 
名前解決方法と順序の確認
hosts,bind の順序になっているか確認 (なっていない場合は書き換え)
 
 [root@
centos]# vi /etc/host.conf   <--- 入力
 
order hosts,bind
 
bind の起動
 
 [root@
centos]# /etc/rc.d/init.d/named start   <--- 入力
 
bind の自動起動設定
 
 [root@
centos]# chkconfig named on   <--- 入力
 
自動起動設定の確認
 
 [root@
centos]# chkconfig --list named   <--- 入力
 named     0:off  1:off  2:on  3:on  4:on  5:on  6:off
   <--- 2・3・4・5 が on になっていればOK
 
≪ドメインの追加設定≫
bind に papa.jp ドメインを追加する
named.conf ファイルの設定
 
 [root@
centos]# vi /etc/named.conf   <--- 入力
 
下記を追加
 
zone "papa.jp" {   <--- papa.jp 正引きゾーンの記述
     type master;
     file "/var/named/papa.jp.lan";
   <--- データベースファイルの名前と場所
     allow-update { none; };
 };

 
papa.jp の内向けの正引きゾーン設定ファイルの作成
 
 [root@
centos]# vi /var/named/papa.jp.lan   <--- 入力
 
$TTL 86400
 @      IN      SOA        papa.jp.
(1) master.papa-net.info.(
                                          2010101201 ; serial
                                          3600       ; refresh (1 hour)
                                          900        ; retry (15 minutes)
                                          604800     ; expire (1 week)
                                          86400      ; negative (1 day)
 )
        IN      NS         papa-net.info.
        IN      MX 10      papa-net.info.
 *      IN      A          192.168.1.200
(2)
 
(1)  ドメイン名(最後に“.”(ピリオド)があることに注意!)
(2)  papa.jp ドメインのあるサーバーIPアドレスを指定
その他は通常の内向けの正引きゾーン設定ファイルと同じ
内向けの逆引き設定
逆引きゾーンファイルは新たに作成は必要なく元のファイルに追加ドメインの記述を追加
 
 [root@
centos]# vi /var/named/1.168.192.in-addr.arpa.db   <--- 入力
 
下記を追加
 200    IN      PTR        papa.jp.

 
bind の再起動
 
 [root@
centos]# /etc/rc.d/init.d/named restart   <--- 入力
 
クライアント機による確認
クライアント機のWindowsのコマンドプロンプトを起動し下記を実行
 
 Microsoft Windows [Version 6.1.7601]
 Copyright (C) 2009 Microsoft Corporation.

 C:>
nslookup   <--- 入力

 既定のサーバー:papa-net.server
  <--- DNSサーバー名表示
 Address:192.168.1.***
  <--- DNSサーバーのアドレス表示

 >
papa-net.info   <--- ドメイン名入力
 サーバー:papa-net.server
  <--- DNSサーバー名表示
 Address:192.168.1.***
  <--- DNSサーバーのアドレス表示

 名前:papa-net.info
  <--- ドメイン名表示
 Address:192.168.1.***
  <--- ドメインに対応するWebサーバーのアドレス表示

 >
192.168.1.***   <--- Webサーバーのアドレス入力
 サーバー:papa-net.server
  <--- DNSサーバー名表示
 Address:192.168.1.***
  <--- DNSサーバーのアドレス表示

 名前:papa-net.info
  <--- IPアドレスに対応するドメイン名表示
 Address:192.168.1.***
  <--- ドメインに対応するWebサーバーのアドレス表示

 C:>

 
上記のようにドメイン名(正引き)・IPアドレス(逆引き)の両方とも正しく表示されればOK
≪サブドメインの設定≫
※最初にマルチドメイン指定しているので通常は必要ないが、サブドメインを別サーバーで運用する場合に必要
papa-net.info にサブドメイン abc を追加して abc.papa-net.info で別サーバーへアクセスできるようにする
内向き正引きゾーンファイル papa-net.info.lan の設定
 
 [root@
centos]# vi /var/named/papa-net.info.lan   <--- 入力
 
下記を追加
 
abc    IN      A          192.168.1.199
 
内向き逆引きゾーンファイル 1.168.192.in-addr.arpa.db の設定
 
 [root@
centos]# vi /var/named/1.168.192.in-addr.arpa.db   <--- 入力
 
下記を追加
 
200    IN      PTR        abc.papa-net.info.
 
bind の再起動
 
 [root@
centos]# /etc/rc.d/init.d/named restart   <--- 入力
 

戻る