SlideShare a Scribd company logo
1 of 70
Download to read offline
1




オープンソースカンファレンス  2013  Tokyo/Spring

Unbound/NSD最新情報
滝澤  隆史
⽇日本Unboundユーザー会
    http://unbound.jp/




                                OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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
3




アジェンダ
•  DNSサーバの遺伝的多様性
•  Unboundの最新情報
•  NSDの概要
   ▫  NSD3の管理理運⽤用/仕様上の注意点
   ▫  次期バージョンNSD4
   ▫  おまけ:  NSD  4  beta4のインストール例例
   ▫  おまけ:  NSD  4  の操作例例



                              OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
4




注意事項
•  Unboundについての基本的な機能の説明はしま
   せん。過去の資料料を⾒見見てください。
   ▫  http://unbound.jp/unbound/
•  NSDについての話はInternet  Week  2012の
   DNS  DAYで話した内容をベースとしています。




                          OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
5




どうしてこうなった




            OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
6




⽇日本Unboundユーザ会
•  何となくノリで作った
•  なぜか公式(NLnet  Labs)公認
•  ユーザ会と名乗っている割にはコミュニティー
   として体をなしていない
•  ときどき協⼒力力してくださる⽅方がいるので助かっ
   ている




                     OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
7




ユーザ会の主な活動
•  ウェブサイトの公開
   ▫  http://unbound.jp/
•  マニュアル等の翻訳
•  Unboundだけでなく、ldnsとNSDについてもマ
   ニュアルを翻訳して公開している(翻訳担当者
   の趣味)
•  技術検証はほとんどできていない(やりたいん
   だけどね)


                       OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
8




OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
9



ソフトウェアとしての遺伝的多様性
•  BINDがデファクトスタンダード
•  Zero  Day  Attackがあると全滅
•  種を保存するためには遺伝的多様性が必要




                       OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
10




BIND  9以外のDNSサーバー
•  BIND  10
   ▫  2013年年2⽉月22⽇日  1.0.0リリース
      –  権威サーバー
      –  リゾルバーとしての機能はまだ開発中
•  NSD
   ▫  権威サーバー
•  Unbound
   ▫  フルサービスリゾルバー
•  PowerDNS
•  他
                           OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
11




ここ1,2年年のトピック




               OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
12




1.0.0のリリースからもうすぐ5年年
•  今年年の5⽉月で1.0.0正式リリースから5年年
   ▫  2008年年5⽉月20⽇日  Unbound  1.0.0
•  最初の開発リリースUnbound  0.0から6年年
   ▫  2007年年2⽉月19⽇日  Unbound  0.0




                               OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




DNSラウンドロビン
•  イベントでよく聞いた話
   ▫  「UnboundはDNSラウンドロビンを実装して
      ないのですか?」
   ▫  「Unboundはよいと思うんだけど、DNSラウ
      ンドロビンがつかえないから採⽤用できない」




                       OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
15




DNSラウンドロビン
•  開発メーリングリストにおいてDNSラウンドロ
   ビンの機能は却下され続けていた。
   ▫  要望は初期の頃からあった。
   ▫  パッチの投稿もあった。
•  メインの開発者のW.C.A.  Wijngaardsさんは
   DNSラウンドロビンを実装することにより重く
   なることを嫌っていたような感じを受ける。




                         OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
16




DNSラウンドロビン
•  2012年年4⽉月7⽇日に東⼤大亮亮さんがunbound-‐‑‒users
   メーリングリストにパッチを投稿し、コミット
   される。
•  Unbound  1.4.17で利利⽤用可能になった。
   ▫  デフォルト無効なので設定が必要
   ▫  rrset-‐‑‒roundrobin:  yes




                                OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




DNSラウンドロビン
•  「Unbound  キャッシュ  -‐‑‒  DNSサーバ⼤大規模⽤用
   途向け機能の実装」
   ▫  DNS  Summer  Days  2012(2012年年8⽉月開
      催)における東⼤大亮亮さんによる発表資料料
   ▫  http://dnsops.jp/event20120831.html




                                 OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
19




minimal-‐‑‒responses
•  応答においてAUTHORITYセクションと
   ADDITIONALセクションが必須で無い場合は省省
   略略して応答サイズを⼩小さくする機能
   ▫  実装者はrrset-‐‑‒roundrobinと同じく東さん
   ▫  詳しくは東さんの「Unbound  キャッシュ  -‐‑‒  
      DNSサーバ⼤大規模⽤用途向け機能の実装」
