Windows 7でネットワークの場所の種類が「識別されていないネットワーク」だと、利用できる機能に制限がある。これをプライベート・ネットワークに変更する方法を解説する。
対象OS:Windows 7/Windows Server 2008 R2
Windows Vista/Windows Server 2008以降のWindows OSでは、ネットワーク・インターフェイスごとに「ネットワークの場所」という属性を持っている。Windows 7/Windows Server 2008 R2では「ホーム ネットワーク」「社内ネットワーク」「パブリック ネットワーク」の3種類がある(Windows Vista/Windows Server 2008の場合は「職場」「自宅」「公共の場所」の3種類。これ以外に「ドメイン ネットワーク」もある)。ネットワークの場所が変わるとそれに応じて「プライベート」か「パブリック」という属性が与えられ、利用するファイアウォールのポリシーが変わったり、利用可能な機能に制限が付けられたりする。
システムに2つ以上のネットワーク・インターフェイスが装備されていると、それぞれのネットワーク・インターフェイスごとに異なる種類の場所を持つことになるが、場合によっては「識別されていないネットワーク」に分類されることがある。
ネットワークの場所はインターフェイスの状態などから自動的に判断されるが、通常は、デフォルト・ゲートウェイ・アドレスが設定されていないネットワーク・インターフェイスはこの識別されていないネットワークに分類され、さらに「パブリック ネットワーク」として扱われるようになっている。デフォルト・ゲートウェイが設定されていないのは、例えばAPIPA(Automatic Private IP Addressing:IPアドレスの自動割り当て機能)によって自動割り当てされている状態が考えられるが(何らかのトラブルによってIPアドレスが取得できないとAPIPAが有効になる)、これ以外にも、わざと空白にしていることもある。例えばネットワーク・インターフェイスが2つ以上ある場合は、1つだけデフォルト・ゲートウェイを設定し、ほかのものは空白にしておくし(TIPS「デフォルト・ゲートウェイは1つのみ有効」参照)、Virtual PCやHyper-V、VMware Player/Workstation、Oracle VirtualBoxのような仮想化ソフトウェアを利用している場合は(連載「仮想PCで学ぶWindowsシステム管理」参照)、自動的にこのような仮想インターフェイスが作成されることがある。
ネットワーク・インターフェイスがパブリック・ネットワークとなっていると、「フル マップの表示」機能が利用できなくなるだけでなく、(デフォルトでは)ネットワークの探索やパブリック・フォルダの共有などが無効になる。またパブリック向けのファイアウォール・プロファイルが適用されるため、そのインターフェイス側を経由する通信は厳しく制限され、利用できなくなるアプリケーションやサービスも出てくるだろう。
このような問題を回避するためには、「識別されないネットワーク」に割り当てられているパブリック・ネットワークという種類を、プライベート・ネットワークに変更するとよい。Windows Vistaの場合は、ネットワークの種類の右側に表示されている[カスタマイズ]というリンクをクリックすれば簡単に変更できたのだが(関連記事参照)、Windows 7/Windows Server 2008 R2ではこのリンクは削除され、簡単には変更できない。代わりに、ローカル・セキュリティ・ポリシーを利用すればよい(このセキュリティ・ポリシーはWindows Vista/Windows Server 2008でも利用可能)。本TIPSではこの方法を紹介する。
なお、ネットワーク・インターフェイスが1つしかないのに識別されないネットワークとなっている場合は、何らかのトラブルが起こっており、ネットワークと通信できない状態になっている(とWindows OSが判断している)ためであり、ネットワークの場所の種類を変更しても問題は解決しないだろう。その場合は、ゲートウェイやほかのコンピュータ、インターネット上のホストなどと通信できるかどうかを確認したり、ネットワーク・インターフェイスをいったん無効化したり削除したりして(その後再追加する)、問題を解決する。
識別されていないネットワークをパブリック・ネットワークからプライベート・ネットワークに変更する方法はいくつかあるが(最終的に行っていることはどれも同じだが)、まずはローカル・セキュリティ・ポリシー・ツールを使う方法を紹介する。ただしこのツールを利用するには、Windows 7のProfessional/Enterprise/Ultimateが必要である(下位エディションには用意されていない)。
ローカル・セキュリティ・ポリシー・ツールを起動するには、管理者権限のあるアカウントでログオンし、[スタート]ボタンの[プログラムとファイルの検索]に「ローカル」と入力して、「プログラム」カテゴリに表示された「ローカル セキュリティ ポリシー」をクリックする。[コントロール パネル]の[システムとセキュリティ]カテゴリにある[管理ツール]から[ローカル セキュリティ ポリシー]ツールを起動してもよいし、検索窓に「secpol.msc」と入力して起動してもよい。
ローカル・セキュリティ・ポリシー・ツールが起動したら、左側のペインから「ネットワーク リスト マネージャー ポリシー」を選択する。
次に右側のネットワークの場所から「識別されていないネットワーク」を選択し、ダブルクリックする。そして、場所の種類をデフォルトの「未構成」から「プライベート」に変更する。
変更後、[OK]ボタンをクリックすると、すぐに結果が反映される。再描画させると、次のように変更されているはずである。
グループ・ポリシーでドメイン内のコンピュータをまとめて管理することも可能である。Windows Vista/Windows Server 2008以降のコンピュータでグループ・ポリシー管理エディタ・ツールを起動し、適当なグループ・ポリシー・オブジェクトを選んで編集ウィンドウを開く。そして、[コンピュータの構成]の下にある[ポリシー]−[Windows の設定]−[セキュリティの設定]−[ネットワーク リスト マネージャー ポリシー]を開く。
右側のペインから「識別されていないネットワーク」を選んでダブルクリックし、ローカル・セキュリティ・ポリシーの場合と同様に、「場所の種類」を「プライベート」に変更する。
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ・エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。
Windows 7のStarterやHome Premium(およびHome Basic)エディションではローカル・ポリシー・エディタは用意されていないし、ドメイン機能がないのでグループ・ポリシーでの制御もできない。だがレジストリ・エディタを使って同じように設定することができる(上で紹介した方法は、最終的にはこのレジストリを変更している)。以下のように新しいキーとDWORD型の値Categoryを作成し、1にセットする。設定はすぐに反映されるはずであるが、そうならない場合は再起動してみるとよい。
項目 | 内容 |
---|---|
キー | HKEY_LOCAL_MACHINEの SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\ 010103000F0000F0010000000F0000F0C967A3643C3AD745950DA7859209176EF5B87 C875FA20DF21951640E807D7C24 |
値の名前 | Category |
値の型 | REG_DWORD |
値の内容 | 1→(プライベートに相当) 0→(パブリックに相当) 未構成にするには、値の名前もしくはキーごと削除する |
ネットワークの場所の種類の強制 ネットワークの場所の種類をプライベートにするには、Categoryの値を1にする。存在しないキーや値は新規作成すること。 |
キーの名前が長いので注意して入力していただきたい。簡単に設定できるように、以下にレジストリ・ファイルを用意しておいたので、解凍後、これをエクスプローラ上でダブルクリックして適用してもよいだろう(レジストリ・ファイルの内容についてはTIPS「.regファイルを「手書き」してレジストリに読み込ませる方法」を参照のこと)。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.