2015年12月04日

NSDをSlaveにするとき問題になること

この記事はDNS Advent Calendar 2015 - Qiitaの4日目の記事です。

NSDというのはNLnet Labsというところが開発しているDNSサーバ(権威サーバ専用)です。
ちなみに全く触れてませんでしたがUnboundもNLnet Labsが開発しています。
http://www.nlnetlabs.nl/projects/nsd/
http://www.nlnetlabs.nl/projects/unbound/

NSDというのはBIND9よりもシンプルな実装で脆弱性も少なく高速!
というのがよく言われるアピールポイントなわけですが、
これをスレーブサーバにしようとするとちょっと問題がありまして。

NSDのゾーン転送って、シリアルをチェックしてないんですよ。
BIND9とかだと、ゾーンのシリアルをチェックして
・新しくなっていれば転送
・変更がなければ転送しない
という動きになるんですが

NSDの場合
・シリアル見ないから毎回マスターサーバのゾーンを全部とってくる
という挙動になるのです。

ゾーン数がそれほど多くなければまぁいいかなとも思うんですが
NSD使うかどうか検討してたとき、僕が管理してたDNSサーバ、
ゾーンが約7000あったんですね。
「うーんこりゃきついなー」ということになりました。
※ちなみにこの7000ゾーンのDNSサーバの話は後日何回かに分けてやる予定

このスライドの31〜33を見ていただけるとわかりやすいです。
http://www.slideshare.net/hdais/nsd-unboundintro
posted by maroon at 10:43| Comment(0) | IT_設定関連メモ | このブログの読者になる | 更新情報をチェックする

2015年12月03日

Unboundの性能測定/評価(試行錯誤中)

この記事はDNS Advent Calendar 2015 - Qiitaの3日目の記事です。

色々な会社のクラウドサーバを使ってUnbound立てて
パフォーマンステストをしているのですが
あまり納得のいく結果が出ていない状況です。

結果自体に妥当性があるのかどうかというのがまず疑問。
なんとなくグラフィカルでわかりやすいのでrespeerf-reportを
使っているけど、本当にそれでいいのかとか、わからない。

このへん読んで基本に立ち返ろうと思います。
http://dnsops.jp/event/20130718/20130718-stress-tool-hattori-1.pdf
https://www.nic.ad.jp/ja/materials/iw/2013/proceedings/d2/d2-hattori.pdf

今わかっていることとしては
Unboundのチューニングとクラウドサーバのスペック(CPU数とメモリ容量)を揃えたうえで
同じクエリファイルを使って同じ負荷のかけ方をした場合、まぁどこのサービスでも
同じような結果が出るのだけれど、稀に性能が出ないサービスがあったりする。
おそらく他ノードへの影響を与えないために制限をかけているのだろうけれど
コンピューティングリソースの問題なのかネットワーク帯域の問題なのか
現時点ではわからないので、そのへんも見極められるようになると良いなぁと。

ちなみに別にDNSサーバの管理をしているわけでもないし
自分でISP立ち上げるわけでもないので、Unboundのパフォーマンステストは
仕事には全く関係なく完全に趣味の領域なんだけど、楽しいから続けてる。
なぜ楽しいと思うのかは自分でもよくわかっていない。。
posted by maroon at 13:14| Comment(0) | IT_設定関連メモ | このブログの読者になる | 更新情報をチェックする

2015年12月02日

DNSキャッシュサーバだけでできるローカルゾーンの名前解決

この記事はDNS Advent Calendar 2015 - Qiitaの2日目の記事です。

1日目で構築したUnboundはDNSキャッシュサーバとしての機能のみで
ゾーン情報を保持する権威サーバとしては動作しません。

なので普通に考えると、Unboundだけでは
「この名前でこのIPアドレスに変換させたい」
ということはできません。

ですが、Unboundにはlocal-dataという機能がありまして
「この名前でこのIPアドレスに変換させたい」を実現させることができます。

権威サーバを構築した場合との差は
・そのUnboundサーバに問い合わせした際しか有効でない
・他のDNSサーバに情報伝達することができない
あたりでしょうか。

小規模で簡単に名前解決させたい場合は権威サーバたてるより良いでしょう。

書き方はこんな感じです。これをunbound.confに書きます。
local-data: "host1.local. A 192.168.0.1"
local-data: "host2.local. A 192.168.0.2"
local-data: "host3.local. A 192.168.0.3"

なお、ヤマハルータでも以下のように書くことで同じことができるようです。
ip host host1.local 192.168.0.1
ip host host2.local 192.168.0.2
ip host host3.local 192.168.0.3



posted by maroon at 13:32| Comment(0) | IT_設定関連メモ | このブログの読者になる | 更新情報をチェックする