リモート デバッグ用の Windows ファイアウォールを構成する
Windows ファイアウォールによって保護されているネットワークでは、リモート デバッグを許可するようにファイアウォールを構成する必要があります。 Visual Studio とリモート デバッグ ツールにより、インストール中またはスタートアップ中に適切なファイアウォール ポートを開くことが試みられますが、ポートを開いたり、またはアプリを手動で許可したりすることが必要になる場合もあります。
このトピックでは、Windows 10、8/8.1、7 コンピューター、および Windows Server 2012 R2、2012、2008 R2 コンピューターで、リモート デバッグを有効にするように Windows ファイアウォールを構成する方法について説明します。 Visual Studio コンピューターとリモート コンピューターで、同じオペレーティング システムが実行されている必要はありません。 たとえば Visual Studio コンピューターで Windows 11 を実行し、リモート コンピューターで Windows Server 2012 R2 を実行することができます。
Note
Windows ファイアウォールを構成する手順は、オペレーティング システムによって多少異なります。また、Windows のバージョンが古い場合も多少異なります。 Windows 8/8.1、Windows 10 以降のバージョン、Windows Server 2012 の設定では、"アプリ" という単語を使用しますが、Windows 7 および Windows Server 2008 では、"プログラム" という単語が使用されます。
リモート デバッグ用のポートを構成する
Visual Studio とリモート デバッガーは、インストール中またはスタートアップ中に適切なポートを開こうとします。 ただし、サード パーティ製のファイアウォールなど、一部のシナリオでは、ポートを手動で開く必要があります。
ポートを開く手順:
Windows の [スタート] メニューで、セキュリティが強化された Windows ファイアウォールを検索して開きます。 Windows 10 より、これは、セキュリティが強化された Windows Defender ファイアウォールになります。
新しい受信ポートの場合は、[受信規則]、[新しい規則] の順に選択します。 送信規則の場合は、代わりに [送信規則] を選択します。
新規の受信の規則ウィザードで、[ポート] を選択し、[次へ] を選択します。
下記の表のポート番号に応じて、[TCP] または [UDP] を選択します。
[特定のローカル ポート] で、下記の表のポート番号を入力し、[次へ] を選択します。
[接続を許可する] を選択し、[次へ] を選択します。
有効にする 1 つ以上のネットワークの種類 (リモート接続のネットワークの種類など) を選択し、[次へ] を選択します。
規則の名前 (たとえば、
msvsmon
、IIS
、Web Deploy
など) を追加し、[完了] を選択します。新しい規則が表示され、[受信規則] または [送信規則] の一覧で選択されます。
PowerShell を使用してポートを開くには:
Windows Firewall の場合、New-NetFirewallRule など、PowerShell コマンドを使用できます。
次の例では、リモート コンピューター上のリモート デバッガーのためにポート 4026 が開きます。 使用する必要があるポートとパスは異なる場合があります。
New-NetFirewallRule -DisplayName "msvsmon" -Direction Inbound -Program "Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe" -LocalPort 4026 -Protocol TCP -Authentication Required -Action Allow
次の例では、リモート コンピューター上のリモート デバッガーのためにポート 4024 が開きます。 使用する必要があるパスは異なる場合があります。
New-NetFirewallRule -DisplayName "msvsmon" -Direction Inbound -Program "Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe" -LocalPort 4024 -Protocol TCP -Authentication Required -Action Allow
リモート デバッグを有効にするリモート コンピューター上のポート
リモート デバッグの場合、リモート コンピューターで次のポートが開いている必要があります。
ポート | 着信/発信 | プロトコル | 説明 |
---|---|---|---|
4026 | 着信 | TCP | Visual Studio 2022 の場合。 詳しくは、「Visual Studio remote debugger port assignments」(Visual Studio リモート デバッガーのポートの割り当て) をご覧ください。 |
4025 | 着信 | TCP | Visual Studio 2022 および Microsoft Azure App Service の場合。 このポートは、リモート デバッガーの 64 ビット バージョンから 32 ビット プロセスをリモート デバッグするためにのみ使用されます。 詳しくは、「Visual Studio remote debugger port assignments」(Visual Studio リモート デバッガーのポートの割り当て) をご覧ください。 |
4024 | 着信 | TCP | Microsoft Azure App Service の場合。 詳しくは、「Visual Studio remote debugger port assignments」(Visual Studio リモート デバッガーのポートの割り当て) をご覧ください。 |
3702 | 送信 | UDP | (省略可能) リモート デバッガーの検出に必須。 |
ポート | 着信/発信 | プロトコル | 説明 |
---|---|---|---|
4024 | 着信 | TCP | Visual Studio 2019 および Microsoft Azure App Service の場合。 ポート番号は、Visual Studio のバージョンごとに 2 ずつ増分されます。 詳しくは、「Visual Studio remote debugger port assignments」(Visual Studio リモート デバッガーのポートの割り当て) をご覧ください。 |
4025 | 着信 | TCP | Visual Studio 2019 と Azure App Service の場合。 このポートは、リモート デバッガーの 64 ビット バージョンから 32 ビット プロセスをリモート デバッグするためにのみ使用されます。 詳しくは、「Visual Studio remote debugger port assignments」(Visual Studio リモート デバッガーのポートの割り当て) をご覧ください。 |
3702 | 送信 | UDP | (省略可能) リモート デバッガーの検出に必須。 |
選択した場合マネージ互換モードを使用してツール>オプション>デバッグを開きますこれらの追加のリモート デバッガー ポート。 デバッガー マネージド互換モードでは、レガシの Visual Studio 2010 バージョンのデバッガーが有効になります。
ポート | 着信/発信 | プロトコル | 説明 |
---|---|---|---|
135、139、445 | 送信 | TCP | 必須。 |
137、138 | 送信 | UDP | 必須。 |
ドメイン ポリシーにより、インターネット プロトコル セキュリティ (IPSec) を通じてネットワーク通信を実行する必要がある場合、Visual Studio とリモート コンピューターの両方で追加のポートを開く必要があります。 インターネット インフォメーション サービス (IIS) Web サーバーでデバッグするには、リモート コンピューターでポート 80 を開きます。
ポート | 着信/発信 | プロトコル | 説明 |
---|---|---|---|
500、4500 | 送信 | UDP | ドメイン ポリシーで、ネットワーク通信を IPSec 経由で実行する必要がある場合は、必須。 |
80 | 送信 | TCP | Web サーバーのデバッグに必要。 |
Windows ファイアウォールを介して特定のアプリを許可するには、「Windows ファイアウォールを介してリモート デバッグを構成する」を参照してください。
Windows ファイアウォールを介してリモート デバッガーを許可する
リモート デバッガーを構成すると、構成ソフトウェアが適切なポートを開きます。 ただし、一部のシナリオでは、ファイアウォールを介してリモート デバッガーを手動で許可する必要がある場合があります。
Windows ファイアウォールを介してリモート デバッガーを許可する:
Windows の [スタート] メニューで、Windows ファイアウォール、または Windows Defender ファイアウォールを検索して開きます。
[Windows ファイアウォールによるアプリケーションの許可] を選択します。
[許可されたアプリおよび機能] の下に [リモート デバッガー] または [Visual Studio リモート デバッガー] が表示されない場合は、[設定の変更] を選択し、[別のアプリの許可] を選択します。
依然として、リモート デバッガー アプリが [アプリを追加する] ダイアログの一覧に表示されない場合、[参照] を選択し、アプリに適したアーキテクチャに応じて、<Visual Studio インストール ディレクトリ>\Common7\IDE\Remote Debugger\<x86、x64、または Appx> に移動します。 [msvsmon.exe] を選択し、[追加] を選択します。
[アプリ] の一覧で、追加したばかりの [リモート デバッガー] を選択します。 [ネットワークの種類] を選択し、1 つ以上のネットワークの種類 (リモート接続のネットワークの種類など) を選択します。
[追加]、[OK] の順に選択します。
リモート デバッグ接続のトラブルシューティング
リモート デバッガーを使用してアプリに接続できない場合、リモート デバッグのファイアウォールのポート、プロトコル、ネットワークの種類、アプリの設定のすべてが正しいことを確認します。
Windows の [スタート] メニューで、Windows ファイアウォールを検索して開き、[Windows ファイアウォールによるアプリケーションの許可] を選択します。 [許可されたアプリおよび機能] のリストに [リモート デバッガー] または [Visual Studio リモート デバッガー] が表示され、チェック ボックスがオンで、正しいネットワークの種類が選択されていることを確認します。 そうでない場合は、正しいアプリおよび設定を追加します。
Windows の [スタート] メニューで、セキュリティが強化された Windows ファイアウォールを検索して開きます。 [インバウンド規則] (およびオプションで [アウトバウンド規則]) の下に [リモート デバッガー] または [Visual Studio リモート デバッガー] が表示され、緑色のチェック マーク アイコンが付いていることと、すべての設定が正しいことを確認します。
- 規則の設定を表示または変更するには、一覧で [リモート デバッガー] アプリを右クリックし、[プロパティ] を選択します。 規則を有効または無効にしたり、ポート番号、プロトコル、またはネットワークの種類を変更したりするには、[プロパティ] タブを使用します。
- リモート デバッガー アプリが規則の一覧に表示されない場合は、正しいポートを追加して構成します。