転載・引用について

ユーザ用ツール

サイト用ツール


serverapp:dns:named-old

(Obsolate)DNS Serverを建てる

Obsolate

NetBSDでDNS Serverを建てる。DNSはInternetを利用する上で非常に重要なので、設置する際に十分な注意が必要。

DNS Serverを建てる前に、以下を準備する。

  • ネットワーク構成図
    • DNSに限らず、Network構成図は出来るだけ作る習慣を付けておく方がいいでしょう。
    • 出来れば、cvs等で構成図を管理しておくとなお良いでしょう。
  • IP Address, IPv6 Address、ドメイン名の割り当て表
  • DNS Serverの構成
    • Master ServerとSecondary Serverの構成

なお、本稿では、DNS ServerとしてBIND(BIND9)を仮定する。これは、NetBSDが標準で取り入れている実装である。

ネットワーク構成図

今回管理するNetwork構成図は以下の通り。
DNSの設定において重要なのは、

  1. IP Address
  2. IPv6 Address
  3. hostname

である。

Example.org Network図

なお、Omni Graffleでファイルを作ったので、これも上げておく。example_org.graffle.gz

DNS用DB

次にDNS用のDBファイルを作成する。

正引き、逆引きを共に設定する必要がある。

言葉がわからない人や、意味が判らない人は、Googleにお伺いを立てれば調べられると思うので、そちらを参照のこと。

今回の設定においては、

  1. example.orgは既にレジストラによって登録されている
    1. example.orgは、NSレコードを2つ持っている。
    2. 登録されているNSレコードは、10.1.1.2と10.1.1.4である
  2. IPv4アドレスの逆引きは、上流のISPによって既に委任されている。
    1. 0exam.1.1.10.in-addr.arpa. として登録されている
    2. NSとして、10.1.1.2と10.1.1.4が登録されている
  3. IPv6 アドレスの逆引きは提供されていない

ものとする。

このような状況の場合、DNSサーバーに準備しなければならないデータベースは

  1. example.org用の正引きData
  2. 0exam.1.1.10.in-addr.arpa用の逆引きData
  3. Root DNSサーバーの一覧
  4. named用の設定ファイル

となる。

正引き用Data file

正引きDBファイルを作成する。ファイル名は M.example とする。

今回の例では、TXTレコード、HINFOレコードを利用している。
近年では、情報漏洩やリスクを考慮してかこの種のレコードを利用しないという風潮がある。 しかし、この程度の情報でクラックされてしまうのであれば、この種の情報が無くても結局簡単に攻撃されてしまう。
特に最近では通信時の特性などからOSをほぼ完全に推測してしまうような技術もあるので、わざわざ情報を隠す意味は無いと考える。

あと、一応SPFエントリーを付け加えてある。詳しいことはgoogle様に聞くこと。

;; M.example : Database of example.org
;;
$TTL 3600;

@       IN SOA  dns.example.org. root.example.org. (
    1        ; Serial
    10800    ; Refresh (3h)
    3600     ; Retry   (1h)
    1296000  ; Expire  (15d)
    10800    ; Minimum (3h)
)
    IN NS    dns.example.org.
    IN NS    mail.example.org.
    IN MX 20 mail.example.org.
    IN TXT   "v=spf1 +mx -all"

localhost       IN A            127.0.0.1
                IN AAAA         ::1

router          IN HINFO        "CISCO"           "IOS"
                IN TXT          "Gateway to Internet"
                IN AAAA         2000:ffff:ffff:0::1
                IN A            10.1.1.1

dns             IN HINFO        "PC/AT"           "NetBSD"
                IN TXT          "MasterNS"
                IN AAAA         2000:ffff:ffff:0::2
                IN A            10.1.1.2

www             IN HINFO        "PC/AT"           "NetBSD"
                IN TXT          "Web Server"
                IN AAAA         2000:ffff:ffff:0::3
                IN A            10.1.1.3

mail            IN HINFO        "PC/AT"           "NetBSD"
                IN TXT          "Mail,pop,smtp,DNS Server"
                IN AAAA         2000:ffff:ffff:0::4
                IN A            10.1.1.4

pop             IN CNAME mail
smtp            IN CNAME mail

ns              IN CNAME dns
                IN CNAME mail

逆引き用Data file

正引きと同じように逆引きも設定する。

逆引きファイルは R.10.1.1.0examとする。

;; R.10.1.1.0exam : Database of 0exam.1.1.10.in-addr.arpa.
;;
$TTL 3600;

@       IN SOA  dns.example.org. root.example.org. (
    1        ; Serial
    10800    ; Refresh (3h)
    3600     ; Retry   (1h)
    1296000  ; Expire  (15d)
    10800    ; Minimum (3h)
)
    IN NS    dns.example.org.
    IN NS    mail.example.org.

1   IN PTR   router.example.org.
2   IN PTR   dns.example.org.
3   IN PTR   www.example.org.
4   IN PTR   mail.example.org.

Root DNSサーバー一覧

NetBSDを利用している場合は、/etc/namedb/root.cacheがそれ。

わざわざ作る物ではない。

named用の設定ファイル

rndc keyの作成

rndc.keyは、DNS Serverを制御するためのrndcを利用するために作成される。

  1. 鍵を作る
    • # cd /tmp
      # mkdir t
      # cd t
      # dnssec-keygen -r keyboard  -a HMAC-MD5 -b 256 -n USER root
      start typing:
      ...............................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      ...........................
      stop typing.
      Kroot.+xxx+xxxxx
      #

これで、種となる鍵ファイルが出来上がる。

  1. rndc.keyを作成
    • # cat Kroot.+xxx+xxxxx
      root. IN KEY 0 3 157 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789acbdef==
      # cat rndc.key								← named.confに記載したrndc.keyファイルを作成する
      key RNDC {
              algorithm "HMAC-MD5";
              secret "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789acbdef==";
      };
  2. rndc.confを作成
    • # cat /etc/rndc.conf
      include "/etc/namedb/rndc.key";
      
      options {
              default-server localhost;
              default-key RNDC;
      };
      # 

これでrndcが利用できるようになる。

DNSSEC

サブドメイン設定に関して

DNS Serverの起動とデバッグ

以上の設定が済んだら、/etc/rc.confを修正する

named=YES               named_flags="-c /etc/namedb/named-m.conf"

なお、namedをchroot環境で動作させるならば、named_chrootdirを設定する。
NetBSDの場合、これを設定すれば問題なくchroot環境に移行してnamedが動作する。

ここまで設定が終わったら、/etc/rc.d/named start をrootから実行する。

これでnamedが起動するが、設定ミスなどがあるとエラーになるので、/var/log/messageを確認して、DNSサーバーがエラーを出していないことを確認しよう。

DNS ServerのDebug

このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
serverapp/dns/named-old.txt · 最終更新: 2015/01/09 20:48 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki