Hyper-V 가상 스위치 선택법, NAT·외부·내부 네트워크를 나누는 기준
AI를 활용하여 생성한 이미지입니다.
컴퓨팅 · Hyper-V 네트워크
Hyper-V 가상 머신의 인터넷이 끊겼을 때 방화벽부터 끄기보다, VM이 누구와 통신해야 하는지 먼저 정해 보세요. Default Switch, NAT, External, Internal, Private는 이름만 다른 스위치가 아니라 호스트·같은 LAN·다른 VM에 열리는 경로가 다릅니다. 인터넷만 필요한지, 다른 기기에서 서버로 접속해야 하는지에 따라 선택이 달라져요.
스위치 유형을 한눈에 비교
| 유형 | 인터넷 | Windows 호스트 | 같은 LAN의 다른 장치 | 주요 용도 |
|---|---|---|---|---|
| Default Switch | 가능 | 가능 | 환경에 따라 다름 | 빠른 테스트와 이동형 개발 환경 |
| External | 가능 | 가능 | 가능 | VM을 실제 LAN의 한 장치처럼 연결 |
| Internal | 기본적으로 불가 | 가능 | 기본적으로 불가 | 호스트와 VM 사이 관리·테스트망 |
| Private | 불가 | 불가 | 불가 | VM끼리만 격리하는 실험망 |
| 사용자 NAT | 구성 후 가능 | 가능 | 포트 전달 필요 | 인터넷은 필요하지만 LAN 노출은 줄일 때 |
PowerShell의 New-VMSwitch는 외부 어댑터를 연결하거나 스위치 유형을 지정하는 방식으로 가상 스위치를 만들 수 있습니다.[1] Hyper-V 기능과 관리 도구가 정상 설치됐는지도 먼저 확인해야 해요.[2] 스위치 이름만 만든다고 VM의 주소, 게이트웨이, DNS가 자동으로 맞는 것은 아닙니다.
목적별 선택 기준
인터넷에서 패키지만 내려받는 VM
개발용 Linux VM처럼 인터넷으로 업데이트하고 호스트에서 관리하면 되는 경우에는 Default Switch나 별도 NAT가 간단합니다. VM을 집이나 사무실 LAN의 다른 PC에 직접 노출하지 않으므로 관리 범위를 좁히기 쉽습니다. 다만 외부 장치가 VM의 웹 서버나 SSH에 직접 접속해야 한다면 NAT만으로는 부족하고 포트 전달 또는 External 구성이 필요해요.
VM을 실제 LAN 서버처럼 보이게 할 때
NAS, 다른 PC, 테스트용 휴대전화가 VM에 직접 접속해야 한다면 External을 검토합니다. VM이 물리 네트워크와 같은 대역에서 주소를 받아야 하므로 DHCP 정책, 사내 인증, Wi-Fi 드라이버, VPN의 가상 어댑터 처리 여부를 함께 봐야 합니다. 노트북에서 연결이 자주 바뀌는 환경이라면 고정된 유선 어댑터를 기준으로 구성하는 편이 덜 흔들릴 수 있어요.
호스트와 VM만 통신할 때
호스트 브라우저로 VM의 웹 서버를 확인하거나, Windows에 있는 테스트 도구가 VM의 API를 호출하는 정도라면 Internal이 맞습니다. 인터넷은 자동으로 제공되지 않으므로 필요할 때 Windows 인터넷 연결 공유나 별도 라우터 VM을 추가해야 합니다.
VM끼리만 격리할 때
악성 샘플 분석, 폐쇄형 클러스터 테스트, 네트워크 정책 재현처럼 호스트와 인터넷까지 차단해야 한다면 Private가 적합합니다. Private VM에서 패키지 설치가 안 된다고 External로 바꾸면 격리 목적이 사라질 수 있으므로, 필요한 파일은 별도 검증 후 전달하는 방식으로 설계하세요.
NAT를 직접 구성하는 순서
사용자 정의 NAT는 Internal 스위치와 호스트의 NAT 규칙을 묶는 방식입니다. 예시는 다음과 같아요.
New-VMSwitch -Name "LabNAT" -SwitchType Internal
New-NetIPAddress -IPAddress 192.168.137.1 -PrefixLength 24 -InterfaceAlias "vEthernet (LabNAT)"
New-NetNat -Name "LabNAT" -InternalIPInterfaceAddressPrefix 192.168.137.0/24
- 호스트에 Internal 스위치를 만들고 가상 이더넷 어댑터가 생성됐는지 확인합니다.
- 호스트 어댑터에 192.168.137.1 같은 게이트웨이 주소를 설정합니다.
- 같은 스위치에 연결한 VM에 192.168.137.x 주소와 192.168.137.1 게이트웨이를 지정합니다.
- DNS를 설정하고 호스트 게이트웨이, 외부 IP, 도메인 순서로 확인합니다.
- 재부팅 후 주소와 NAT 규칙이 유지되는지 다시 읽습니다.
이 구성은 DHCP 서버를 자동으로 만들어 주지 않으므로 VM에 주소를 직접 넣거나 별도 DHCP를 운영해야 합니다. 같은 주소 대역을 다른 어댑터가 이미 사용하면 충돌할 수 있어요. 회사 VPN이나 WSL2, Docker가 비슷한 사설 대역을 쓰는지도 먼저 확인하세요.
External 스위치에서 조심할 점
먼저 Get-NetAdapter | Format-Table Name, Status, LinkSpeed로 실제 물리 어댑터의 이름과 상태를 기록합니다. 그 다음 필요한 경우 다음처럼 관리 OS 공유를 명시해 스위치를 만듭니다.
New-VMSwitch -Name "HomeLAN" -NetAdapterName "Ethernet" -AllowManagementOS $true
-AllowManagementOS $true가 빠지면 Windows 호스트가 해당 물리 어댑터를 사용하는 방식이 달라질 수 있습니다. Wi-Fi에서 External을 만들 때는 무선 드라이버가 브리지·가상 스위치를 지원하는지, VPN이 Hyper-V 어댑터를 차단하는지 확인하세요. 인터넷이 잠깐 끊겼다고 스위치를 계속 삭제·재생성하면 원래 구성을 잃기 쉬우므로, 물리 어댑터와 가상 어댑터의 상태를 먼저 비교합니다.
문제가 생겼을 때 진단 순서
- VM 설정에서 네트워크 어댑터가 올바른 스위치에 연결됐는지 확인합니다.
- 호스트에서
Get-VMSwitch로 유형과 연결된 물리 어댑터를 확인합니다. Get-NetAdapter로 가상 이더넷 어댑터가 Up인지 봅니다.- VM 안에서 IP 주소, 기본 게이트웨이, DNS를 각각 확인합니다.
- 게이트웨이, 외부 IP, 도메인 이름 순서로 ping 또는 DNS 테스트를 나눠 실행합니다.
- NAT라면
Get-NetNat의 prefix가 VM 주소 대역과 같은지 확인합니다.
호스트에는 접속되는데 도메인만 열리지 않으면 DNS 문제일 수 있고, VM에서 게이트웨이도 닿지 않으면 주소·스위치·가상 어댑터부터 봐야 합니다. LAN의 다른 PC에서만 접근할 수 없다면 NAT의 포트 전달, Windows 방화벽, 서버 프로그램의 바인딩 주소를 따로 확인하세요.
WSL·Docker·VPN이 함께 있을 때
WSL2와 Docker Desktop도 가상 네트워크 어댑터와 사설 대역을 만들 수 있습니다. 이름이 비슷한 어댑터를 임의로 삭제하면 실행 중인 배포판이나 컨테이너가 끊길 수 있어요. 변경 전 Get-NetAdapter, Get-NetIPAddress, Get-NetNat의 결과를 저장하고, 현재 사용 중인 VM·컨테이너·VPN을 하나씩 확인하세요. 네트워크를 바꿀 때는 한 번에 한 요소만 바꿔야 원인을 추적하기 쉽습니다.
자주 묻는 질문
Internal이면 인터넷을 쓸 수 없나요?
기본 상태에서는 VM과 호스트 사이 통신만 제공합니다. 인터넷이 필요하면 ICS, NAT, 라우터 VM 같은 별도 경로를 구성해야 합니다.
서버 VM에는 무조건 External이 좋은가요?
같은 LAN의 여러 장치가 VM에 직접 접근해야 할 때 유리하지만, 관리 범위와 노출도 커집니다. 호스트에서만 확인하면 Internal, 외부에서 특정 포트만 열면 NAT와 전달 규칙이 더 좁은 선택일 수 있어요.
스위치를 바꿨는데 VM이 오프라인입니다.
VM이 새 스위치에 연결됐는지 확인한 뒤, 새 네트워크 대역에 맞춰 IP·게이트웨이·DNS를 바꾸세요. 이전 LAN의 고정 IP를 그대로 두면 스위치가 정상이어도 통신하지 않을 수 있습니다.
마무리
Hyper-V 스위치는 인터넷 가능 여부보다 통신 상대를 기준으로 고르면 됩니다. 인터넷 위주의 개발 VM은 NAT, LAN의 다른 장치와 직접 통신해야 하는 서버는 External, 호스트와만 연결할 관리망은 Internal, VM끼리 격리할 실험망은 Private를 우선 검토하세요. 변경 전 구성을 기록하고, 변경 후에는 VM·게이트웨이·DNS·외부 연결을 나눠 확인하면 불필요한 재설정을 줄일 수 있습니다.
포트 전달과 고정 주소의 경계
NAT 뒤에 웹 서버를 두고 외부에서 접속하려면 호스트의 포트를 VM의 내부 주소로 전달하는 별도 규칙이 필요합니다. 이때 내부 주소가 DHCP로 바뀌면 전달 대상이 달라질 수 있으므로, VM에 예약 주소를 주거나 변경 시 규칙을 함께 갱신해야 해요. 외부에 공개할 포트는 필요한 것만 열고, 관리용 SSH나 원격 데스크톱은 VPN이나 허용된 출발지 주소처럼 더 좁은 경로를 우선 검토하세요.
반대로 호스트에서만 접속할 서비스라면 포트 전달을 만들지 않고 Internal 스위치와 호스트 방화벽 규칙만 관리하는 편이 단순합니다. 방화벽을 전부 끄는 방식은 스위치 유형을 잘못 고른 원인을 해결하지 못하고, 테스트가 끝난 뒤 복구도 어렵습니다. 바꾸기 전 명령 결과와 VM 어댑터 이름을 저장하고, 변경 후에는 한 가지 규칙만 추가한 뒤 연결 범위를 다시 확인하세요.
[…] 네트워크 구성을 점검하는 방법은 Hyper-V 가상 스위치와 NAT·외부 네트워크를 나누는 글에서도 이어서 확인할 수 있어요. 다만 보안 점검에서 가장 먼저 할 일은 […]
[…] 환경의 네트워크 경로도 함께 점검하려면 Hyper-V 가상 스위치 선택법을 이어서 […]