Hyper-V에 NAT Virtual Switch 생성하기


Windows 10/11의 Hyper-V에는 Default Switch라는 NAT를 해주는 가상 스위치가 있다
하지만 이것의 IP 대역을 관리자 마음대로 정할 수가 없다
그래서 관리자 마음대로 IP 대역을 지정하기 위해서는 수동으로 Virtual Switch를 생성하면 된다
그리고 Windows Server의 Hyper-V에서는 Default Switch라는 NAT용 가상스위치가 없기 때문에,
수동으로 Virtual Switch를 만드는 방법을 알고 있어야 한다

  1. 내부용으로 사용하는 가상 스위치(NATSwitch) 생성하기
    New-VMSwitch -SwitchName “NATSwitch” -SwitchType Internal
    이 스위치를 New-NetNat 명령으로 NAT 기능을 구현하여 인터넷으로 연결할 수 있다

Get-VMSwitch (##생성한 Virtual Switch 확인하기)
Get-NetAdapter (##Application에 의해 Virtual Switch가 생성되면 Virtual Adapter가 생성된다)

  1. 생성된 Virtual Adapter에 IP Address 지정하기
    New-NetIPAddress -IPAddress 10.10.10.1 -PrefixLength 24 -InterfaceAlias “vEthernet (NATSwitch)”
    이것이 NATSwitch를 사용하는 VM들의 Default Gateway 역할을 한다
  2. 10.10.10.0/24 대역의 Internal IP를 NAT 해주도록 설정하기
    New-NetNat -Name “NATNetwork” -InternalIPInterfaceAddressPrefix “10.10.10.0/24”
  3. 생성한 NAT의 IP 대역 설정 보기
    Get-NetNat -Name NATNetwork | fl
  4. Hyper-V Manager에서 각 VM들의 Network Adapter를 NATSwitch라는 가상 스위치를 사용하도록 변경한다
  5. NATSwitch 스위치를 사용하는 VM들의 NIC에 10.10.10.0/24의 IP를 수동으로 설정해주어야 한다
    10.10.10.10
    255.255.255.0
    10.10.10.1
    8.8.8.8

이렇게 수동으로 입력하면 VM간의 통신을 위해서 추가적인 Virtual Switch가 필요가 없다

이렇게 만든 NATSwitch는 virtual Box의 NATNetwork와 동일하다. 즉, 인터넷 접속도 되고, VM간의 통신도 된다

  1. Virtual Switch 생성으로 만들어진 Virtual Adapter 삭제하기
    Get-VMSwitch
    Get-NetAdapter

Get-VMSwitch -Name Natswitch | Remove-VMSwitch -Force (##가상 스위치 제거하기)
Get-HNSNetwork | Where-Object {$_.Name -Like “*NATSwitch”} | Remove-HNSNetwork (##삭제한 가상 스위치에서 생성된 Virtual Adapter 삭제하기)

Get-VMSwitch
Get-NetAdapter
성공!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s