Hyper-V 방화벽 구성

Windows 11 버전 22H2부터 Hyper-V 방화벽은 WSL(Linux용 Windows 하위 시스템)을 포함하여 Windows에서 호스트하는 컨테이너에 대한 인바운드 및 아웃바운드 트래픽을 필터링할 수 있는 네트워크 방화벽 솔루션입니다.
이 문서에서는 PowerShell 또는 CSP(구성 서비스 공급자)를 사용하여 Hyper-V 방화벽 규칙 및 설정을 구성하는 방법을 설명합니다.

중요

Hyper-V 방화벽의 구성은 GPO(그룹 정책)를 통해 사용할 수 없습니다. WINDOWS 방화벽 설정이 GPO를 통해 구성되고 Hyper-V 방화벽 설정이 CSP를 통해 구성되지 않은 경우 해당 규칙 및 설정은 GPO 구성에서 자동으로 미러됩니다.

PowerShell을 사용하여 Hyper-V 방화벽 구성

이 섹션에서는 PowerShell을 사용하여 Hyper-V 방화벽을 관리하는 단계를 설명합니다.

WSL GUID 가져오기

Hyper-V 방화벽 규칙은 VMCreatorId별로 사용하도록 설정됩니다. VMCreatorId를 가져오려면 cmdlet을 사용합니다.

Get-NetFirewallHyperVVMCreator 

출력에는 고유 식별자와 속성이 있는 VmCreator 개체 형식이 VMCreatorIdfriendly name 포함됩니다. 예를 들어 다음 출력은 WSL의 속성을 보여 줍니다.

PS C:\> Get-NetFirewallHyperVVMCreator
VMCreatorId : {40E0AC32-46A5-438A-A0B2-2B479E8F2E90} 
FriendlyName : WSL 

참고

WSL VMCreatorId는 입니다 {40E0AC32-46A5-438A-A0B2-2B479E8F2E90}.

Hyper-V 방화벽 설정 확인

Hyper-V 방화벽에는 VMCreatorId에 일반적으로 적용되는 설정이 있습니다. Get-NetFirewallHyperVVMSetting cmdlet을 사용하여 설정을 검사. 예를 들어 명령을 사용하여 WSL에 적용된 정책을 가져올 수 있습니다.

Get-NetFirewallHyperVVMSetting -PolicyStore ActiveStore -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'

참고

-PolicyStore ActiveStore적용 된 설정을 반환합니다.

출력에는 다음 값이 포함됩니다.

설명
Enabled (True/False) True이면 WSL VM에 Hyper-V 방화벽을 사용할 수 있습니다.
DefaultInboundAction, DefaultOutboundAction 이는 WSL 컨테이너를 입력하거나 나가는 패킷에 적용되는 기본 규칙 정책입니다. 이 문서에 설명된 대로 규칙 정책을 수정할 수 있습니다.
LoopbackEnabled Hyper-V 방화벽 규칙을 요구하지 않고 호스트와 컨테이너 간의 루프백 트래픽이 허용되는지 추적합니다. WSL은 기본적으로 Windows 호스트가 WSL과 통신하고 WSL이 Windows 호스트와 통신할 수 있도록 합니다.
AllowHostPolicyMerge Windows 호스트 GPO(방화벽 엔터프라이즈 설정), Hyper-V CSP(방화벽 엔터프라이즈 설정), Windows 호스트 CSP(방화벽 엔터프라이즈 설정), 로컬 Hyper-V 방화벽 설정 및 로컬 호스트 방화벽 설정이 상호 작용하는 방법을 결정합니다.
이 설정은 Set-NetFirewallHyperVVMSetting cmdlet에 자세히 설명되어 있습니다.

Hyper-V 방화벽 설정 구성

Hyper-V 방화벽을 구성하려면 Set-NetFirewallHyperVVMSetting 명령을 사용합니다. 예를 들어 다음 명령은 기본 인바운드 연결을 허용으로 설정합니다.

Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow 

방화벽 규칙

Hyper-V 방화벽 규칙은 PowerShell에서 열거 및 만들 수 있습니다. 규칙을 보려면 Get-NetFirewallHyperVRule cmdlet을 사용합니다. 예를 들어 WSL과 관련된 방화벽 규칙을 보려면 다음 명령을 사용합니다.

Get-NetFirewallHyperVRule -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'

특정 규칙을 구성하려면 Set-NetFirewallHyperVRule cmdlet을 사용합니다.

예를 들어 포트 80에서 WSL에 대한 TCP 트래픽을 허용하는 인바운드 규칙을 만들려면 다음 명령을 사용합니다.

New-NetFirewallHyperVRule -Name MyWebServer -DisplayName "My Web Server" -Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Protocol TCP -LocalPorts 80 

특정 프로필에 대한 Hyper-V 방화벽 규칙 및 설정 대상 지정

Hyper-V 방화벽 규칙 및 설정은 디바이스가 연결된 네트워크 유형에 따라 방화벽 프로필을 대상으로 지정할 수 있습니다.

  • 공개 프로필
  • 프라이빗 프로필
  • 도메인 프로필

정책 옵션은 이미 설명한 것과 유사하지만 연결된 Windows 호스트 네트워크 어댑터의 특정 프로필에 적용됩니다.

프로필당 설정을 보려면 다음 명령을 사용합니다.

Get-NetFirewallHyperVProfile -PolicyStore ActiveStore 

참고

-PolicyStore ActiveStore적용 된 설정을 반환합니다.

출력에는 이전 섹션에 설명된 것과 비교하여 추가 값이 포함됩니다.

설명
AllowLocalFirewallRules (True/False) 이 설정은 엔터프라이즈 Hyper-V 방화벽 규칙(CSP 또는 GPO)이 로컬로 정의된 Hyper-V 방화벽 규칙과 상호 작용하는 방법을 결정합니다.
- 값이 True이면 엔터프라이즈 Hyper-V 방화벽 규칙과 로컬로 정의된 규칙이 모두 적용됩니다.
- 값이 False이면 로컬로 정의된 Hyper-V 방화벽 규칙이 적용되지 않고 엔터프라이즈 규칙만 적용됩니다.

참고

프로필별로 이러한 설정을 구성하려면 Set-NetFirewallHyperVProfile cmdlet을 사용합니다.

Set-NetFirewallHyperVRule cmdlet을 옵션과 함께 -Profile 사용하여 프로필당 이러한 규칙을 구성합니다.

CSP를 사용하여 Hyper-V 방화벽 구성

예를 들어 Microsoft Intune 같은 MDM 솔루션에서 방화벽 CSP를 사용하여 Hyper-V 방화벽을 구성할 수 있습니다.

CSP 옵션에 대해 자세히 알아보려면 다음 링크를 따르세요.

Microsoft Intune 사용하여 방화벽을 구성하는 방법을 알아보려면 엔드포인트 보안에 대한 방화벽 정책을 참조하세요.

피드백 제공

Hyper-V 방화벽에 대한 피드백을 제공하려면 피드백 허브를 열고 보안 및 개인 정보 > 보호 Microsoft Defender 방화벽 및 네트워크 보호 범주를 사용합니다.