•  Unbound  1.4.7から利利⽤用可能
   ▫  デフォルト無効なので設定が必要
   ▫  rrset-‐‑‒roundrobin:  yes

                             OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
20


DNSSECの暗号・ハッシュアルゴリズ
ムのサポートの変更更
•  RSAMD5サポートの廃⽌止  (1.4.18,  1.4.19)
•  ECDSAサポートのデフォルト有効  (1.4.17)




                              OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
21




forward-‐‑‒first,  stub-‐‑‒first
•  forwardあるいはstubのクエリーに失敗したと
   きに、forwardあるいはstubなしにクエリーを
   試みる機能
•  Unbound  1.4.7から利利⽤用可能




                                 OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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


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
24




unbound-‐‑‒controlの機能強化
•  利利⽤用ポートを8953に変更更(IANAに登録)
   (1.4.11)
•  forward_̲add,  forward_̲remove,  stub_̲add,  
   stub_̲remove  (1.4.17)
•  flush_̲bogus  (1.4.18)
•  -‐‑‒q  (quite)オプション  (1.4.19)




                                      OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
25




OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
26




NSDとは
•  Name  Server  Daemon
   ▫  DNSのアナグラム?
•  権威ネームサーバ
   ▫  権威ネームサーバのみの機能を提供
•  オープンソース  ソフトウェア




                      OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




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




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
30




NSD3の脆弱性
•  全くないわけではないが少ない
•  2006年年5⽉月〜~現在(2012年年11⽉月)の6年年半
   ▫  2012年年7⽉月  CVE-‐‑‒2012-‐‑‒2979
   ▫  2012年年7⽉月  CVE-‐‑‒2012-‐‑‒2978
   ▫  2009年年5⽉月  CVE-‐‑‒2009-‐‑‒1755




                               OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




NSDの特徴
•  権威ネームサーバ
   ▫  主要な機能は実装されている。
   ▫  実装されていない機能
      –  IXFR(差分ゾーン転送)のマスター側機能
      –  Dynamic  Update




                         OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




NSDの特徴
•  リゾルバ機能無し
   ▫  ヒントファイルを持たない。
   ▫  権威を持たないゾーンへのクエリーに対して
      SERVFAILを返す。
      –  ヒントを持たないし、検索索もしないので
          referralを返しようがない。
   ▫  NOTIFYの通知先やアクセス制御にゾーンの
      SOAやNSを参照しない。


                       OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
35




NSDの特徴
•  静的なメモリデータベースを利利⽤用
   ▫  予めゾーンファイルをコンパイルしてデータ
      ベースファイルを作成
   ▫  NSDのプロセスが起動時にデータベースをメ
      モリに読み込む




                     OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




NSDの特徴
•  設定ファイルがシンプル
   ▫  カスタマイズできる項⽬目が少ない。
   ▫  設定ファイル
      –  /etc/nsd/nsd.conf
   ▫  形式
      –  属性名:  値




                          OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




設定例例(スレーブ)
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
40




2013年年2⽉月時点での情報です。
nsd  4.0.0  beta  4で評価を⾏行行っています。
将来、仕様や実装が変わる可能性がありますのでご了了承くださ
い。




                         OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
41




NSD3の課題・問題点
•  設定ファイルのリロード(再読み込み)ができ
   ない。再起動が必要。
   ▫  設定ファイルの変更更後には再起動が必要であ
      る。
   ▫  再起動(プロセスの停⽌止と起動)するとサー
      ビスとしては瞬断が発⽣生する。
   ▫  ゾーンの追加や削除も設定ファイルの変更更で
      あるため、再起動が必要になる。
•  ゾーンファイルの更更新後にはリロード(プロセ
   スの起動し直し)が必要。

                     OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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

                                $ 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




ゾーンファイルとデータベース
                        nsd  (xfrd)



                                  nsd  (main)
      メモリDB     UDB
                                                  nsd  (child)
                                                   nsd  (child)
      ゾーンの
     データベース    nsd.db          データベースを
                                ロードする。


