Hyper-V NAT 靜態 IP
步驟
- 以管理員身份打開 Powershell
- 輸入以下命令
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)中。
之後,打開 Hyper-V 管理器,打開你的虛擬機設置。
點擊網絡介面卡部分,將其更改為你建立的NAT虛擬交換器。
現在連接到你的虛擬機,登錄到 root 帳戶,並輸入
nmtui命令
選擇
Edit a connection選擇
eth0,按一次 Tab 鍵,然後選擇<Edit...>,然後按 Enter不要編輯Profile name和Device,使用向下箭頭鍵將游標移動到 IPv4 配置部分
將
<Automantic>更改為<Manual>將Address編輯為 192.168.131.2/24
將Gateway編輯為 192.168.131.1
DNS 伺服器應與你的主機系統相同,在這種情況下,它是 192.168.1.1 和 168.95.1.1, 如果你想在這個虛擬機上添加更多的 DNS 伺服器,你可以選擇 DNS 伺服器部分下的
<Add...>。使用向下箭頭選擇
<OK>完成 eth0 IP 配置。
按 Esc 返回上一級,然後選擇
Activate a connection選擇 eth0,Deactivate,然後Activate。
退出 nmtui 並嘗試 ping 外部網路,例如 1.1.1.1,8.8.8.8 等。
如果顯示Host Unreachable,可以嘗試重啟虛擬機。
之後,重複步驟 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>