WHS2011 スタートパッドの[共有フォルダー]をクリックするとエラーメッセージが表示されました。
ログを確認したところ、予想通りの名前解決が失敗しており、原因を探ってみたところこれまた予想通りのセキュリティソフトに起因するものでした。
今回はこの現象の原因となったESET Smart Securityと名前解決についてメモ。
現象
Windows 7 Home Premium SP1 64bitをインストールしたパソコンでスタートパッドを起動、ログイン後[共有フォルダー]ボタンをクリックすると
[要求されたタスクを実行できません。]
というエラーメッセージが表示されました。
エクスプローラ上から[\\サーバ名]を入力しアクセスすると
\\サーバにアクセスできません
名前のスペルを確認しても問題がない場合は、ネットワークに問題がある可能性があります。ネットワークの問題を識別して解決するには、[診断]をクリックします。
のエラーメッセージが表示され、これまたサーバにアクセスすることが出来ませんでした。
ログ
WHS2011 スタートパッドのログの一つ[ClinetTools.log]ファイルを確認すると、[ネットワーク パスが見つかりません。]と記録されていました。
[7272] 130722.175754.0748: ClientTools: ClientTools: [-SharedFolders]
[7272] 130722.175754.6768: General: ExecuteLink: Path=\\サーバ名; Args=
[7272] 130722.175805.3094: ClientTools: Failed to start requested task: path='\\サーバ名' args=''
[7272] 130722.175805.3194: Exception:
---------------------------------------
An exception of type 'Type: System.ComponentModel.Win32Exception, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has occurred.
Timestamp: 07/22/2013 17:58:05
Message: ネットワーク パスが見つかりません。
Stack: 場所 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
場所 System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
場所 Microsoft.WindowsServerSolutions.ClientTools.Program.ExecuteLink(String path, String arguments)
原因と対処法
色々調査した結果、
ESET Smart Security ファイアウォールのポリシー
が原因でした。
対処法は下記の通り。
- ESET Smart Security画面右上から[詳細設定]をクリック
- [ネットワーク]→[パーソナルファイアウォール]→[IDSと詳細オプション]をクリック
- [許可するサービス]→[Vista/Windows 7 サービス]→[信頼ゾーンでのマルチキャストアドレスの解決を許可(LLMNR)]にチェック
- [OK]ボタンをクリック
ちなみに、[ネットワーク]→[接続の表示]にある[ホスト名を解決]は解決できそうな設定項目ですが、こちらは[ネットワーク接続]一覧の表示に関する設定項目です。
設定にあるLLMNRとは?
お恥ずかしい話ですが、LLMNRという言葉を今回初めて知りました。
名前解決はDNS・NBT・LMHOSTSしか知らなかったので・・・
ちょうどいい機会でしたので、毎度お世話になっている@ITさんの記事と記事のリンク先をみてLLMNRの概要を勉強してみました。
LLMNRの仕様をかいつまんでみました。
- LLMNR=Link-Local Multicast Name Resolution
- LLMNRはVistaおよびWindows Server 2008以降から利用可能
- 機能名から分かるように、ローカルエリア・ネットワークにターゲットを絞った名前解決機能。
WINSサーバやDNSサーバがなくとも近隣のコンピュータ名を解決することが出来る。
※自宅や小規模企業では非常に役立ちます! - 単一ラベル名のみ検索対象
- IPv6だけでなく、IPv4でも利用可能
- ブロードキャストではなく、マルチキャストで問い合わせし、ユニキャストで応答
- マルチキャスト・アドレスは、IPv6が「FF02::1:3」、IPv4が「224.0.0.252」
- UDPパケット5355番を使用
- パケットのホップ・リミットは1
- 名前解決の優先順位は、DNSクライアントキャッシュ→DNS→GlobalNamesゾーン→LLMNR→NBT/WINS
- LLMNR リゾルバのキャッシュは DNS リゾルバのキャッシュから分離
最初はESET Smart Securityの設定方法が分かっただけでよし!と思っていましたが、最終的にはLLMNRの概要を知った事が今回の収穫でした。
最近思う事は、ちょいちょい技術をつまんで学ぶよりもMCPを取得するくらいの勢いでしっかりと勉強した方がいいような気がしてきました。ただ、時間とコストがかかるんですよね、MCP取得するの・・・
IT-Proになるにはまだまだ先が遠いんですが、精進したいと思います。