nsdはゾーンファイルを               ゾーンファイルをデータ
 コンパイル時にしか     ゾーン         ベースにコンパイルする。
     扱わない。     ファイル         ⽂文法チェックも実施。
                                      OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
45




nsd-‐‑‒controlによる制御
•  unbound-‐‑‒controlのNSD版
   ▫  TCP  8952番ポート
   ▫  TLSによる通信の暗号化
   ▫  nsd-‐‑‒control-‐‑‒setupスクリプトによるプライ
      ベート鍵と公開鍵証明書の作成




                                 OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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


nsd-‐‑‒controlのコマンド
(ゾーンの制御)
コマンド                     説明
reload  [ゾーン]            ディスクから変更更したゾーンファイルを再読み込
                         みする。
addzone  ゾーン  パターン       パターン機能を使ったゾーンを追加する。
delzone  ゾーン             パターン機能を使ったゾーンを削除する。
write  [ゾーン]             ディスクにゾーンファイルを書き出す。
notify  [ゾーン]            NOTIFYメッセージをスレーブに送信する。
transfer  [ゾーン]          ゾーン転送を試みる。
force_̲transfer  [ゾーン]   シリアル値のチェック無しにAXFRでゾーン転送
                         を⾏行行い、スレーブのゾーンを更更新する。
zonestatus  [ゾーン]        ゾーンの状態、シリアル値を出⼒力力する。



                                         OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
48


設定ファイルのリロード
ゾーンの追加・削除
•  NSD  3
   ▫  設定ファイルのリロードができなかった。
   ▫  ゾーンの追加・削除をするにはnsdの再起動が必
      要であった。
•  NSD  4
   ▫  設定ファイルのリロードが可能になった。
      –  nsd-‐‑‒control  reconfig
   ▫  ゾーンの追加・削除でもnsdの再起動が不不要に
      なった。
   ▫  ただし、リロードに伴い⼦子プロセスは起動し直し
      になる。

                          OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
49




ゾーンの更更新
•  NSD  3
   ▫  ⼿手動でゾーンファイルをコンパイルする必要が
      あった。
   ▫  ⼿手順
      –  nsdc  rebuild
      –  nsdc  reload
•  NSD  4
   ▫  nsdにゾーンコンパイラーの機能が統合された
   ▫  ⼿手動でゾーンファイルをコンパイルする必要はな
      くなった。
   ▫  ⼿手順
      –  nsd-‐‑‒control  reload

                         OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




⾼高負荷への耐性
•  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




NSD4のまとめ
•  特徴
   ▫  nsd-‐‑‒controlによる制御
   ▫  再起動無しに設定やゾーンの更更新が可能
   ▫  パターンで動的にゾーンの追加・削除
   ▫  ⾼高負荷への耐性、RRL対応
•  ⇒  ⼤大規模サイトでも利利⽤用できる
•  NSD  4.0.0  beta4の状況
   ▫  検証で動かしている範囲では何も問題ない。


                     OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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
54




Ubuntu  12.04.1  TLSにインストールする例例を紹介します。




                               OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




ビルドとインストール
$ 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


実⾏行行ユーザとグループの作成
およびディレクトリの権限変更更
$   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


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
59




NSD  4を設定して操作する例例を紹介します。




                           OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
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




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


ゾーンファイルの配置とロード
(マスター側)
$ 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


ゾーンファイルの配置とロード
(スレーブ側)
                                         ゾーンファイル出⼒力力⽤用
$ 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


ゾーンファイルの出⼒力力                           ゾーンデータはデータベース
                                        として保持しているため、
                                       ゾーンファイルとして出⼒力力す
(スレーブ側)                                  る必要はない点に注意。

$ 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


パターンを利利⽤用する準備
(マスター側)
$ 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


パターンを使った動的なゾーンの追加
(マスター側)
$ 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


パターンの準備
(スレーブ側)
$ 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


パターンを使った動的なゾーンの追加
(スレーブ側)
$ 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
69




ゾーンの更更新
$ sudo nsd-control reload




                            OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23
70




OSC  2013  Tokyo/Spring   2013-‐‑‒02-‐‑‒23

More Related Content

What's hot

VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...ksk_ha
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Takashi Takizawa
 
