﻿# 讓 Windows 10 筆電在透過 Wi-Fi 與 DHCP 上網時也可以正常使用 Hyper-V

好一陣子我的筆電都沒辦法正常的使用 Hyper-V 來架設虛擬機，並不是 VM 無法使用，而是無法使用 Hyper-V 的「內部網路」( Internal network ) 並且讓 VM 動態取得 IP，每次都要用「外部網路」( External network ) 並且在區網內取得一個實體 IP 才能上網，而且有很多網路環境無法實驗，實在非常不便。最近由於在玩 [Vagrant](https://www.vagrantup.com/) 的時候又再次遇到了這個問題，這才發現解決之道，因此特別撰文分享解決辦法。

首先，你要先在 Hyper-V 建立好一張虛擬交換器 (Virtual Switch)，這裡我命名為 **InternalSwitch** (建議用英文命名)，並將該虛擬交換器的連線類型設定為「**內部網路**」，如下圖示：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6d6fad3fa909172cbd6b-image_3077.png)

接下來這個步驟很重要，就是調整你的網路介面卡的設定，請執行 **ncpa.cpl** 啟動控制台中的「網路連線」視窗，找到你的 Wi-Fi 網卡介面，並開啟「內容」對話框。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/0b8e3b8baf0495a5ebaf-image_3078.png)

接著則是要勾選「**網際網路連線共用**」，並且選擇一個要共用的網路介面，這裡請選擇你在步驟一設定的那一個網路卡介面，這個網路卡介面的名稱一定是 **vEthernet** 開頭，所以應該很好找。我之前就是沒有做好這一步，導致我的 Hyper-V 一直處於異常狀態。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/19e1694fc992708d7ef4-image_3079.png)

設定完**網際網路連線共用**之後，由於 **vEthernet (InternalSwitch)** 被設定與 **Wi-Fi** 網路介面共享，所以以這個 **vEthernet (InternalSwitch)** 網路介面將會自動取得一個內部 IP 地址，並透過 NAT 自動連線到外部網路。這個步驟不用做任何設定。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/37266a98bb9bd1563114-image_3080.png)

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/8a94fee9b7c7cad41818-image_3081.png)

接下來這個步驟則是跟 [Vagrant](https://www.vagrantup.com/) 比較有關，你最好把 **vEthernet (InternalSwitch)** 的 **網際網路通訊協定第 6 版 (TCP/IPv6)** 這個項目給關閉 (取消勾選)，以免遇到許多奇奇怪怪無法啟動 VM 的問題。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/a96aff358a96d399b45f-image_3082.png)

我的電腦終於可以正常使用 Hyper-V 啦！

如果你還有遇到其他的連線問題，底下的相關連結都可以查看看。

**相關連結**

-   [Notes on Vagrant and Hyper-V](https://gist.github.com/savishy/8ed40cd8692e295d64f45e299c2b83c9)
-   [Running Ubuntu with DHCP on Hyper-V over WIFI — Hurry Up and Wait!](http://www.hurryupandwait.io/blog/running-an-ubuntu-guest-on-hyper-v-assigned-an-ip-via-dhcp-over-a-wifi-connection)
-   [Vagrant and Hyper-V — Tips and Tricks | Virtualization Blog](https://blogs.technet.microsoft.com/virtualization/2017/07/06/vagrant-and-hyper-v-tips-and-tricks/)
-   [Set up a NAT network | Microsoft Docs](https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/setup-nat-network)
-   [1.5.0: Failed to determine VM's IP address even when Virtual Switch Manager setup for this and tried apt-get install steps at http://docs.vagrantup.com/v2/hyperv/boxes.html · Issue #3247 · hashicorp/vagrant](https://github.com/hashicorp/vagrant/issues/3247)
