†DNSに特化したリバース・フォワード兼用ロードバランサー。バックエンド死活監視、ポリシールーティング、QoS制御などのLSLBが備える機能を実装している。設定ファイルはLua言語で記述するので、環境に合わせてスクリプト主体の細かい制御も出来る。DNSクエリ処理に限定すると、dnsdistはクエリ・フォワード動作に特化している為、バックエンドに権威DNS・キャッシュDNSなどを構築する必要がある。アプリケーションは単一バイナリ動作なので、機能を盛り過ぎるとバイナリが70MB程まで大きくなる。必要な機能を抜粋して自前でソースビルドを行うと、バイナリ容量と使用メモリ容量の削減が出来る。1.1.0を導入してみた。ソースビルドソースビルドだと様々なディストリビューションで動作して汎用性が高いのでソースビルドする。今回はopenSUSEでビルドを行っているが、CentOS/Debianでも同様の手順でビルド出来る。下記のビルドオプションはフル機能を有効化している為、不必要な機能を削除するとバイナリが更に軽くなる。起動準備dnsdist専用ユーザで動作させる為、実行ユーザの作成とサービスファイルの準備を行う。今回はDNSクエリログのローカル出力を有効化する為、ログディレクトリ作成、ログローテート設定も実施する。下記コンフィグ例も同じファイルに設定を行う。「DNSクエリ・クエリタイプ・接続元IPアドレス・パケット制御」の4項目を抑えれば設定出来る。その他、細かい設定内容は公式ドキュメントの下記3項目を読めば大体判る。newServerで設定する監視先DNSサーバのFQDN設定。newServerで設定する監視先DNSサーバのFQDN設定。dnsdistが処理したDNSクエリログ保存先。上段の設定(addAction)で処理されなかったDNSクエリに対して、REFUSED(リクエスト拒否)を返答する。