並行実行制御の最適化手法
並行実行制御の最適化手法並行実行制御の最適化手法
並行実行制御の最適化手法Sho Nakazono
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...NTT DATA Technology & Innovation
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
Isolation Level について
Isolation Level についてIsolation Level について
Isolation Level についてTakashi Hoshino
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方wata2ki
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2Takashi Hoshino
 
MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較Shinya Sugiyama
 
dm-writeboost-kernelvm
dm-writeboost-kernelvmdm-writeboost-kernelvm
dm-writeboost-kernelvmAkira Hayakawa
 
rsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみよう
rsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみようrsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみよう
rsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみようKen Sawada
 
4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 34章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3mao999
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザインMasayuki Kobayashi
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみたKazuto Kusama
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 

What's hot (20)

VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
 
並行実行制御の最適化手法
並行実行制御の最適化手法並行実行制御の最適化手法
並行実行制御の最適化手法
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
Isolation Level について
Isolation Level についてIsolation Level について
Isolation Level について
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
 
MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較
 
dm-writeboost-kernelvm
dm-writeboost-kernelvmdm-writeboost-kernelvm
dm-writeboost-kernelvm
 
rsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみよう
rsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみようrsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみよう
rsyncやシェルでバックアップするよりも簡単にOSSのBaculaでバックアップしてみよう
 
4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 34章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみた
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
実践QBVH
実践QBVH実践QBVH
実践QBVH
 

Similar to Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)

UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Takashi Takizawa
 
node.js 開発のためのお手軽サーバ構築について(仮)
node.js 開発のためのお手軽サーバ構築について(仮)node.js 開発のためのお手軽サーバ構築について(仮)
node.js 開発のためのお手軽サーバ構築について(仮)Toru Tamura
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観Yamato Tanaka
 
僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application祐樹 夏目
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStackAkihiro Motoki
 
【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDS【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDSYuki Kanazawa
 
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)Masahiro Tsuji
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用Developers Summit
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介Akira Matsuda
 
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用Koichi HARUNA
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - Makoto SAKAI
 
Learning spaerk chapter03
Learning spaerk chapter03Learning spaerk chapter03
Learning spaerk chapter03Akimitsu Takagi
 
無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々Toshi Harada
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?Makoto SAKAI
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性Hirofumi Ichihara
 

Similar to Unbound/NSD最新情報(OSC 2013 Tokyo/Spring) (20)

UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
 
node.js 開発のためのお手軽サーバ構築について(仮)
node.js 開発のためのお手軽サーバ構築について(仮)node.js 開発のためのお手軽サーバ構築について(仮)
node.js 開発のためのお手軽サーバ構築について(仮)
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack
 
【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDS【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDS
 
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介
 
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
 
nginxの紹介
nginxの紹介nginxの紹介
nginxの紹介
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
 
Learning spaerk chapter03
Learning spaerk chapter03Learning spaerk chapter03
Learning spaerk chapter03
 
無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
 

More from Takashi Takizawa

DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)Takashi Takizawa
 
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料Takashi Takizawa
 
BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)Takashi Takizawa
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -Takashi Takizawa
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)Takashi Takizawa
 
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)Takashi Takizawa
 
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証Takashi Takizawa
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門Takashi Takizawa
 
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史Takashi Takizawa
 
hbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassinhbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassinTakashi Takizawa
 

More from Takashi Takizawa (16)

DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)
 
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料
 
BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)
 
nginx入門
nginx入門nginx入門
nginx入門
 
RFCについての復習
RFCについての復習RFCについての復習
RFCについての復習
 
DNS RFC系統図
DNS RFC系統図DNS RFC系統図
DNS RFC系統図
 
DNSのRFCの歩き方
DNSのRFCの歩き方DNSのRFCの歩き方
DNSのRFCの歩き方
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)
 
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
 
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
 
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史
 
DNS再入門
DNS再入門DNS再入門
DNS再入門
 
hbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassinhbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassin
 

