zone:セクションでstorage:というパラメータを使うと
file: /etc/knot/primary/example1.jp.zone
の部分を
storage: /etc/knot/primary
file: example1.jp.zone
と書き換えることができ、さらにfile:のデフォルト値はゾーン名.zoneなので、ここでの命名則だとfile:パラメータが省略でき
storage: /etc/knot/primary
だけになります。
template:セクションでテンプレートを定義すると
server: listen: [0.0.0.0, ::] user: knottemplate: - id: Primary storage: /etc/knot/primaryzone: - domain: example1.jptemplate: Primary- domain: example2.jptemplate: Primary
のように複数のゾーンに共通する定義をくくり出すことができます。この例ではPrimaryという名前で定義したテンプレートの内容はstorage:だけなので面白味がなく、却って行数が増えてしまっていますが、zone:セクションに書けるパラメータは、template:以外何でも書けます。
この内容のknot.confを読み込ませてみましょう。
$ /usr/sbin/knotc reload
Reloaded
2018-08-21T20:10:08 info: control, received command 'reload'
2018-08-21T20:10:08 info: reloading configuration file '/etc/knot/knot.conf'
2018-08-21T20:10:08 info: configuration reloaded
でもいいんですが、念の為に再起動してみます。
$ /usr/sbin/knotc stop
Stopped
2018-08-21T20:11:50 info: control, received command 'stop'
2018-08-21T20:11:50 info: stopping server
2018-08-21T20:11:50 info: updating zone timers database
2018-08-21T20:11:50 info: shutting down
$ /usr/bin/sudo /usr/sbin/knotd -v
2018-08-21T20:12:55 debug: config '/etc/knot/knot.conf'
2018-08-21T20:12:55 info: Knot DNS 2.4.0 starting
2018-08-21T20:12:55 info: binding to interface '0.0.0.0@53'
2018-08-21T20:12:55 info: binding to interface '::@53'
2018-08-21T20:12:55 info: changing UID to '112'
2018-08-21T20:12:55 info: loading 2 zones
2018-08-21T20:12:55 info: [example1.jp.] zone will be loaded, serial none
2018-08-21T20:12:55 info: [example2.jp.] zone will be loaded, serial none
2018-08-21T20:12:55 info: starting server
2018-08-21T20:12:55 info: [example1.jp.] loaded, serial 1
2018-08-21T20:12:55 info: [example2.jp.] loaded, serial 1
2018-08-21T20:12:55 info: server started in the foreground, PID 1623
2018-08-21T20:12:55 info: control, binding to '/run/knot/knot.sock'
エラーなく先ほどと同じよう起動して、example1.jp、example2.jpのそれぞれのゾーンデータを読み込んでいることがわかります。
Last update: $Date: 2018-10-21 16:09:48 +0900 (Sun, 21 Oct 2018) $