トップ回答者
hosts ファイルでの名前解決について

質問
-
都合によりちょっと変わったネットワーク環境といいますか、
作業環境で Windows Server 2012 R2 のセットアップを行っています。初期は評価版でインストールし、現在正規版のライセンスに切り替えをトライしているのですが上手く行きません。
何やら DISM コマンドでエディション指定を評価版から正規版に変更しないといけないところまではたどり着きまして、
その手順は実行しました。http://techstorage.interlink.ne.jp/?p=1591
その後のライセンス認証が上手く行かず、苦戦中です。
slmgr コマンドなどで見ると ライセンス認証サーバーへの名前解決が通っていないように見え、
ライセンス認証サーバーらしき情報として activation-v2.sls.microsoft.com と validation-v2.sls.microsoft.com
2つのサーバー名を発見したため、こちらの名前解決を通すべくhosts ファイルに
65.52.98.233 activation-v2.sls.microsoft.comのように記載したのですが、どうにもこのエントリを使ってくれませんで、、、
同 hosts ファイルに別の内部サーバーのリストも記載してあり、そちらは hosts ファイルを見れているようで名前解決が出来ています。
名前解決の確認方法は
ping activation-v2.sls.microsoft.com
で、ping の送信先 IP が表示されたら大丈夫かと考えております。
現在は 「ping 要求ではホスト activation-v2.sls.microsoft.com が見つかりませんでした。ホスト名を確認してもう一度実行してください。」と表示されて名前解決が出来ていません。
65.52.98.233 dactivation-v2.sls.microsoft.com
とか
65.52.98.233 hoge.sls.microsoft.com
とかにすると名前解決できるのですが、
65.52.98.233 activation-v2.sls.microsoft.com
だとダメの様。同様に validation-v2.sls.microsoft.com も同じように振る舞われてしまい、困っております。・ Windows の hosts ファイルはもしかして登録しても処理されない特別なホスト名などが有りましたでしょうか。
※ 具体的には activation-v2.sls.microsoft.com と validation-v2.sls.microsoft.com が現時点でダメ。・ この挙動を回避して hosts ファイルなどでこのホスト名の名前解決を何とかする方法が有りましたら教えて頂けないでしょうか。
そもそも作業中のネットワークで DNS 参照での名前解決が出来れば大丈夫と思うのですが、
これをすぐに実現する事が難しくもあり、なんとか hosts のような手で回避したいと考えております。また、現在ラインセンス認証を処理したい物の他に2台の通常の環境化にある Windows Server 2012 R2 Standard Edition にて
試したところ、DNS経由の名前解決を持ってping activation-v2.sls.microsoft.com
を行うと ping 応答こそ帰って来ませんが IP アドレスがきちんと表示されます。
しかし、問題の環境と同じように hosts ファイルに追記してやると
ping activation-v2.sls.microsoft.com
の結果は「ping 要求ではホスト activation-v2.sls.microsoft.com が見つかりませんでした。ホスト名を確認してもう一度実行してください。」
と表示され、DNS に先んじて確認される hosts ファイルのエントリを見つけて(だと思うのですが) 名前解決できません。よもや hosts ファイルでこのような不可思議な挙動するとは思っていませんでした。
回答
-
チャブーンです。
この件ですが、ちょっと気になったので、検証を行ってみたところ、「以下のFQDNだけhosts登録ができない」仕様になっているようです。
- activation-v2.sls.microsoft.com
- validation-v2.sls.microsoft.com
一句一文字変えただけでも登録は可能(たとえば~.sls.microsof.comだと登録できます)になりますので、これはアクティベーション登録先の名前解決の汚染防止のための強制仕様と理解するべきです。これをWindows単体レベルで変える方法はないので(あったらセキュリティホールになります)、ローカルDNSサーバを無理やりでも立てて「sls.microsoft.com」ゾーンを作ってAレコードベースでの名前解決を行わせるしかない、ということになりそうです。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP, Moderator 2016年1月13日 3:02
- 回答としてマーク SHIMSOFT 2016年1月13日 4:27
すべての返信
-
http://blogs.technet.com/b/jpntsblog/archive/2009/07/13/windows.aspx
に「HOSTS ファイルに記載したレコードは、DNS リゾルバー キャッシュに自動的に格納されます。」と記載されているので、DNSリゾルバキャッシュの内容を表示する ipconfig /displaydns で登録状況を確認してはどうかと思います。
-
ipconfig /displaydns を試しました。
結果、実際にライセンス認証したいサーバー及び動作確認のために操作したその他の2台の Windows 2012 R2 サーバーにおいて
いずれも以下の様な結果となりました。1. hosts に activation-v2.sls.microsoft.com / validation-v2.sls.microsoft.com の名前で記載した場合
ipconfig /displaydns の結果リストに該当ホスト名を示す情報が表示されませんでした。つまり hosts による名前解決が出来ないため ping などでも IP 表示ができません。
2.hosts に dactivation-v2.sls.microsoft.com / dvalidation-v2.sls.microsoft.com など名前を少し変えて記載した場合
ipconfig /displaydns の結果リストに該当ホスト名を示す情報が表示されました。つまり hosts による名前解決が出来るので ping などでも IP 表示が得られます。
どうあっても 本来の activation-v2.* と validation-v2.* が hosts に列挙しても使ってくれない感じです。
ううむ、、、
-
チャブーンです。
この件ですが、ちょっと気になったので、検証を行ってみたところ、「以下のFQDNだけhosts登録ができない」仕様になっているようです。
- activation-v2.sls.microsoft.com
- validation-v2.sls.microsoft.com
一句一文字変えただけでも登録は可能(たとえば~.sls.microsof.comだと登録できます)になりますので、これはアクティベーション登録先の名前解決の汚染防止のための強制仕様と理解するべきです。これをWindows単体レベルで変える方法はないので(あったらセキュリティホールになります)、ローカルDNSサーバを無理やりでも立てて「sls.microsoft.com」ゾーンを作ってAレコードベースでの名前解決を行わせるしかない、ということになりそうです。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP, Moderator 2016年1月13日 3:02
- 回答としてマーク SHIMSOFT 2016年1月13日 4:27