Recently uploaded

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)

  • 1. 1 オープンソースカンファレンス  2013  Tokyo/Spring Unbound/NSD最新情報 滝澤  隆史 ⽇日本Unboundユーザー会    http://unbound.jp/ OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 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
  • 3. 3 アジェンダ •  DNSサーバの遺伝的多様性 •  Unboundの最新情報 •  NSDの概要 ▫  NSD3の管理理運⽤用/仕様上の注意点 ▫  次期バージョンNSD4 ▫  おまけ:  NSD  4  beta4のインストール例例 ▫  おまけ:  NSD  4  の操作例例 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
  • 5. 5 どうしてこうなった OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 6. 6 ⽇日本Unboundユーザ会 •  何となくノリで作った •  なぜか公式(NLnet  Labs)公認 •  ユーザ会と名乗っている割にはコミュニティー として体をなしていない •  ときどき協⼒力力してくださる⽅方がいるので助かっ ている OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 7. 7 ユーザ会の主な活動 •  ウェブサイトの公開 ▫  http://unbound.jp/ •  マニュアル等の翻訳 •  Unboundだけでなく、ldnsとNSDについてもマ ニュアルを翻訳して公開している(翻訳担当者 の趣味) •  技術検証はほとんどできていない(やりたいん だけどね) OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 8. 8 OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 9. 9 ソフトウェアとしての遺伝的多様性 •  BINDがデファクトスタンダード •  Zero  Day  Attackがあると全滅 •  種を保存するためには遺伝的多様性が必要 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
  • 11. 11 ここ1,2年年のトピック OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 12. 12 1.0.0のリリースからもうすぐ5年年 •  今年年の5⽉月で1.0.0正式リリースから5年年 ▫  2008年年5⽉月20⽇日  Unbound  1.0.0 •  最初の開発リリースUnbound  0.0から6年年 ▫  2007年年2⽉月19⽇日  Unbound  0.0 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
  • 16. 16 DNSラウンドロビン •  2012年年4⽉月7⽇日に東⼤大亮亮さんがunbound-‐‑‒users メーリングリストにパッチを投稿し、コミット される。 •  Unbound  1.4.17で利利⽤用可能になった。 ▫  デフォルト無効なので設定が必要 ▫  rrset-‐‑‒roundrobin:  yes 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
  • 20. 20 DNSSECの暗号・ハッシュアルゴリズ ムのサポートの変更更 •  RSAMD5サポートの廃⽌止  (1.4.18,  1.4.19) •  ECDSAサポートのデフォルト有効  (1.4.17) OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 21. 21 forward-‐‑‒first,  stub-‐‑‒first •  forwardあるいはstubのクエリーに失敗したと きに、forwardあるいはstubなしにクエリーを 試みる機能 •  Unbound  1.4.7から利利⽤用可能 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
  • 24. 24 unbound-‐‑‒controlの機能強化 •  利利⽤用ポートを8953に変更更(IANAに登録) (1.4.11) •  forward_̲add,  forward_̲remove,  stub_̲add,   stub_̲remove  (1.4.17) •  flush_̲bogus  (1.4.18) •  -‐‑‒q  (quite)オプション  (1.4.19) OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 25. 25 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
  • 30. 30 NSD3の脆弱性 •  全くないわけではないが少ない •  2006年年5⽉月〜~現在(2012年年11⽉月)の6年年半 ▫  2012年年7⽉月  CVE-‐‑‒2012-‐‑‒2979 ▫  2012年年7⽉月  CVE-‐‑‒2012-‐‑‒2978 ▫  2009年年5⽉月  CVE-‐‑‒2009-‐‑‒1755 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
  • 35. 35 NSDの特徴 •  静的なメモリデータベースを利利⽤用 ▫  予めゾーンファイルをコンパイルしてデータ ベースファイルを作成 ▫  NSDのプロセスが起動時にデータベースをメ モリに読み込む 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
  • 40. 40 2013年年2⽉月時点での情報です。 nsd  4.0.0  beta  4で評価を⾏行行っています。 将来、仕様や実装が変わる可能性がありますのでご了了承くださ い。 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
  • 45. 45 nsd-‐‑‒controlによる制御 •  unbound-‐‑‒controlのNSD版 ▫  TCP  8952番ポート ▫  TLSによる通信の暗号化 ▫  nsd-‐‑‒control-‐‑‒setupスクリプトによるプライ ベート鍵と公開鍵証明書の作成 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
  • 54. 54 Ubuntu  12.04.1  TLSにインストールする例例を紹介します。 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
  • 59. 59 NSD  4を設定して操作する例例を紹介します。 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
  • 69. 69 ゾーンの更更新 $ sudo nsd-control reload OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23
  • 70. 70 OSC  2013  Tokyo/Spring 2013-‐‑‒02-‐‑‒23