More Related Content Similar to Unbound/NSD最新情報(OSC 2013 Tokyo/Spring) Similar to Unbound/NSD最新情報(OSC 2013 Tokyo/Spring) (20) More from Takashi Takizawa More from Takashi Takizawa (16) Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)2. 2
私は誰
• ⽒氏名: 滝澤 隆史 @ttkzw
• 所属: 株式会社ハートビーツ
▫ サーバの構築・運⽤用や
24時間365⽇日の有⼈人監視をやっている会社
▫ いわゆるMSP(マネージド サービス プロバイダ)
• DNSとの関わり
▫ システム管理理者として1997年年から2006年年までネームサー
バの運⽤用
– BIND4, BIND8, djbdns, BIND9
▫ 現在は個⼈人サーバでネームサーバを運⽤用
– NSD, Unbound
▫ ⽇日本Unboundユーザー会
– Unbound/NSDの⽂文書の翻訳
▫ DNSは趣味です(キリッ
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
4. 4
注意事項
• Unboundについての基本的な機能の説明はしま
せん。過去の資料料を⾒見見てください。
▫ http://unbound.jp/unbound/
• NSDについての話はInternet Week 2012の
DNS DAYで話した内容をベースとしています。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
7. 7
ユーザ会の主な活動
• ウェブサイトの公開
▫ http://unbound.jp/
• マニュアル等の翻訳
• Unboundだけでなく、ldnsとNSDについてもマ
ニュアルを翻訳して公開している(翻訳担当者
の趣味)
• 技術検証はほとんどできていない(やりたいん
だけどね)
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
10. 10
BIND 9以外のDNSサーバー
• BIND 10
▫ 2013年年2⽉月22⽇日 1.0.0リリース
– 権威サーバー
– リゾルバーとしての機能はまだ開発中
• NSD
▫ 権威サーバー
• Unbound
▫ フルサービスリゾルバー
• PowerDNS
• 他
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
13. 13
まずは脆弱性について
• CVEデータベースを"Unbound"で検索索した結果
▫ CVE-‐‑‒2012-‐‑‒1192
▫ CVE-‐‑‒2011-‐‑‒4869
▫ CVE-‐‑‒2011-‐‑‒4528
▫ CVE-‐‑‒2011-‐‑‒1922
▫ CVE-‐‑‒2010-‐‑‒0969
▫ CVE-‐‑‒2009-‐‑‒4008
▫ CVE-‐‑‒2009-‐‑‒3602
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
14. 14
DNSラウンドロビン
• イベントでよく聞いた話
▫ 「UnboundはDNSラウンドロビンを実装して
ないのですか?」
▫ 「Unboundはよいと思うんだけど、DNSラウ
ンドロビンがつかえないから採⽤用できない」
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
15. 15
DNSラウンドロビン
• 開発メーリングリストにおいてDNSラウンドロ
ビンの機能は却下され続けていた。
▫ 要望は初期の頃からあった。
▫ パッチの投稿もあった。
• メインの開発者のW.C.A. Wijngaardsさんは
DNSラウンドロビンを実装することにより重く
なることを嫌っていたような感じを受ける。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
17. 17
DNSラウンドロビン
• util/data/msgencode.cのpacked_̲rrset_̲encode()関数内の1⾏行行
▫ j = (i + rr_̲offset) % data-‐‑‒>count;
– j: レコードの順番
– i: 元の順番
– rr_̲offset: クエリーIDの数値
– data-‐‑‒>count: RRset内のレコード数
• クエリーIDをレコード数で割った剰りをオフセットとする
• クエリーID⾃自体はキャッシュポイズニング対策としてランダムに⽣生
成されるため、乱雑さの素をクエリーIDを使って再利利⽤用している。
• W.C.A. Wijngaardsさんのコメント
▫ Excellent! The patch is very small, and contains threadsafe
code. The queryID is a very good way to make the rrset
rotate, and removes my concern for speed.
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
18. 18
DNSラウンドロビン
• 「Unbound キャッシュ -‐‑‒ DNSサーバ⼤大規模⽤用
途向け機能の実装」
▫ DNS Summer Days 2012(2012年年8⽉月開
催)における東⼤大亮亮さんによる発表資料料
▫ http://dnsops.jp/event20120831.html
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
19. 19
minimal-‐‑‒responses
• 応答においてAUTHORITYセクションと
ADDITIONALセクションが必須で無い場合は省省
略略して応答サイズを⼩小さくする機能
▫ 実装者はrrset-‐‑‒roundrobinと同じく東さん
▫ 詳しくは東さんの「Unbound キャッシュ -‐‑‒
DNSサーバ⼤大規模⽤用途向け機能の実装」
• Unbound 1.4.7から利利⽤用可能
▫ デフォルト無効なので設定が必要
▫ rrset-‐‑‒roundrobin: yes
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
22. 22
tcp-‐‑‒upstream
• DNS over TCP的なもの
• Unbound 1.4.13から利利⽤用可能
• サーバ側Unboundの設定
server:
interface: 0.0.0.0@80
• クライアント側Unboundの設定
server:
tcp-upstream: yes
forward-zone:
name: "."
forward-addr: 192.0.2.1@80
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
23. 23
ssl-‐‑‒upstream, ssl-‐‑‒service-‐‑‒key,
ssl-‐‑‒service-‐‑‒pem, ssl-‐‑‒port
• DNS over SSL的なもの
• Unbound 1.4.14から利利⽤用可能
• サーバ側Unboundの設定
server:
interface: 0.0.0.0@443
server:
ssl-service-key: "/etc/unbound/unbound_server.key"
ssl-service-pem: "/etc/unbound/unbound_server.pem"
ssl-port: 443
• クライアント側Unboundの設定
server:
ssl-upstream: yes
forward-zone:
name: "."
forward-addr: 192.0.2.1@443
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
26. 26
NSDとは
• Name Server Daemon
▫ DNSのアナグラム?
• 権威ネームサーバ
▫ 権威ネームサーバのみの機能を提供
• オープンソース ソフトウェア
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
27. 27
NSDの開発元
• NLnet LabsとRIPE NCCの共同チームによる開
発
▫ NLnet Labs
– オランダにある研究開発機関
– 主にDNSとDNSSECについての調査研究お
よびソフトウェア開発をしている
– NSD, Unbound, drill, ldns, OpenDNSSEC
▫ RIPE NCC
– 欧州・中近東地域のRIR
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
28. 28
NSDのリリース
• NLnet Labsからリリース
▫ http://www.nlnetlabs.nl/projects/nsd/
• 最新版はNSD 3.2.15 (2013年年2⽉月4⽇日リリース)
• 次期バージョンNSD4を開発中
▫ http://www.nlnetlabs.nl/svn/nsd/trunk/
▫ 今⽇日の本題!
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
29. 29
NSDとルートサーバ
• ルートサーバの遺伝的多様性
▫ BINDに対するゼロ デイ アタックへの対策
• 2003年年2⽉月、RIPE NCCが運⽤用しているルート
サーバk.root-‐‑‒servers.netがBINDからNSDに切切
り替え
• 現在、H, K, LがNSDで運⽤用している
$ dig @h.root-servers.net. version.server. CH TXT +norec
(中略略)
;; ANSWER SECTION:
version.server. 0 CH TXT "NSD 3.2.14"
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
31. 31
性能
• Performance tests results on BIND9/NSD/
UNBOUND
▫ IEPG Meeting – November 2010 @ IETF
79
– http://iepg.org/2010-‐‑‒11-‐‑‒ietf79/
▫ Orange LabsのDaniel Migault⽒氏の発表
• Alternaive DNS Servers
▫ Jan-‐‑‒Piet Mens⽒氏の書籍
– http://jpmens.net/2010/10/29/
alternative-‐‑‒dns-‐‑‒servers-‐‑‒the-‐‑‒book-‐‑‒as-‐‑‒pdf/
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
32. 32
NSDの特徴
• 権威ネームサーバ
▫ 主要な機能は実装されている。
▫ 実装されていない機能
– IXFR(差分ゾーン転送)のマスター側機能
– Dynamic Update
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
33. 33
機能 (REQUIREMENTSより)
• サポートしている機能
▫ RFC 1995 (IXFR) (スレーブ側のみ)
▫ RFC 1996 (NOTIFY)
▫ RFC 2845 (TSIG)
▫ RFC 2672 (DNAME)
▫ RFC 4509 (SHA-‐‑‒256 DS)
▫ RFC 4635 (HMAC SHA TSIG)
▫ RFC 5001 (NSID)
▫ RFC 5155 (NSEC3)
▫ RFC 5702 (SHA-‐‑‒2)
▫ RFC 5936 (AXFR)
▫ RFC 6605 (ECDSA)
▫ draft-‐‑‒ietf-‐‑‒dane-‐‑‒protocol (DANE)
• サポートしてない機能
▫ RFC 2136 (Dynamic update)
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
34. 34
NSDの特徴
• リゾルバ機能無し
▫ ヒントファイルを持たない。
▫ 権威を持たないゾーンへのクエリーに対して
SERVFAILを返す。
– ヒントを持たないし、検索索もしないので
referralを返しようがない。
▫ NOTIFYの通知先やアクセス制御にゾーンの
SOAやNSを参照しない。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
36. 36
NSD3 における
ゾーンファイルとデータベース
ゾーンの更更新を反映させ nsd
るためには、ビルド後に (parent)
nsdのリロードが必要。
nsd (child)
nsd (child)
nsd
メモリ (childen)
nsdの起動時とリロード時に
DB
データベースをロードする。
ゾーン nsdc rebuild
ファイル (zonec) nsd.db ゾーンの
データベース
nsdはゾーン 事前にゾーンファイルをデータ
ファイルを直接 ベースにコンパイルする。
⾒見見ることは無い ⽂文法チェックも実施。
Intenet Week 2012 DNS DAY 2012-‐‑‒11-‐‑‒21
37. 37
NSDの特徴
• 設定ファイルがシンプル
▫ カスタマイズできる項⽬目が少ない。
▫ 設定ファイル
– /etc/nsd/nsd.conf
▫ 形式
– 属性名: 値
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
38. 38
設定例例(マスター)
server:
ip-address: 192.0.2.1
key:
name: tsig.example.jp
algorithm: hmac-sha1
secret: "lCzS3R+oAZJp607jZ36eKw=="
zone: NOTIFYによる通知先。
name: example.jp. スレーブのIPアドレスを明⽰示的に指定。
zonefile: example.jp.zone
notify: 192.0.2.2 NOKEY
provide-xfr: 192.0.2.2 tsig.example.jp
ゾーン転送要求に対するアクセス制御。
デフォルト拒否。
スレーブのIPアドレスを明⽰示的に指定。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
39. 39
設定例例(スレーブ)
server:
ip-address: 192.0.2.2
key:
name: tsig.example.jp
algorithm: hmac-sha1
secret: "lCzS3R+oAZJp607jZ36eKw=="
zone: NOTIFYの受信のアクセス制御。
マスターのIPアドレスを明⽰示的に指定。
name: example.jp.
zonefile: example.jp.zone
allow-notify: 192.0.2.1 NOKEY nsdc update⽤用
allow-notify: 127.0.0.1 NOKEY
request-xfr: AXFR 192.0.2.1 tsig.example.jp
ゾーン転送の要求先。
マスターのIPアドレスを明⽰示的に指定。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
41. 41
NSD3の課題・問題点
• 設定ファイルのリロード(再読み込み)ができ
ない。再起動が必要。
▫ 設定ファイルの変更更後には再起動が必要であ
る。
▫ 再起動(プロセスの停⽌止と起動)するとサー
ビスとしては瞬断が発⽣生する。
▫ ゾーンの追加や削除も設定ファイルの変更更で
あるため、再起動が必要になる。
• ゾーンファイルの更更新後にはリロード(プロセ
スの起動し直し)が必要。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
42. 42
NSD4のプログラム(4.0.0 beta4)
プログラム 説明
nsd デーモン
nsd-‐‑‒checkconf nsd.confをチェックするプログラム
nsd-‐‑‒control デーモンを制御するプログラム
nsd-‐‑‒control-‐‑‒setup nsd-‐‑‒control⽤用のプライベート鍵と公開鍵証明書を
作成するスクリプト
参考: Unboundの場合
nsdc, zonec, unbound
nsd-‐‑‒notify, nsd-‐‑‒patch, unbound-‐‑‒checkconf
nsd-‐‑‒xferコマンドの廃⽌止 unbound-‐‑‒control
unbound-‐‑‒control-‐‑‒setup
unbound-‐‑‒host
unbound-‐‑‒anchor
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
43. 43
$ ps axf
PID TTY STAT TIME COMMAND
アーキテクチャ
21953 ? Ss 0:00 nsd -c /etc/nsd/nsd.conf
21954 ? S 0:00 _ nsd -c /etc/nsd/nsd.conf
21955 ? S 0:00 _ nsd -c /etc/nsd/nsd.conf
21956 ? S 0:00 _ nsd -c /etc/nsd/nsd.conf
(nsd-‐‑‒controlからの)制御、
nsd (xfrd)
ゾーン転送の管理理
メモリDB
nsd (main) ⼦子プロセスの
管理理
UDB
nsd (child)
nsd (child)
xfrd. zone.
nsd.db
state list
クエリーの処理理
セカンダリゾーンの
ゾーン
refreshとexpireの
データベース
時間管理理
動的に追加された
ゾーンの⼀一覧 OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
44. 44
ゾーンファイルとデータベース
nsd (xfrd)
nsd (main)
メモリDB UDB
nsd (child)
nsd (child)
ゾーンの
データベース nsd.db データベースを
ロードする。
nsdはゾーンファイルを ゾーンファイルをデータ
コンパイル時にしか ゾーン ベースにコンパイルする。
扱わない。 ファイル ⽂文法チェックも実施。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
46. 46
nsd-‐‑‒controlのコマンド
(サーバーの制御)
コマンド 説明
start サーバー(nsd)を起動する。
stop サーバー(nsd)を停⽌止する。
reconfig 設定ファイルを再読み込みする。
repattern reconfigと同じ。
log_̲reopen (ログローテーションのために)ログファイルを開き直す。
status サーバーの状態を表⽰示する。
stats 統計情報を出⼒力力する。
stats_̲noreset 統計情報をリセットせずに出⼒力力する。
verbosity 数値 ログレベルを変更更する。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
47. 47
nsd-‐‑‒controlのコマンド
(ゾーンの制御)
コマンド 説明
reload [ゾーン] ディスクから変更更したゾーンファイルを再読み込
みする。
addzone ゾーン パターン パターン機能を使ったゾーンを追加する。
delzone ゾーン パターン機能を使ったゾーンを削除する。
write [ゾーン] ディスクにゾーンファイルを書き出す。
notify [ゾーン] NOTIFYメッセージをスレーブに送信する。
transfer [ゾーン] ゾーン転送を試みる。
force_̲transfer [ゾーン] シリアル値のチェック無しにAXFRでゾーン転送
を⾏行行い、スレーブのゾーンを更更新する。
zonestatus [ゾーン] ゾーンの状態、シリアル値を出⼒力力する。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
48. 48
設定ファイルのリロード
ゾーンの追加・削除
• NSD 3
▫ 設定ファイルのリロードができなかった。
▫ ゾーンの追加・削除をするにはnsdの再起動が必
要であった。
• NSD 4
▫ 設定ファイルのリロードが可能になった。
– nsd-‐‑‒control reconfig
▫ ゾーンの追加・削除でもnsdの再起動が不不要に
なった。
▫ ただし、リロードに伴い⼦子プロセスは起動し直し
になる。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
49. 49
ゾーンの更更新
• NSD 3
▫ ⼿手動でゾーンファイルをコンパイルする必要が
あった。
▫ ⼿手順
– nsdc rebuild
– nsdc reload
• NSD 4
▫ nsdにゾーンコンパイラーの機能が統合された
▫ ⼿手動でゾーンファイルをコンパイルする必要はな
くなった。
▫ ⼿手順
– nsd-‐‑‒control reload
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
50. 50
パターンを使った
動的なゾーンの追加・削除
• 動的にゾーンの追加・削除が可能
• 設定例例
ゾーンファイルの配置
pattern:
(マクロ%sを使える)
name: "masterzone"
zonefile: "zones/%s.zone"
notify: 192.0.2.1 NOKEY
provide-xfr: 192.0.2.1 tsig.masterzone
• コマンド例例
▫ nsd-control addzone example.jp masterzone
nsd-control delzone example.jp
• パターンの定義そのもののリロードも可能
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
51. 51
⾼高負荷への耐性
• libevent対応によるイベント駆動
▫ 元々それなりに処理理が速かったが、
▫ もっと速くなる
▫ ベンチマーク
– http://www.nlnetlabs.nl/downloads/
presentations/NSD_̲Update_̲OARC_̲2011SF.pdf
• 内部データベースの変更更
• Response Rate Limiting (RRL)対応
▫ NSD3でも3.2.15で対応
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
52. 52
NSD4のまとめ
• 特徴
▫ nsd-‐‑‒controlによる制御
▫ 再起動無しに設定やゾーンの更更新が可能
▫ パターンで動的にゾーンの追加・削除
▫ ⾼高負荷への耐性、RRL対応
• ⇒ ⼤大規模サイトでも利利⽤用できる
• NSD 4.0.0 beta4の状況
▫ 検証で動かしている範囲では何も問題ない。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
53. 53
参考⽂文書
• 公式サイト
▫ http://www.nlnetlabs.nl/projects/nsd/
• ドキュメントの邦訳(⽇日本Unboundユーザー会)
▫ http://unbound.jp/nsd/
• NSD3 an Authoritative Nameserver: Technical
▫ http://www.nlnetlabs.nl/downloads/presentations/
NSD_̲DenicTechnical.pdf
• Response Differences between NSD and other DNS Servers
▫ http://www.nlnetlabs.nl/downloads/nsd/differences.pdf
• NSD Evolution of a name server
▫ http://www.nlnetlabs.nl/downloads/presentations/
NSD_̲Update_̲OARC_̲2011SF.pdf
• nlnetlabs.nl :: Blog :: NSD4 Features
▫ http://www.nlnetlabs.nl/blog/2012/09/14/nsd4-‐‑‒features/
• nlnetlabs.nl :: Blog :: NSD Response Rate Limiting
▫ http://www.nlnetlabs.nl/blog/2012/10/11/nsd-‐‑‒ratelimit/
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
55. 55
準備
• 標準的なCの開発環境および次のライブラリおよび
そのヘッダファイルを事前にインストールする。
▫ openssl
▫ libevent (libevのlibeventラッパーも可)
• ダウンロードおよびハッシュ値の確認
$ wget http://nlnetlabs.nl/downloads/nsd/
nsd-4.0.0b4.tar.gz
$ sha256sum -b nsd-4.0.0b4.tar.gz
ed29019d6e8aface4c32e22c9968aa9688acf98f8356112c4ee8
9a923022cc2b *nsd-4.0.0b4.tar.gz
http://open.nlnetlabs.nl/pipermail/nsd-‐‑‒users/
2013-‐‑‒February/001613.html のSHA256と⼀一致
することを確認する。
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
56. 56
ビルドとインストール
$ tar xvzf nsd-4.0.0b4.tar.gz
$ cd nsd-4.0.0b4
$ ./configure --prefix=/usr/local
--enable-ratelimit
--with-configdir=/etc/nsd --with-zonesdir=/etc/nsd
--with-user=nsd --with-libevent --with-ssl
$ make
$ sudo make install
$ sudo cp /etc/nsd/nsd.conf.sample /etc/nsd/nsd.conf
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
57. 57
実⾏行行ユーザとグループの作成
およびディレクトリの権限変更更
$ sudo groupadd -r nsd
$ sudo useradd -r -d /etc/nsd -M -g nsd nsd
$ sudo chown nsd:nsd /usr/local/var/db/nsd
$ sudo chown nsd:nsd /etc/nsd
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
58. 58
nsd-‐‑‒control⽤用の
公開鍵証明書とプライベート鍵の作成
$ sudo /usr/local/sbin/nsd-control-setup
$ sudo chgrp nsd /etc/nsd/nsd_server.{pem,key}
$ sudo chgrp nsd /etc/nsd/nsd_control.{pem,key}
$ ls -l /etc/nsd/*.{pem,key}
-rw-r----- 1 root nsd 1277 Feb 9 20:04 nsd_control.key
-rw-r----- 1 root nsd 790 Feb 9 20:04 nsd_control.pem
-rw-r----- 1 root nsd 1281 Feb 9 20:04 nsd_server.key
-rw-r----- 1 root nsd 782 Feb 9 20:04 nsd_server.pem
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
60. 60
設定ファイルの編集
$ sudo vim /etc/nsd/nsd.conf
server:
ip-address:192.0.2.1
最⼩小限の設定例例
remote-control:
control-enable: yes
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
61. 61
nsdの起動
$ sudo nsd-control start
$ ps axf | grep [n]sd
23398 ? Ss 0:00 nsd -c /etc/nsd/nsd.conf
23399 ? S 0:00 _ nsd -c /etc/nsd/nsd.conf
23400 ? S 0:00 _ nsd -c /etc/nsd/nsd.conf
$ sudo nsd-control status
version: 4.0.0b4
verbosity: 0
$ dig @192.0.2.1 version.server. CH TXT
;; ANSWER SECTION:
version.server. 0 CH TXT "NSD 4.0.0b4"
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
62. 62
ゾーンファイルの配置とロード
(マスター側)
$ sudo mkdir /etc/nsd/primary
$ sudo vim /etc/nsd/primary/example.jp.zone
$ sudo vim /etc/nsd/nsd.conf ゾーンファイルの設置
key:
name: tsig.example.jp
algorithm: hmac-sha1
secret: "lCzS3R+oAZJp607jZ36eKw=="
zone:
name: example.jp.
zonefile: primary/example.jp.zone
notify: 192.0.2.2 NOKEY
provide-xfr: 192.0.2.2 tsig.example.jp
$ sudo nsd-control reconfig
設定ファイルの
再読み込み
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
63. 63
ゾーンファイルの配置とロード
(スレーブ側)
ゾーンファイル出⼒力力⽤用
$ sudo mkdir /etc/nsd/secondary のディレクトリの作成
$ sudo chown nsd:nsd /etc/nsd/secondary
$ sudo vim /etc/nsd/nsd.conf
key:
name: tsig.example.jp
algorithm: hmac-sha1
secret: "lCzS3R+oAZJp607jZ36eKw=="
zone:
name: example.jp.
zonefile: secondary/example.jp.zone
allow-notify: 192.0.2.1 NOKEY
request-xfr: AXFR 192.0.2.1 tsig.example.jp
$ sudo nsd-control reconfig
設定ファイルの
再読み込み
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
64. 64
ゾーンファイルの出⼒力力 ゾーンデータはデータベース
として保持しているため、
ゾーンファイルとして出⼒力力す
(スレーブ側) る必要はない点に注意。
$ sudo nsd-control zonestatus
zone: example.jp. ゾーンの状態の出⼒力力
state: ok
served-serial: "20130211 since 2013-02-11T14:33:07"
commit-serial: "20130211 since 2013-02-11T14:33:07"
$ ls -l /etc/nsd/secondary/
total 0
$ sudo nsd-control write
ok ゾーンファイルの出⼒力力
$ ls -l /etc/nsd/secondary/
total 4
-rw-r--r-- 1 nsd nsd 366 Feb 11 14:36 example.jp.zone
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
65. 65
パターンを利利⽤用する準備
(マスター側)
$ sudo mkdir /etc/nsd/primary
ゾーンファイル配置⽤用
$ /etc/nsd/nsd.conf のディレクトリの作成
key:
name: "master.key"
algorithm: hmac-sha1
secret: "lCzS3R+oAZJp607jZ36eKw=="
ゾーンファイルの配置
pattern: (マクロ%sを使える)
name: "master"
zonefile: "primary/%s.zone"
notify: 192.0.2.2 NOKEY
provide-xfr: 192.0.2.2 master.key
$ sudo nsd-control reconfig
設定ファイルの
再読み込み
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
66. 66
パターンを使った動的なゾーンの追加
(マスター側)
$ sudo vim /etc/nsd/primary/example.jp.zone
ゾーンファイルの設置
$ sudo nsd-control addzone example.jp master
sudo nsd-control zonestatus
zone: example.jp masterパターンを使って
example.jpゾーンを動的に
pattern: master
追加
state: master
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
67. 67
パターンの準備
(スレーブ側)
$ sudo mkdir /etc/nsd/secondary/
$ sudo chown nsd:nsd /etc/nsd/secondary
ゾーンファイル出⼒力力⽤用
$ sudo vim /etc/nsd/nsd.conf のディレクトリの作成
key:
name: "master.key"
algorithm: hmac-sha1
secret: "lCzS3R+oAZJp607jZ36eKw=="
pattern:
ゾーンファイルの出⼒力力先
name: "slave" (マクロ%sを使える)
zonefile: "secondary/%s.zone"
allow-notify: 192.0.2.1 NOKEY
request-xfr: AXFR 192.0.2.1 master.key
$ sudo nsd-control reconfig
設定ファイルの
再読み込み
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23
68. 68
パターンを使った動的なゾーンの追加
(スレーブ側)
$ sudo nsd-control addzone example.jp slave
slaveパターンを使って
example.jpゾーンを動的に
$ sudo nsd-control zonestatus
追加
zone: example.jp
pattern: slave
state: refreshing
served-serial: "20130211 since 2013-02-11T14:33:07"
commit-serial: "20130211 since 2013-02-11T14:33:07"
OSC 2013 Tokyo/Spring 2013-‐‑‒02-‐‑‒23