none
hosts ファイルでの名前解決について RRS feed

  • 質問

  • 都合によりちょっと変わったネットワーク環境といいますか、
    作業環境で 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 ファイルでこのような不可思議な挙動するとは思っていませんでした。

    2016年1月12日 13:15

回答

  • チャブーンです。

    この件ですが、ちょっと気になったので、検証を行ってみたところ、「以下のFQDNだけhosts登録ができない」仕様になっているようです。

    • activation-v2.sls.microsoft.com
    • validation-v2.sls.microsoft.com

    一句一文字変えただけでも登録は可能(たとえば~.sls.microsof.comだと登録できます)になりますので、これはアクティベーション登録先の名前解決の汚染防止のための強制仕様と理解するべきです。これをWindows単体レベルで変える方法はないので(あったらセキュリティホールになります)、ローカルDNSサーバを無理やりでも立てて「sls.microsoft.com」ゾーンを作ってAレコードベースでの名前解決を行わせるしかない、ということになりそうです。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。



    2016年1月13日 2:52
    モデレータ

すべての返信

  • http://blogs.technet.com/b/jpntsblog/archive/2009/07/13/windows.aspx

    に「HOSTS ファイルに記載したレコードは、DNS リゾルバー キャッシュに自動的に格納されます。」と記載されているので、DNSリゾルバキャッシュの内容を表示する ipconfig /displaydns  で登録状況を確認してはどうかと思います。

    2016年1月12日 16:07
  • 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 に列挙しても使ってくれない感じです。

    ううむ、、、

    2016年1月13日 2:29
  • チャブーンです。

    この件ですが、ちょっと気になったので、検証を行ってみたところ、「以下のFQDNだけhosts登録ができない」仕様になっているようです。

    • activation-v2.sls.microsoft.com
    • validation-v2.sls.microsoft.com

    一句一文字変えただけでも登録は可能(たとえば~.sls.microsof.comだと登録できます)になりますので、これはアクティベーション登録先の名前解決の汚染防止のための強制仕様と理解するべきです。これをWindows単体レベルで変える方法はないので(あったらセキュリティホールになります)、ローカルDNSサーバを無理やりでも立てて「sls.microsoft.com」ゾーンを作ってAレコードベースでの名前解決を行わせるしかない、ということになりそうです。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。



    2016年1月13日 2:52
    モデレータ
  • 検証有難うございます。

    やっぱり通らない様になっているのですね、、、

    別の方法を検討いたします。

    ありがとうございました。

    2016年1月13日 4:28