BINDの設定(内向き)


#contentsx

BIND外向けの設定の設定はこちら

内向き(内部ネットワーク用)DNSサーバのサンプル設定
外部(インターネット)の名前解決は外部(接続プロバイダ等)のDNSサーバにお願いする。

独自ドメインを取得し外向けのDNSサーバを構築する場合はこちら(BIND外向けの設定)を参照

named.confの設定

  • 設定例
    acl localnet {
    192.168.0.0/24;
    127.0.0.1;
    };
    
    options {
    directory "/var/named";
    allow-query { localnet; };
    fowarders { ***.***.***.***; };
     version "hogehoge";
    };
    
    zone "localhost" {
    type master;
    file "local.zone";
    allow-update { none; };
    };
    
    zone "0.0.127.in-addr.arpa" {
    type master;
    file "local.rev";
    allow-update { none; };
    };
    
    zone "hoge.local" {
    type master;
    file "hoge.zone";
    };
    
    zone "0.168.192.in-addr.arpa" {
    type master;
    file "hoge.rev";
    };
    
    zone "hogehoge.local" {
    type forward;
      forwarders { 10.237.89.11; };
    };
    
  • 許可するアドレスの設定
    ここでは"localnet"って名前で192.168.0.0/24127.0.0.1のネットワークアドレスをグループ化
    acl名は適宜変更(なんでもよい)。
    acl localnet {
    192.168.0.0/24;
    127.0.0.1;
    };
    
  • ここから下はオプション設定
    --directoryはzoneファイルを置く場所
    directory "/var/named";
  • クエリーの要求と転送は"localnet"からのみ許可の設定
    query ・・・・ クライアントからの問い合わせに対して応答すること
    allow-query { localnet; };
  • 名前解決の転送先DNSサーバ
    設定内の***.***.***.***部分に転送先DNSサーバのIPアドレスを書く
    接続プロバイダのDNSサーバなど外部のDNSサーバアドレスを設定
    forwarders { ***.***.***.***; };
    
  • バージョンを隠す
    BINDのバージョン情報の隠蔽する。(セキュリティ対策)
    version "hogehoge";
    
  • "hoge.local"のゾーンファイル設定
    内部のドメイン名をhoge.localとし、hogelocal.zone(正引き用)、hogelocal.rev(逆引き用)ファイルに情報を保存する
    "type master"はマスタサーバって意味。スレーブサーバの場合は"slave"にする
    zone "hoge.local" {
    type master;
    file "hogelocal.zone";
    };
    
    zone "0.168.192.in-addr.arpa" {
    type master;
    file "hogelocal.rev";
    };
    
  • ローカルゾーンファイル
    zone "localhost" {
    type master;
    file "local.zone";
    };
    
    zone "0.0.127.in-addr.arpa" {
    type master;
    file "local.rev";
    };
    
  • 特定のドメインを特定のDNSサーバに問い合わせる方法
    例:hogehoge.netドメインの名前解決はDNSサーバ192.168.1.1へ問い合わせる
    optionsでforwardersの指定を行っているが、zoneに記述しているものが優先される
    zone "hogehoge.net" {
    type forward;
      forwarders { 192.168.1.1; };
    };
    


正引きゾーンファイルの編集

正引きゾーンファイル/var/named/hogelocal.zoneを編集します

  • 設定リスト
    $TTL 86400
    @           IN SOA hoge1.hoge.local. root.hoge.local. (
                2003081501   ; serial
                3600         ; refresh
                900          ; retry
                604800       ; expire
                86400        ; minimum
    )
                 IN    NS     hoge1.hoge.local
                 IN    MX 10  mail.hoge.local
    hoge1        IN    A      192.168.0.1
    mail         IN    A      192.168.0.1
    cl-1         IN    A      192.168.0.2
    cl-2         IN    A      192.168.0.3
    cl-3         IN    A      192.168.0.4
    www          IN    CNAME  hoge1
    ftp          IN    CNAME  hoge1
    

    • レコードの種類としてはA,MX,NSがある
      DNSサーバを指定するのがNSレコード スレーブネームサーバが存在する場合は合わせて記述しておく
      IN NS hoge1.hoge.local
                  IN    NS    hoge2.hoge.local
      
    • メールサーバを指定するのがMXレコード MXの後ろににプリファレンス値を記述する必要がある
      数字が小さいものほど優先度が高い
      IN MX 10 mail.hoge.local
    • Aはホスト名を指定する 複数のホストを同じIPアドレスで指定することも可能
      --CNAMEはホスト名に別名を付けるレコードで、例の場合はwww.hoge.localで正引きを行うとhoge1のIPアドレス(192.168.0.1)が返される
      --CNAMEをMXやNSに利用する事はできない
      誤った運用例
                   IN    NS    dns.hoge.local
      dns        IN    CNAME  hoge1
      hoge1      IN           192.168.0.1
      
    • CNAMEを多様するとDNSサーバに不可を掛けることになるので注意が必要


逆引きゾーンファイルの編集

逆引きゾーンファイル/var/named/hoge.revを編集。

  • 設定リスト
    最後の"."を忘れないように
    $TTL 86400
    @         IN SOA hoge1.hoge.local. root.hoge.local. (
               2003081501     ; serial
               3600           ; refresh
               900            ; retry
               604800         ; expire
               3600           ; minimum
    )
               IN    NS    hoge1.hoge.local.
    1          IN    PTR   hoge1.hoge.local.
    2          IN    PTR   cl-1.hoge.local.
    3          IN    PTR   cl-2.hoge.local.
    4          IN    PTR   cl-3.hoge.local.
    


