[[PageOutline]] * [http://www.e-ontap.com/dns/whatdnsisnot.html What DNS Is Not] * via twitter:lef/status/52342101928710144 * [http://www.e-ontap.com/dns/health/ DNS Health Checker] * [http://www.nina.jp/server/redhat/bind/named.conf.html named.conf の設定] * [http://henoheno.ath.cx/blog/2010/09/16/108/ DNS、BINDの設定(jpドメイン with VALUE DOMAIN) | へのへのぶろぐ] * [http://www.bsddiary.net/doc/bind9.html bind9 設定] = view = * [http://www.eis.co.jp/techinfo/tb00001.html ISC BINDのViewの定義方法 — Eurotec Information Systems K.K. Web Site] * [http://d.hatena.ne.jp/koyhoge/20101213/internal_dns BINDのviewを用いた内部向けDNS構築メモ - Blog::koyhoge] * 一部だけ「view」は出来ない {{{ /etc/bind/named.conf.local:29: when using 'view' statements, all zones must be in views }}} = master/slave= * [http://www.atmarkit.co.jp/flinux/rensai/bind905/bind905a.html @IT:スレーブ・サーバのゾーン転送とセキュリティ(1/3)] * [http://www.kkdlabs.jp/dns/nsd3/tsig-prepare.html prepare to use TSIG] * [http://asagiri.dyndns.biz/wiki/index.php?Installmemo%2FBIND Installmemo/BIND - kailas.asm] * [https://www.isc.org/faq/item/182 My slave server for both an internal and an external view has both views transferred from the same master view - how to resolve? | Internet Systems Consortium] > * BIND 9.3 and later: Use TSIG to select the appropriate view. > * Before BIND 9.3: You will need to give the master and slave multiple IP addresses and use those to make sure you reach the correct view on the other machine. = disable ipv6 = * [http://www.chanon.net/mt_izumi/2009/05/bind9ipv6.html BIND9のIPV6絡みで発生するエラーと遅延の解決方法 - 知識の泉ちゃん] * 具体的には、以下のようにnamed起動時のオプションに「-4」を指定します。 * man named {{{ -4 Use IPv4 only even if the host machine is capable of IPv6. -4 and -6 are mutually exclusive. }}} * Ubuntu => /etc/default/bind9 = logging = * [http://www.freewheelburning.com/linux/namedlog.html named (BIND9) のログの出力先を変更] {{{ logging { category "default" { "default_syslog"; }; channel "default_syslog" { syslog local6; severity info; }; }; }}} * [http://www.atmarkit.co.jp/flinux/rensai/bind910/bind910a.html @IT:BIND 9の運用情報収集と分析方法(1/2)] = DHCPとの連携 = * [http://www.atmarkit.co.jp/flinux/rensai/bind04/bind04.html BINDでDynamic DNS環境構築] * [http://blog.livedoor.jp/leaf_hiro/archives/51094495.html Linuxに使われる日々 : ubuntuのルータ化~その後~ - livedoor Blog(ブログ)] == journal file error == * /var/log/named.log {{{ Nov 8 09:57:43 iqus named[22728]: journal file /etc/bind/db.local.mitty.jp.jnl does not exist, creating it Nov 8 09:57:43 iqus named[22728]: /etc/bind/db.local.mitty.jp.jnl: create: permission denied Nov 8 09:57:43 iqus named[22728]: client 192.168.0.254#47526: updating zone 'local.mitty.jp/IN': error: journal open failed: unexpected error }}} * see [http://on-o.com/page/diary/20070409.html わんこ日記(2007-04-09)] * ls -ld /etc/bind {{{ drwxr-sr-x 3 root bind 4096 2009-11-07 21:05 /etc/bind }}} * sudo chmod g+w /etc/bind * これではエラーが回避できず * /var/log/syslog {{{ Nov 8 23:28:29 iqus kernel: [312571.679444] audit(1257690509.463:10): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/etc/bind/db.local.mitty.jp.jnl" pid=30150 profile="/usr/sbin/named" namespace="default" }}} * [http://blog.livedoor.jp/leaf_hiro/archives/51195600.html Linuxに使われる日々 : bindとdhcpとAppArmorの怪しい関係 - livedoor Blog(ブログ)] {{{ 単に、セキュリティを弱めるだけなら /etc/apparmor.d/usr.sbin.named と言うファイルの中の /etc/bind/** r, に書き込み権限をつければよさそうですが、ファイルの中を見ると本来は /var/lib/bind /var/cache/bind のあたりにjnlファイルができるように設定するのが正解っぽいです。 }}} * => vim /etc/bind/named.conf.local {{{ + journal "/var/cache/bind/db.XXX.XXX.XXX.jnl"; }}} * 正常にjournal fileが作られるようになる => /var/log/named.log {{{ Nov 8 23:53:03 iqus named[30562]: client 192.168.0.254#56809: updating zone 'XXXXXX.mitty.jp/IN': adding an RR at 'centos-vmserver.XXXXXX.mitty.jp' A Nov 8 23:53:03 iqus named[30562]: client 192.168.0.254#56809: updating zone 'XXXXXX.mitty.jp/IN': adding an RR at 'centos-vmserver.XXXXXX.mitty.jp' TXT Nov 8 23:53:03 iqus named[30562]: journal file /var/cache/bind/db.XXX.YYY.ZZZ.jnl does not exist, creating it Nov 8 23:53:03 iqus named[30562]: client 192.168.0.254#53532: updating zone '0.168.192.in-addr.arpa/IN': deleting rrset at 'XYZ.0.168.192.in-addr.arpa' PTR Nov 8 23:53:03 iqus named[30562]: client 192.168.0.254#53532: updating zone '0.168.192.in-addr.arpa/IN': adding an RR at 'XYZ.0.168.192.in-addr.arpa' PTR Nov 8 23:53:03 iqus named[30562]: journal file /var/cache/bind/db.AAA.BBB.CCC.jnl does not exist, creating it }}} == dumping master file error == * 別のエラーが出るようになった {{{ Nov 9 00:05:23 iqus named[30562]: dumping master file: /etc/bind/tmp-FGx045qweZ: open: permission denied Nov 9 00:05:26 iqus named[30562]: dumping master file: /etc/bind/tmp-CvcG3F8k3Y: open: permission denied Nov 9 00:19:31 iqus named[30562]: dumping master file: /etc/bind/tmp-bMgPQWQEjV: open: permission denied Nov 9 00:19:36 iqus named[30562]: dumping master file: /etc/bind/tmp-iPDZvphXag: open: permission denied }}} * named.conf.local内ではzone fileを相対パスで指定し、zone file自体は/var/cache/bind/*に置くように変更する * named.conf.optionsで「directory "/var/cache/bind";」と指定されている * [#journalfileerror]のエラーも同時に(根源的に)解決出来る * => vim /etc/bind/named.conf.local {{{#!diff - file "/etc/bind/db.XXX.XXX.XXX"; + file "db.XXX.XXX.XXX"; allow-update { 127.0.0.1; XXX.XXX.XXX.0/24; }; - journal "/var/cache/bind/db.XXX.XXX.XXX.jnl"; }}} == zone -> allow-update (DDNS) == * DHCPdとBINDが同じサーバで動いている場合 * ~~127.0.0.1;~~ * そのサーバのIPを指定すれば良い模様 * もっとも、 http://ftp.isc.org/isc/bind9/cur/9.7/doc/arm/Bv9ARM.pdf で「allow-update」について「Note that allowing updates based on the requestor’s IP address is insecure; see Section 7.3 for details.」とあるように、IPアドレスによる制限は使わない方が良い。 = security = * [http://www.kozupon.com/bind/bind2.html Kozupon.com - BINDのセキュリティ!] * [http://vori-misc.blogspot.com/2008/02/bind9-from-bind941-p1.html KISS for Me : ぼりの雑記帳: Bind9 で再帰問い合わせが基本無効になっていた件 from Bind9.4.1-P1] * allow-query, allow-recursion の説明が分かりやすい * allow-transfer(ゾーン転送、セカンダリDNSサーバ等を建てる際に使う)はデフォルトで'''any'''になっているので、必ず制限してから運用すること! * 再帰問い合わせを問答無用(LAN/WAN/localhost全て)で無効にするには以下のように設定するのが早い。 {{{ options { recursion no; }; }}} * [http://www.atmarkit.co.jp/fnetwork/rensai/dnssec01/01.html 脅かされるDNSの安全性(1/2) - @IT]