在使用 Windows Hyper-V 建立 Ubuntu 虛擬機的開發或測試環境時,能夠為虛擬機配置一個穩定不變的 IP 位址,將大幅提升網路連線的效率與管理的便利性。尤其在進行像是 SSH 登入、Web 系統測試、資料庫連線等作業時,若每次開機的 IP 都不固定,不僅容易造成錯誤,也會浪費許多不必要的時間。因此,透過設定「固定 IP」,就能讓虛擬機與主機之間的網路連線更為順暢並且可控。
Hyper-V 預設所使用的虛擬交換器(Default Switch)是基於動態 IP 的 DHCP 機制,這意味著每次開機時分配的 IP 可能都不一樣。為了解決這個問題,可以手動建立一個「內部交換器(Internal Switch)」,並在主機端模擬 DHCP 功能,讓虛擬機在指定的網段中使用手動設定的固定 IP。這樣不僅可以保證 IP 穩定,也能讓多部虛擬機彼此溝通,甚至在必要時透過主機分享網路連線。
接下來將一步步教您如何建立內部虛擬交換器、設定主機與虛擬機的 IP,並在 Ubuntu 中套用這些設定,打造一個專屬、穩定且易於管理的開發環境。
▲ 開啟 Hyper-V 管理員,從右側操作選單中點選「虛擬交換器管理員」進入設定畫面。
▲ 選擇「新建虛擬網路交換器」,並將類型設為「內部」,點選右下的建立按鈕。
▲ 命名虛擬交換器(例如:內部虛擬交換器),確認連線類型為「內部網路」後按確定。
▲ 進入控制台的「網路連線」(控制台\網路和網際網路\網路連線)畫面,找到剛建立的虛擬網卡(vEthernet),右鍵點選「內容」。
▲ 設定主機的虛擬網卡 IP,例如 192.168.50.1,此網段將供虛擬機使用固定 IP。
▲ 回到 Hyper-V,在虛擬機清單中右鍵 Ubuntu_VM,選擇「設定」來變更網路介面。
▲ 將網路介面卡的虛擬交換器切換為剛剛建立的「內部虛擬交換器」,並按下確定。
▲ 設定完成後,回到 Hyper-V 介面,右鍵虛擬機選擇「連線」,準備登入 Ubuntu。
▲ 編輯 Ubuntu 中的 netplan 設定檔,關閉 DHCP,並改為手動設定固定 IP。
※ 備註:請先下指令 cd /etc/netplan/
,再下 ls
確認 .yaml 檔名,最後下 vim 檔名.yaml
來編輯 netplan 設定檔。參考格式如下:
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.50.10/24
gateway4: 192.168.50.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
▲ 在主機端使用終端機 SSH 測試連線,若出現登入畫面即代表固定 IP 設定成功。
讓內部虛擬機透過主機連上網際網路(可選)
警告:這個方法不穩定,若要穩定連上外網建議改用「外部虛擬交換器」。
▲ 來到控制台的「網路連線」(控制台\網路和網際網路\網路連線)畫面,在 Wi-Fi(或乙太網路,依照實際連上外網界面為主)內容中開啟「網路共用」,並選擇共享對象為內部虛擬交換器的 vEthernet。
▲ 確認共享設定後,Ubuntu 中的 IP 網段也會變更,需同步調整 gateway 與固定 IP 位址設定。
▲ 主機端透過終端機 SSH 成功連線至 Ubuntu 虛擬機的固定 IP,代表網路與共用設定皆已正確完成。
當我們完成了 Hyper-V 虛擬機的固定 IP 設定後,雖然透過內部交換器(Internal Switch)可以讓主機與虛擬機之間順利互通,但若您有「讓虛擬機連上網際網路」的需求,最後可選的做法可能會遇到一些限制與不穩定的情況。
內部交換器的設計目的是提供虛擬機與主機之間的私有網路連線,本身不具備 NAT 或橋接能力,也就是說,它無法直接提供虛擬機對外連網的能力。如果您透過主機開啟「網際網路連線共享(ICS)」功能,雖然可以讓虛擬機透過主機上網,但實際使用中會發現:
- ICS 容易因為主機重開機、換網路卡、改 Wi-Fi、啟用 VPN 等狀況而失效。
- 同時存在多部虛擬機會出現 IP 衝突或連線不穩的問題。
- 主機網路設定一旦變動,就必須重新調整 ICS 設定。
因此,如果您的虛擬機除了內部通訊外,也需要穩定連網,更建議改用「外部虛擬交換器」。這樣可讓虛擬機像實體電腦一樣,直接取得實體網路環境的 IP,連網快速又穩定,適合日常開發、測試或更新用途。總結,內部網路適合用在封閉環境下的虛擬機連線,若您只是希望「固定 IP 且能上網」,使用外部交換器會是最簡單、省事、也最穩定的選擇。
留言區 / Comments
萌芽論壇