Skip to content

Hyper-V NAT 靜態 IP

步驟

  1. 以管理員身份打開 Powershell
  2. 輸入以下命令
ps1
New-VMSwitch -SwitchName "NAT" -SwitchType Internal
# 這會建立一個 vSwitch,你可以通過 Win+R > 輸入 ncpa.cpl > Enter 來查看

Get-NetAdapter
# 這會列出你電腦上所有的網絡介面卡,找到剛剛建立的那個介面卡
# 它應該被命名為 "vEthernet (NAT)",找到它的 "ifIndex" 並記住它

New-NetIPAddress -IPAddress 192.168.131.1 -PrefixLength 24 -InterfaceIndex $ifindex
# 這用於建立匝道,-IPAddress 將是你在這個新建立的 NAT 介面上的電腦 IP
# -InterfaceIndex 應該是你在前一個命令中記住的數字

New-NetNat -Name NAT -InternalIPInterfaceAddressPrefix 192.168.131.0/24
# 這個命令在子網 192.168.56.0 下建立 NAT 網絡,子網掩碼為 255.255.255.0

第三和第四個命令中的 IP 地址可以更改為任何你喜歡的地址,只要該 IP 地址在 C 類(本地 IP)中。

  1. 之後,打開 Hyper-V 管理器,打開你的虛擬機設置。
    點擊網絡介面卡部分,將其更改為你建立的 NAT 虛擬交換器。 Adapter Image

  2. 現在連接到你的虛擬機,登錄到 root 帳戶,並輸入 nmtui 命令 Adapter Image

  3. 選擇 Edit a connection

  4. 選擇 eth0,按一次 Tab 鍵,然後選擇 <Edit...>,然後按 Enter Adapter Image

  5. 不要編輯Profile name和Device,使用向下箭頭鍵將游標移動到 IPv4 配置部分

  6. <Automantic> 更改為 <Manual>

  7. 將Address編輯為 192.168.131.2/24

  8. 將Gateway編輯為 192.168.131.1

  9. DNS 伺服器應與你的主機系統相同,在這種情況下,它是 192.168.1.1 和 168.95.1.1, 如果你想在這個虛擬機上添加更多的 DNS 伺服器,你可以選擇 DNS 伺服器部分下的 <Add...>

  10. 使用向下箭頭選擇 <OK> 完成 eth0 IP 配置。 Adapter Image

  11. 按 Esc 返回上一級,然後選擇 Activate a connection

  12. 選擇 eth0,Deactivate,然後Activate。

  13. 退出 nmtui 並嘗試 ping 外部網路,例如 1.1.1.1,8.8.8.8 等。

  14. 如果顯示Host Unreachable,可以嘗試重啟虛擬機。

  15. 之後,重複步驟 15,應該可以正常工作,從主機系統連接 192.168.56.2 應該就會顯示頁面。

如果你打算把VM的服務以Host的IP公開,最後可以再使用這條PowerShell指令(需要管理員權限)

powershell
Add-NetNatStaticMapping -NatName "<NAT NAME>" -Protocol TCP -ExternalIPAddress 0.0.0.0/24 -ExternalPort <Port wish to expose> -InternalIPAddress <VM IP> -InternalPort <VM Service Port>