tinydnsとdnscacheとMicrosoft DNS

うちでは tinydns, dnscache, Microsoft DNS が混在している(当然別のIP)。

tinydns : 192.168.0.a
dnscache : 192.168.0.b
Microsoft DNS : 192.168.0.c

tinydns は kazu.tv ドメインを担当。内部用のサブドメインはMicrosoft DNSに委譲している(Active Directoryを使ってるので)。あとWindowsクライアント向けのキャッシュサーバーも兼ねている。dnscacheはLinuxサーバー等のADドメインにログオンしないマシン向けのキャッシュサーバー。

dnscachex/root/servers/@ の中身はプロバイダのDNSサーバーを記述
dnscachex/root/servers/kazu.tv の中身は192.168.0.a

Microsoft DNSの設定。「前方参照ゾーン」で内部用サブドメインの必要なレコードが設定してある(Active Directory関連のレコードは自動更新されるはず)。

ここまでの設定は問題ないと思う。で、前回設定した通り、LAN内からは www.kazu.tv -> 192.168.0.x と返して欲しい。

$ dig www.kazu.tv @192.168.0.b

この結果も問題ない。しかし、以下の場合は 43.244.202.178 が返されてしまう。

$ dig www.kazu.tv @192.168.0.c

なので kazu.tv ドメインの名前解決の場合は192.168.0.a を参照するようにしたい。具体的にはDNSサーバーのプロパティを開き、「フォワーダ」タブで「選択したドメインのフォワーダIPアドレス一覧」に追加する。けど、ここで直接 192.168.0.a を設定するとダメ。NOTIMPだそうだ。192.168.0.b だとOK。

なので、現在Windowsクライアントが www.kazu.tv の名前解決をしようとすると
クライアント -> Microsoft DNS -> dnscache -> tinydns
となっている。もっといい方法がないものか、、、

リンク
tinydnsのログ形式

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です