Active directory DNS不具合
兼業ライターの身としてはたまに文体を変えて書くのも大事なので、今回はコラム風に書いてみる。
先日のサーバー機には、Windows Server 2012 R2 Essentialsを入れて運用している。
社内のローカルバックアップ用なのでなるべく安くというつもりだ。
なにしろクライアント側にライセンスが要らないので、サーバーのライセンスだけで済む。
もちろんLinuxでもいいのだが、顧客にはWindowsServerの利用者が多く、なるべく近い環境でいることが大事だと思っているからだ。
細かい操作や、ありがちなことは普段から接しているから気が付く。
さて、そのWindowsにはありがちなことのひとつに、同一ネットワーク内の接続がよく切れるという持病がある。
これはずいぶん大昔からあることで、共有フォルダが見えなくなる事やSambaでつないだほかのマシンが消えるのにも驚かないのだが、今回からActive Directoryを使ってサーバー機からクライアント機のバックアップを自動で行う設定にしているので、機能的には便利なのだが不具合が発生した。
ブラウザやメールクライアントで頻繁に接続エラーが起きるのだ。
エラーの内容は決まってドメイン名が参照できないというもので、Active Directoryが瞬断してからのハンドオーバーが出来なかったのだろうと予想できる。
とはいえActive Directoryのドメインコントローラに参加しているクライアントはDNSサーバを個別に設定できないようになっている。ネットワークのプロパティで変更はできるのだが、Active Directoryが勝手に修正してしまう。
これはDNSを利用した攻撃を避ける配慮もあるのだが、バックアップや他マシンの管理をサーバー側のDNSを参照するように強制で設定されているからだ。
もちろん、切ることはできるのだがバックアップを手動で行わなければならないので意味がなくなる。
MSのサポートで探すと似た症状の人は多いようだ。
https://social.technet.microsoft.com/Forums/ja-JP/468fb0f3-8202-4bd5-9840-7090472cfaa5/active-directory-?forum=windowsserver2008ja
対策としてはレプリケーションの更新をしないか、WINSを使って名前を解決するのがいいらしい。
とりあえずgoogleのDNSを参照するように設定してみたところ、DNS参照エラーが激減した。
厳密には正しくないが、分かりやすく言うとローカルサーバーにキャッシュされたDNS情報が足りないときにWINSを参照するので、参照エラーが起きたときにも「ドメイン名が引けない!」と判定されて他のDNSに聞きに行ってくれるために解決できるという理屈だ。
激減しただけで、解消されたわけではない。
メインマシンでは激減、サブマシンではまったく起きないことから、原因はWindows 10 Fall Creators Update なのだろうとアタリをつけたところ、アップデートでHyper-VのvEthernetが追加されているのが原因だとわかった。
急いでるときに限って繋がらないと(そういう印象が強いのでそう思うだけだが)イライラするので、FireWallもアンチウィルスもある環境ではvEthernetは必要ないという判断で切ってみたところ、DNSの不具合は解消された。
新しい機能が実装されるのはうれしいことだが、Hyper-V関係はどうにも未完成感があるので、もう少ししてから使ってみようと思う。