centos 6.5 DNSサーバ構築


一、DNS紹介
DNS(Domain Name System、ドメイン名システム)は、インターネット上でドメイン名とIPアドレスが互いにマッピングされる分散データベースとして動作し、DNSプロトコルはUDPプロトコルの上で動作し、ポート番号53(Domain)、953(mdc)を使用する.この2つのポート番号.RFC文書において、RFC 2181はDNSについて説明し、RFC 2136はDNSの動的更新について説明し、RFC 2308はDNSクエリの逆キャッシュについて説明する.
二、取り付け
[root@dns ~]# yum install -y bind bind-chroot bind-utils
//  
[root@dns ~]# yum install -y bind*

DNSのメインプログラムbind、もう一つはbind-utilsです.DNSセキュリティを考慮するためbind-chroot.を導入した.
chrootは、関連ファイルを偽ルートディレクトリにカプセル化することで、セキュリティ保護の目的を達成し、プログラムが破壊されると、偽ルートディレクトリ内のコンテンツにのみアクセスでき、実際のルートディレクトリではありません.chrootというサービスがインストールされると、DNSサービスのプロファイルが私たちの偽ルートにインストールされ、元のサービスと全く同じディレクトリアーキテクチャが生成されます.このサービスのルートディレクトリは /var/named/chroot 自分のルートディレクトリとして、私たちの実際のルートディレクトリを保護することができますので、ネットワークサービスをインストールするときにchrootというプログラムをインストールすることをお勧めします.
三、配置
BINDのいくつかのサービスドキュメントの場所とテンプレート:
    /usr/share/doc/bind-9.8.2/sample
BINDのプライマリプロファイルは通常、2つの場所に保存されます.
/etc/named.conf-Bindサービスプライマリプロファイル
/var/named/-ドメインのzoneプロファイル
bind-chrootというプログラムがインストールされると、BINDのプライマリプロファイルの格納場所が変わり、BINDのプライマリプロファイルが偽ルートディレクトリにカプセル化されます.このときのプロファイルの場所は次のとおりです.
/var/named/chroot/etc/named.conf-Bindサービスプライマリプロファイル
/var/named/chroot/var/named-ドメインのzoneプロファイル
テンプレートのコピー
[root@dns ~]# cp /etc/named.conf /etc/named.rfc1912.zones /var/named/chroot/etc/
[root@dns ~]# cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/

構成の変更:
1、解決するドメイン名を宣言する
[root@dns etc]# vim /var/named/chroot/etc/named.conf
 options {
        listen-on port 53 { 192.168.1.200; };     #    IP 53  
        //listen-on-v6 port 53 { ::1; };          #  IPv6   ,     
        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; };          #      DNS    
        recursion yes;
         dnssec-enable yes;
        dnssec-validation yes;
         /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
         managed-keys-directory "/var/named/dynamic";
};
 logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
 zone "." IN {
        type hint;
        file "named.ca";
};
 //This is my DNS configuration
 zone "123.com" {                  //        ,     named.rfc1912.zones    
        type master;                //            DNS   
        file "123.com.zone";          //      zone   123.com.zone  ,       .zone   
        allow-update { none; };
};        // ;      ,     
 zone "2.168.192.in-addr.arpa" {                //        ,     named.rfc1912.zones    ,       xx.xx.xx.in-addr.arpa
        type master;
        file "192.168.2.zone";
        allow-update { none; };
};
 // End my configuration
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

        2、ドメイン名とIPの対応関係を配置する.        
[root@dns etc]# cd /var/named/chroot/var/named
[root@dns etc]# cp named.localhost 123.com.zone
[root@dns etc]# vim 123.com.zone
$TTL 1D
@       IN SOA  @ 123.com. (                                       ; “.”     
                                        2017012501      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
        IN      MX      10      mail.123.com.         ; MX           ,          ,           ,              ,    “.”      
www     IN      A       192.168.2.10            ;  A  
c1    IN      A       192.168.2.11
c2    IN      A       192.168.2.12

【注意:】MXレコードは必ずリソースレコードの先頭を定義しなければなりません.そうしないと解析に失敗します
  $TTL = 1 D(デフォルト生存時間=1 D、キャッシュサーバが記録を保存する時間は1日です.つまりキャッシュサーバにドメインの解析記録を保存するように伝えます)
serial=2017012501(シリアル番号=2017012501、私は構成日をシリアル番号として使用します.このシリアル番号の役割は、サブドメイン名サーバがこのファイルをコピーするときに、番号が増加したらコピーすることです)
refresh=1 D(リフレッシュ=1 D、サブドメイン名サーバは24時間おきにプライマリサーバをクエリー)
retry=1 H(1 hour)(再試行=3600秒、セカンダリドメイン名サービスがプライマリサーバで更新をクエリーしようとしたとき、接続に失敗し、セカンダリドメイン名サーバが1時間おきにプライマリドメイン名サーバにアクセス)
expire=1 W(7 days)(有効期限=60480秒、サブドメイン名サーバがプライマリ・サービスへの更新に失敗した後、7日後に削除されたレコード.)
 
3、逆解析の構成
[root@dns etc]# cp named.localhost 192.168.2.zone
[root@dns etc]# vim 192.168.2.zone
$TTL 1D
@       IN SOA  @ 123.com. (
                                        2017012501      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
10       IN      PTR     www.123.com.11    IN    PTR  c1.123.com.12    IN    PTR  c2.123.com.

4.DNSサービスの開始
[root@dns etc]# service named restart
    Stopping named:           [ OK ]
    Starting named:            [FAILED]   

ログの表示:
    [root@dns etc]# tail -f/var/log/messages
権限の問題、named.rfc 1912.zonesを表示すると、他のユーザーにr権限がないことがわかります.
権限の追加
       
[root@dns etc]# chmod o+r /var/named/chroot/etc/named.rfc1912.zones

  
 [root@dns etc]# service named restart
    Stopping named:           [ OK ]    
    Starting named:            [ OK ] 

  
 5.テスト、自分のPCにDNSを配置し、nslookupでテストする.
オリジナルアドレス:https://www.cnblogs.com/weijie0717/p/6363059.html