インターネットが繋がらないトラブルや日常のIT機器に関するいろんな出来事を記事にしています。

windowsでdnsサーバにbindを構築設定しようとする勇者へ。無茶しやがって。

本日の課題はこちらです。

windows で ISC bind 9 を使ってDNSサーバを構築したいです。どのような情報が必要でしょうか。

以下、対処法を記載いたします。

windowsでdnsサーバにbindを構築設定しようとする勇者へ。無茶しやがって。

なぜwindows server標準のdnsサーバではなくbindなのか

業務上の都合っすね。

昔からなぜか ISC BIND 9 で構築してるの。

windows server 標準のDNS?

もちろん知ってますよ。

でも現行サーバが ISC BIND 9 なの。

経緯は誰も知らないの。

笑えるでしょ?

調べるとbindとかいうプログラムソフトかlinuxの情報が多々ある

bind 9 は一般的にLinixサーバに構築するDNSソフトなのですね。

オープンソフトウェアだし。

だからliiuxでのトラブルシュート情報は多いけれどwindowsプラットフォームでの情報は限られています。

苦戦の予感。

フリーソフトだから問い合わせ先が無いぞ

前にも後ろにも進めなくなる可能性あり。

OSのバックアップなどしっかり取得したうえで、別DNSソフトの導入などプランBを考えておくべき。

御託はいいから早く構築設定方法を教えろ

そんなこと言うやつは足の小指を思い切りドアにぶつければいいのに。

プログラムのダウンロード

通常最新版はこちらから。

参考:ISC BIND
Download ISC's open source software

過去バージョンは以下。

参考:ISC FTPでダウンロードするサイト
Index of /isc/bind9

時々、インストーラに含まれていないvisual C++ 2012が必要だったりします。

visual C++が足りないと、一部実行ファイルを実行した時にエラーになります。

named.confを用意する

インストールすると以下のフォルダ構成になるかな。

\bin
\etc

ログも取りたいなら

\log

フォルダを作ってnamed.condでログ出力の設定を行う。

あとは

\etc\namedb

フォルダを作ってゾーンファイルを作ってセットする必要あり。

named.confの書き方は以下のサイトさんを参考にした。

参考:qiita
DNSサーバー、BINDについて学ぶ

ソーンファイルやその他情報もありますね。

ありがたし、qiita。

あ、おやじさんもやってた。

参考:おやじさんのサイト
内向きDNS(BIND)の構築(Windows編)

実行ファイルからキーを作成する

あとはキーを作成する。

\bin\dnssec-keygen -a

上記をコマンドライン管理者実行で実行。

キーを作成してないと動作しないみたい。

サービス起動でエラーになるかな。


bind 9.16.xxをインストールしたら

サービス起動はしたけど、サービス停止時にエラー発生。

システムは停止しました、ID 1067とな。

イベントログのシステムを確認すると、 ID 7034 強制終了はxx回目です。とのエラー。

理由プリーズ。

詳しくログをみてみると、メモリ解放関係のエラーで、システム動作に影響はない模様。

でもサービス停止時にエラーメッセージが出るのでお客様へのリリースはできません。

できませんったらできません。

このように最新バージョンを適用すればいいというものでもない。

なんかログをみたら停止時のエラーはメモリリークエラーなのでちゃんとプロセスも停止しているし別にいいかとも思いますが、サービス停止時にエラーメッセージが出る時点でアウトです。

何年後かにメモリリークがふふんとかいって僕が言い訳できるならいいのですが、そうとも限らないですので。

そういう特殊な状況はなるべく後世に残してはダメ。

↑ これが分からない人はおそらく業務上の人間関係でトラブっている可能性高し。

bind 9.14.xxをインストールしたら

visual C++ 2012が必要です。

ないと実行ファイルを実行した時に、

Mxxxx.dllが無いため実行できません。

でエラーになる。

サービスも起動しない。

ログをみてもよくわからない。

windowsのイベントログをみてもよくわからない。

困る。

forwarderに問い合わせできない

forward先が通信できないか

ログに何か出てないか

namd.confのoption部分のパラメータに

dnssec-enable no;

の記述が必要な場合あり。

サービスが起動できない

フォルダにnamedユーザのセキュリティ権限でフルコンを割り当てましたか?

namedユーザにAdministratorsグループを付与すれば早いかもです。

windowsでdnsサーバにbindを構築設定しようとする勇者へ。無茶しやがって。~まとめ~

英語のマニュアルやログをみながら状況を確認し、インターネットでぐぐって切り分けて、と対応していく必要があります。

サポートがないので、根気よく時間をかけて切り分けなどの対応をする必要があります。

とはいえ、windowsプラットフォームにISC bind 9をセットアップしようなんていう勇者にこれ以上言えることはありません。

幸運を。

本記事が少しでもお役に立てたならばこれほど嬉しいことはありません。

最後まで読んでいただいてありがとうございました。

  • B!