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
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 指令來完成此操作
Hyper-V Management 的介面上並沒有提供此功能,必須藉由 Powershell 指令來完成此操作
1. 新增網路連線 "Private Switch"
PS C:\> New-VMSwitch -SwitchName "Private Switch" -SwitchType Internal
PS C:\> New-VMSwitch -SwitchName "Private Switch" -SwitchType Internal
2. 查看 "Private Switch" 的 ifIndex
PS C:\> Get-NetAdapter
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
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
$ 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 連線
留言
張貼留言