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 개체 형식이 VMCreatorId
friendly 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 옵션에 대해 자세히 알아보려면 다음 링크를 따르세요.
- Hyper-V 방화벽 설정 구성: Hyper-V 방화벽 설정을 구성합니다.
- Hyper-V 방화벽 규칙 구성: Hyper-V 방화벽을 통해 트래픽을 제어하는 규칙 목록을 구성합니다.
Microsoft Intune 사용하여 방화벽을 구성하는 방법을 알아보려면 엔드포인트 보안에 대한 방화벽 정책을 참조하세요.
피드백 제공
Hyper-V 방화벽에 대한 피드백을 제공하려면 피드백 허브를 열고 보안 및 개인 정보 > 보호 Microsoft Defender 방화벽 및 네트워크 보호 범주를 사용합니다.