Version 26 (modified by mitty, 12 years ago) (diff) |
---|
- BIND | Internet Systems Consortium host, digコマンドetc
- イベントログに「Microsoft.VC80.CRT」に関するSideBySideエラーが出て、正常に起動しない場合、次のパッケージを導入する
- Download: Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ MFC のセキュリティ更新プログラム - Microsoft Download Center - Download Details
view
- ISC BINDのViewの定義方法 — Eurotec Information Systems K.K. Web Site
- BINDのviewを用いた内部向けDNS構築メモ - Blog::koyhoge
- 一部だけ「view」は出来ない
/etc/bind/named.conf.local:29: when using 'view' statements, all zones must be in views
master/slave
- 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.
- digコマンドを使ったTSIG設定のテスト
$ man 1 dig
To sign the DNS queries sent by dig and their responses using transaction signatures (TSIG), specify a TSIG key file using the -k option. You can also specify the TSIG key itself on the command line using the -y option; hmac is the type of the TSIG, default HMAC-MD5, name is the name of the TSIG key and key is the actual key. The key is a base-64 encoded string, typically generated by dnssec-keygen(8).
- $ dig -y key_setting_name:"base64 strings of secret key" axfr target.domain @dns_master.server
- 「key_setting_name」は、named.confで「key "key_setting_name" { ... };」と設定したものを指定
- manにも書かれているが、コマンドラインに鍵の中身を直接書くことになるので、シェルのヒストリ等に気をつける
disable ipv6
- 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
- named (BIND9) のログの出力先を変更
logging { category "default" { "default_syslog"; }; channel "default_syslog" { syslog local6; severity info; }; };
- @IT:BIND 9の運用情報収集と分析方法(1/2)
DHCPとの連携
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
- 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"
- Linuxに使われる日々 : bindとdhcpとAppArmorの怪しい関係 - livedoor Blog(ブログ)
単に、セキュリティを弱めるだけなら /etc/apparmor.d/usr.sbin.named と言うファイルの中の /etc/bind/** r, に書き込み権限をつければよさそうですが、ファイルの中を見ると本来は /var/lib/bind /var/cache/bind のあたりにjnlファイルができるように設定するのが正解っぽいです。
- Linuxに使われる日々 : bindとdhcpとAppArmorの怪しい関係 - livedoor Blog(ブログ)
- => 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
- 正常にjournal fileが作られるようになる => /var/log/named.log
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
- 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アドレスによる制限は使わない方が良い。
- Howto setup DHCP Server and Dynamic DNS with BIND in Debian
- allow-update { key "rndc-key"; }; によるDDNS
security
- Kozupon.com - BINDのセキュリティ!
- KISS for Me : ぼりの雑記帳: Bind9 で再帰問い合わせが基本無効になっていた件 from Bind9.4.1-P1
- allow-query, allow-recursion の説明が分かりやすい
- allow-transfer(ゾーン転送、セカンダリDNSサーバ等を建てる際に使う)はデフォルトでanyになっているので、必ず制限してから運用すること!
- 再帰問い合わせを問答無用(LAN/WAN/localhost全て)で無効にするには以下のように設定するのが早い。
options { recursion no; };