トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

てっとりばやくNSD

てっとりばやく、NSD。忘れる自分むけ。

まずは、nsd.confのmanに例が載っているのでそれを読め。たいていはそれでおけ。

あとは、最初にインストールされる、nsd.confのサンプルのコメントでじゅうぶん。

nsd.confのゾーンの書き方

 master

   zone:
           name: "example.jp"
           zonefile: "example.jp"

これだけ。slaveがいる時は、

   zone:
           name: "example.jp"
           zonefile: "example.jp"
           provide-xfr: 10.0.1.2 NOKEY
           notify: 10.0.1.2 NOKEY

と、書く。"NOKEY" はいる。(10.0.1.2はスレーブサーバのIPアドレス。)

どっからでもゾーン転送を許可しないといけない(組織内DNSサーバとかの)場合の、povide-xfrの書き方は、manを見よう。ちゃんと書いてある。

TSIGするときは、

   key:
           name: "tsig.example.jp"
           algorithm: hmac-md5
           secret: "9xxXXX9X9xXXXXxXx9XX+XxxxX9xXxXXxXXXxxxX9xx="
   
   zone:
           name: "example.jp"
           zonefile: "example.jp"
           provide-xfr: 10.0.1.2 tsig.example.jp
           notify: 10.0.1.2 NOKEY

とか書く。

TSIGの鍵はnkfをインストールして、

 dd if=/dev/random count=1 bs=32|nkf -MB;echo

などとすると、よい。

 slave

   zone:
           name: "example.jp"
           zonefile: "example.jp.slave"
           allow-notify: 10.0.1.1 NOKEY
           request-xfr: 10.0.1.1 NOKEY

などと書く。

TSIGするときは、

   key:
           name: "tsig.example.jp"
           algorithm: hmac-md5
           secret: "0XxXxxXXxxX0XXx0x0X0Xxx+xx00XxxxXXXXXxXXxXX="
   
   zone:
           name: "example.jp"
           zonefile: "example.jp.slave"
           allow-notify: 10.0.1.1 NOKEY
           request-xfr: 10.0.1.1 tsig.example.jp

などと書く。

その他

 NetBSDなめも [2014/6/23]

pkgsrcからNSD(net/nsd)を入れると、syslogにエラーがちまちま出る。直しとく。

  • /var/runのpidファイルが消せないと言っているので、/var/run/nsd 以下になるようにする。
    • mkdir /var/run/nsd
    • chgrp nsd /var/run/nsd
    • chmod g+w /var/run/nsd
    • nsd.confの設定(pidfile)を直しておくこと
    • 起動スクリプトのpidファイルの指定もなおしておくこと
    • 起動スクリプトで/var/run/nsdを作るようにしておくこと
  • /var/nsd/nsd.db と /var/nsd/nsd-xfrd.state をnsdユーザの権限でもつくろうとする。当然作れない。/var/db/nsd 以下になるようにする。
    • mkdir /var/db/nsd
    • chown nsd:nsd /var/db/nsd
    • nsd.confの設定(databaseとxfrdfile)を直しておくこと

nsd-controlについて

  • nsd-controlは最初にnsd-control-setupしないと使えない。(忘れる。)
  • nsd.confのcontrol-enableをyesにする。(それ以外はいじらなくてもおけ。)

/etc/rc.d/nsdの修正例。

--- /usr/pkg/share/examples/rc.d/nsd	2014-06-23 07:56:30.000000000 +0900
+++ /etc/rc.d/nsd	2014-06-29 11:34:44.000000000 +0900
@@ -12,9 +12,19 @@
 rcvar=${name}
 
 command=/usr/pkg/sbin/${name}
-pidfile=/var/run/${name}.pid
+pidfile=/var/run/${name}/${name}.pid
+start_precmd="nsd_precmd"
 
 nsd_flags=${nsd_flags:-""}
 
+nsd_precmd()
+{
+	if [ ! -d /var/run/${name} ]; then
+	    mkdir /var/run/${name} >/dev/null 2>&1
+	    chgrp nsd /var/run/${name} >/dev/null 2>&1
+	    chmod g+w /var/run/${name} >/dev/null 2>&1
+	fi
+}
+
 load_rc_config ${name}
 run_rc_command "$1"

あとは、nsdをインストールした時に出る、MESSAGEをよく読むこと。(旧Ver.からの移行者むけの情報、たとえば、nsdc patchをcronに書いてるのを消してねとか書いてあるよ。)

間違いの指摘や、ご意見などは、FrontPageにある連絡先にメールを下さるとうれしいです。

最終更新時間:2014年08月16日 12時44分13秒