Obsolate
NetBSDでDNS Serverを建てる。DNSはInternetを利用する上で非常に重要なので、設置する際に十分な注意が必要。
DNS Serverを建てる前に、以下を準備する。
なお、本稿では、DNS ServerとしてBIND(BIND9)を仮定する。これは、NetBSDが標準で取り入れている実装である。
今回管理するNetwork構成図は以下の通り。
DNSの設定において重要なのは、
である。
なお、Omni Graffleでファイルを作ったので、これも上げておく。example_org.graffle.gz
次にDNS用のDBファイルを作成する。
正引き、逆引きを共に設定する必要がある。
言葉がわからない人や、意味が判らない人は、Googleにお伺いを立てれば調べられると思うので、そちらを参照のこと。
今回の設定においては、
ものとする。
このような状況の場合、DNSサーバーに準備しなければならないデータベースは
となる。
正引き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
正引きと同じように逆引きも設定する。
逆引きファイルは 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.
NetBSDを利用している場合は、/etc/namedb/root.cacheがそれ。
わざわざ作る物ではない。
rndc.keyは、DNS Serverを制御するためのrndcを利用するために作成される。
# 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 #
これで、種となる鍵ファイルが出来上がる。
# 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=="; };
# cat /etc/rndc.conf include "/etc/namedb/rndc.key"; options { default-server localhost; default-key RNDC; }; #
これでrndcが利用できるようになる。
以上の設定が済んだら、/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サーバーがエラーを出していないことを確認しよう。