1. 網路介面卡為internal型別的虛擬交換機。

在這裡,網路介面卡就是安裝Hyper-V的時候預設安裝的<預設交換機>,其配置如下:

可以看到,預設交換機的連線型別是內部網路,虛擬機器通過NAT方式訪問internet。

為了在虛擬機器中能訪問internet,要在win10的<網路連線>中,將預設交換機和wlan橋接起來。

選擇WLAN和vEthernet(預設交換機),右擊滑鼠,選擇橋接,如上圖,結果如下面的兩個圖


啟動虛擬機器後,看到IP,arp相關資訊如下:

> ipconfig

乙太網介面卡 vEthernet (external):

   連線特定的 DNS 字尾 . . . . . . . : Home1
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.187
   子網掩碼  . . . . . . . . . . . . : 255.255.255.0
   預設閘道器. . . . . . . . . . . . . : 192.168.1.1

乙太網介面卡 vEthernet (預設交換機):

   IPv4 地址 . . . . . . . . . . . . : 172.30.227.177
   子網掩碼  . . . . . . . . . . . . : 255.255.255.240
   預設閘道器. . . . . . . . . . . . . :

   
> arp -a

介面: 172.30.227.177 --- 0xa
  Internet 地址         實體地址              型別
  172.30.227.182        00-15-5d-38-01-19     靜態

可以看到虛擬機器的ip地址為172.30.277.182, Hyper-V的預設交換機的地址為172.30.227.177,對外地址(由無線路由器獲取的ip)為192.168.1.187.

從虛擬機器裡看到自身的ip和路由資訊和上面Win10 host中看到的也是吻合的。

[email protected]:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.30.227.182  netmask 255.255.255.240  broadcast 172.30.227.191

[email protected]:~$ ip route
default via 172.30.227.177 dev eth0 proto dhcp metric 100
172.30.227.176/28 dev eth0 proto kernel scope link src 172.30.227.182 metric 100	

> tracert 172.30.227.182

通過最多 30 個躍點跟蹤
到 abc-VM.mshome.net [172.30.227.182] 的路由:

  1    <1 毫秒   <1 毫秒   <1 毫秒 abc-VM.mshome.net [172.30.227.182]

跟蹤完成。

win10 host對虛擬機器的訪問可以通過ssh,ssh可以直接通過ip,或者完整的域名。

> ssh [email protected]
[email protected]'s password:
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-22-generic x86_64)
> ssh [email protected]
[email protected]'s password:
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-22-generic x86_64)
這兩種方式都可以,但是僅僅使用主機名則不行,例如:
> ssh [email protected]
ssh: Could not resolve hostname abc-vm: \262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243
無法解析主機名,不知道是不是因為不在同一個網段的緣故。

2.  網路介面卡為external型別的虛擬交換機。

方法類似,建立的虛擬交換機連線方式為外部網路;虛擬機器上網不是NAT的方式,而是和host在同一網段,但是由於Hyper-V 固有的一個問題,使用這種方式後,host網速變得很慢,檢視很多網上的解決方案,都是針對通過有線乙太網上網的方式進行解決的,針對wifi上網沒有看到好的辦法。

相關的網頁連結:

https://social.technet.microsoft.com/Forums/windowsserver/en-US/29c669db-30fe-4196-9b95-a9d5e48ac318/slow-network-performance-after-adding-hyperv-role-to-windows-server-2008-r2?forum=winserverhyperv

https://www.cnblogs.com/GSonOVB/archive/2009/11/12/1601435.html

另外,關於Hyper-V虛擬機器上網,可以參考:

https://social.microsoft.com/Forums/de-DE/8bc77ba4-496d-494b-a1f6-92ffeac5d444/22914203093575331508357602641219978368163489230340hyperv20351299?forum=windowsserversystemzhchs

https://www.cnblogs.com/phpandmysql/p/7811852.html