Hyper-V를 사용하면 기본제공되는 Default Switch는 부팅할 때마다 IP 주소 대역이 변한다. 인터넷 연결도 안된다. 부팅하면 다 황이다. 당췌 어떻게 써먹으란 말인가. 이것때문에 불만을 토로하는 글타래도 찾아볼 수 있다. 그래서 NAT 스위치를 따로 만들어 사용하는게 정신 건강에 좋다.
참조(한국어 번역이 엉망이므로 영어로 읽는게 낫다.)
1.
NAT를 제공할 가상 스위치를 만든다.
New-VMSwitch -SwitchName "NAT" -SwitchType Internal
# Standard output
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
NAT Internal
PowerShell
복사
2.
네트워크 어댑터 목록에서 NAT 스위치의 ifIndex 값을 확인한다.
PS C:\Users\joshua> get-netadapter
# Standard output. Jot down the ifIndex of the VMSwitch you made
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
Bluetooth 네트워크 연결 Bluetooth Device (Personal Area Networ… 24 Disconnected 9C-B6-D0-D8-24-A8 3 Mbps
vEthernet (Default Switc… Hyper-V Virtual Ethernet Adapter #2 33 Up 00-15-5D-4B-25-E2 10 Gbps
Wi-Fi Killer Wireless-n/a/ac 1535 Wireless N… 17 Up 9C-B6-D0-D8-24-A7 866.7 Mbps
vEthernet (WSL) Hyper-V Virtual Ethernet Adapter #5 47 Up 00-15-5D-38-35-F9 10 Gbps
vEthernet (Wi-Fi) Hyper-V Virtual Ethernet Adapter #3 38 Up 00-15-5D-51-10-A4 10 Gbps
vEthernet (NAT) Hyper-V Virtual Ethernet Adapter 16 Up 00-15-5D-00-16-07 10 Gbps
vEthernet (vEthernet (NA… Hyper-V Virtual Ethernet Adapter #4 30 Up 00-15-5D-E7-AA-E5 10 Gbps
PowerShell
복사
3.
NAT 게이트웨이 IP 주소를 지정한다.
PS C:\Users\joshua> New-NetIPAddress -IPAddress 172.30.240.1 -PrefixLength 20 -InterfaceIndex 16
# Standard Out (One is ActiveStore, another PersistentStore)
IPAddress : 172.30.240.1
InterfaceIndex : 16
InterfaceAlias : vEthernet (NAT)
AddressFamily : IPv4
Type : Unicast
PrefixLength : 20
PrefixOrigin : Manual
SuffixOrigin : Manual
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 172.30.240.1
InterfaceIndex : 16
InterfaceAlias : vEthernet (NAT)
AddressFamily : IPv4
Type : Unicast
PrefixLength : 20
PrefixOrigin : Manual
SuffixOrigin : Manual
AddressState : Invalid
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PolicyStore : PersistentStore
PowerShell
복사
4.
NAT 네트워크를 구성한다.
PS C:\Users\joshua> New-NetNat -Name VMNet -InternalIPInterfaceAddressPrefix 172.30.240.0/20
# Standard Out
Name : VMNet
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 172.30.240.0/20
IcmpQueryTimeout : 30
TcpEstablishedConnectionTimeout : 1800
TcpTransientConnectionTimeout : 120
TcpFilteringBehavior : AddressDependentFiltering
UdpFilteringBehavior : AddressDependentFiltering
UdpIdleSessionTimeout : 120
UdpInboundRefresh : False
Store : Local
Active : True
PowerShell
복사
여기까지 했으면 Hyper-V 가상머신에서 가상 스위치를 NAT로 지정한다. IP 주소는 수동으로 지정해서 사용한다.