BINDって?

前提条件 | bindパッケージとbind-utilsパッケージがインストール*1されていることが条件。
パッケージの確認は、rpm -q bindコマンドで確認できるよ。

# yum -y install bind bind-utils bind-chroot
  • 各種設定ファイルは、以下の様にしておくこと。
    • /etc/hosts 特に特記することはないけど、IPアドレスベースのホスト名解決をしているようだったらその定義をコメントする。
    • /etc/nsswitch.conf 名前解決の順序です。 hosts → dns でいいでしょうっと。
      hosts:      files dns
  • SuSEのBINDはデフォルトでipv6対応になっており、ipv6でつながっていない環境でそのまま使用すると名前解決が遅いそうです。なので/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

  • BINDのchroot化 することで万が一ハックされても /var/named より上位にはアクセスすることができなくなるためセキュアな環境を構築することができます。ここでは、chrootを入れた環境設定を紹介します。

ようやくきましたBINDの定義

  • /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; };
            };
    };
  • /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.
  • /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)
  • /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)の設定を参照のこと。

BINDを起動する

  • BINDを起動する
    # /etc/rc.d/init.d/named start
  • 設定したDNS情報を参照するには、自分以外のネットワークからdigコマンドを打って確認するほかありません。
    それかDNS情報を表示するサービスを行っているサイトで確認かな。
注意!!
BINDを起動しても実際に外部のインターネット上にDNS情報が配信されるまでは、約1〜3日程度かかります。
  • OSの起動を行なったときにBINDを自動的に起動するように設定する
    # chkconfig named on

ルートゾーン

  • 世界に13台しかないトップレベルドメインらしいがめったに更新されることはないで
    # dig . ns @198.41.0.4 > /var/named/named.ca 
    が、念のため最新化しておく。

参考にさせて頂いたサイト様


*1 パーケッジのインストール方法はこちらを参照

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:31