Windows 10 Hyper-V 虛擬機連線設定

目的:

1. 虛擬機可以連上外網
2. 實體機可以透過固定 IP 訪問虛擬機 

OS 版本:

實體機 Windows 10
虛擬機 Ubuntu 20.04
 
 

作法:

一 、 配置虛擬機第一張網卡使用 dhcp 連外網
 
1. Hyper-V 虛擬交換器管理員新增 "My VM" , 並且設定連線至外部實體網卡

 

2. 將 "My VM" 設定為 ubuntu 的第一張網卡



3. 啟動 ubuntu 修改網路設定 
    vim /etc/netplan/00-installer-config.yaml
 
    network:
      ethernets:
          eth0:
            dhcp4: true
4. 執行 netplay apply 讓設定生效

5. 執行 ping -c 2 8.8.8.8 確定虛擬機可以連線外網
 
 
 
二 、 配置虛擬機第二張網卡使用固定 IP 讓實體機連線
 
 
 Hyper-V 預設的 Default Switch 不允許自訂 (固定) IP
 Hyper-V Management 的介面上並沒有提供此功能,必須藉由 Powershell 指令來完成此操作
 
1. 新增網路連線 "Private Switch"
       PS C:\> New-VMSwitch -SwitchName "Private Switch" -SwitchType Internal

 
2. 查看  "Private Switch" 的 ifIndex
       PS C:\> Get-NetAdapter
  
3. 指定 Gateway IP "10.0.87.1" 
    -InterfaceIndex 後面填剛才看到的 ifIndex
            PS C:\> New-NetIPAddress -IPAddress 10.0.87.1 -PrefixLength 24 -InterfaceIndex 69


4. 建立一個網段  "Private NAT" 供剛才建立的 Switch "10.0.87.x" 使用
            PS C:\> New-NetNat -Name "Private NAT" -InternalIPInterfaceAddressPrefix 10.0.87.0/24
 
5. 查看 Hyper-V 虛擬交換器管理員多了 "Private Switch" 
 
6. Hyper-V  ubuntu 虛擬機加增加第二張網卡 "Private Switch" 

7. ubuntu 修改 netplan
   設定第二張網卡 eth1 指定 IP 10.0.87.101、getway 10.0.87.1 (剛才步驟四設定的 IP)與 DNS server 8.8.8.8 (google DNS server IP)
       
        $ vim /etc/netplan/00-installer-config.yaml
            # This is the network config written by 'subiquity'
            network:
              ethernets:
                 eth0:
                   dhcp4: true
                 eth1:
                   addresses: [10.0.87.101/24]
                   gateway4: 10.0.87.1
                   nameservers:
                           addresses: [8.8.8.8]
              version: 2
 
8. 執行 netplan apply 讓設定生效
9. 執行 ip addr 查看設定


1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:aa:46:06 brd ff:ff:ff:ff:ff:ff
    inet 172.21.60.16/23 brd 172.21.61.255 scope global dynamic eth0
       valid_lft 21438sec preferred_lft 21438sec
    inet6 fe80::215:5dff:feaa:4606/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:aa:46:0a brd ff:ff:ff:ff:ff:ff
    inet 10.0.87.101/24 brd 10.0.87.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:feaa:460a/64 scope link
       valid_lft forever preferred_lft forever

10. 實體機使用 XShell/Putty 可以使用固定 IP 10.0.87.101 連線
 
 
 
 
 
 
 
 
 
 
 

留言