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 と返して欲しい。
この結果も問題ない。しかし、以下の場合は 43.244.202.178 が返されてしまう。
なので 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のログ形式