ローカルゾーンファイルの編集

正引きローカルゾーンファイル/var/named/local.zoneを編集。
基本的には変更する必要はありません。

  • 設定リスト
    $TTL 86400
    @         IN   SOA localhost. root.localhost. (
              2003081501    ; serial
              28800         ; refresh
              14400         ; retry
              604800        ; expire
              86400         ; minimum
    )
              IN    NS   localhost.
              IN    A    127.0.0.1
    

逆引きローカルゾーンファイル/var/named/local.revを編集。

  • 設定リスト
    $TTL 86400
    @         IN   SOA localhost. root.localhost. (
              2003081501    ; serial
              28800         ; refresh
              14400         ; retry
              604800        ; expire
              86400         ; minimum
    )
              IN   NS     localhost.
    1         IN   PTR    localhost.
    

zoneファイル編集後はシリアル値を増加させておくこと
慣例的に編集した日付+数字2桁を使用する事が多い


確認方法

/etc/resolv.confの設定をする

  • 設定リスト
    damain hoge.local
    nameserver 127.0.0.1
    

応答内容は下記のような感じで出力されれば正常に動作している。

linuxでの確認コマンド

  • soaレコード確認(ドメイン名の確認)
    #dig @127.0.0.1 hoge.local soa
    ; <<>> DiG 9.2.2 <<>> @127.0.0.1 hoge.local soa
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62047
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;hoge.local. IN SOA
    
    ;; ANSWER SECTION:
    hoge,ne.jp. 86400 IN SOA hoge1.hoge.local. root.hoge.local. 2003081501 3600 900 604800 86400
    
    ;; AUTHORITY SECTION:
    hoge.local. 86400 IN NS hoge1.hoge.local.
    
    ;; ADDITIONAL SECTION:
    lhoge1.hoge.local. 86400 IN A 192.168.0.1
    
    ;; Query time: 1 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Mon Aug 25 01:19:51 2003
    ;; MSG SIZE rcvd: 110
    
  • nsレコード確認(ドメイン名の確認)
    #dig @127.0.0.1 hoge.local ns
    ; <<>> DiG 9.2.2 <<>> @127.0.0.1 hoge.local ns
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53307
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;hoge.local. IN NS
    ;; ANSWER SECTION:
    hoge.local. 86400 IN NS hoge1.hoge.local.
    
    ;; ADDITIONAL SECTION:
    hoge1.hoge.local. 86400 IN A 192.168.0.1
    
    ;; Query time: 1 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Mon Aug 25 01:20:01 2003
    ;; MSG SIZE rcvd: 69
    
    
  • 正引き情報(ホスト名の確認)
    #dig @127.0.0.1 hoge1.hoge.local
    
    ; <<>> DiG 9.2.2 <<>> @127.0.0.1 hoge1.hoge.local
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55935
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;hoge1.hoge.local. IN A
    
    ;; ANSWER SECTION:
    hoge1.hoge.local. 86400 IN A 192.168.0.1
    
    ;; AUTHORITY SECTION:
    hoge.local. 86400 IN NS linux.ridedown.jpn.ph.
    
    ;; Query time: 1 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Mon Aug 25 01:22:28 2003
    ;; MSG SIZE rcvd: 69
    
    
  • 逆引き情報(ホスト名の確認)
    #dig @127.0.0.1 -x 192.168.0.1
    
    ; <<>> DiG 9.2.2 <<>> @127.0.0.1 -x 192.168.0.1
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56568
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;1.0.168.192.in-addr.arpa. IN PTR
    
    ;; ANSWER SECTION:
    1.0.168.192.in-addr.arpa. 86400 IN PTR hoge1.hoge.local.
    
    ;; AUTHORITY SECTION:
    0.168.192.in-addr.arpa. 86400 IN NS hoge1.hoge.local.
    
    ;; ADDITIONAL SECTION:
    hoge1.hoge.local. 86400 IN A 192.168.0.1
    
    ;; Query time: 1 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Mon Aug 25 01:22:53 2003
    ;; MSG SIZE rcvd: 107
    
  • キャッシュサーバーの確認
    #dig @127.0.0.1 www.yahoo.co.jp
    
    ; <<>> DiG 9.2.2 <<>> @127.0.0.1 www.yahoo.co.jp
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51447
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;www.yahoo.co.jp. IN A
    
    ;; ANSWER SECTION:
    www.yahoo.co.jp. 131 IN A 202.229.198.216
    www.yahoo.co.jp. 131 IN A 210.81.150.5
    www.yahoo.co.jp. 131 IN A 211.14.15.5
     
    ;; AUTHORITY SECTION:
    yahoo.co.jp. 894 IN NS dnsn201.yahoo.co.jp.
    yahoo.co.jp. 894 IN NS dnsg01.yahoo.co.jp.
    
    ;; Query time: 40 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Mon Aug 25 01:32:47 2003
    ;; MSG SIZE rcvd: 124
    
    

Windowsクライアントでの確認

  • nslookupコマンドで確認
    C:\windows>nslookup www.yahoo.co.jp
    Server: hoge1.hoge.local
    Address: 192.168.0.1
    Non-authoritative answer:
    Name: www.yahoo.co.jp
    Addresses: 210.81.150.5, 211.14.15.5, 202.229.198.216
    
最終更新:2010年09月20日 22:41