需求
- 虛擬機的內網IP是固定的,無論我的電腦切換到什麼網絡中;
- 虛擬機可以訪問外網。
實現方法
步驟描述
- 點擊“虛擬交換機管理器”,創建“內部”虛擬交換機,別名爲
Inner Switch
;
- 打開虛擬機設置,分別添加網絡適配器
Inner Switch
和 Default Switch ( Hyper-V內置可訪問互聯網的默認虛擬交換機)
;
- 進入虛擬機,將
Inner Switch
網卡的 IP 固定下來,同時 Default Swtich
保留 DHCP
的能力,可參考後文中的 netplan 配置
;
- 在宿主機的網絡適配器中,將
Inner Switch
的 IP 設置爲虛擬機中 IP 的網關地址,在我這裏是 192.168.193.1
;
- 使用
route -n
查看路由表,將 Inner Switch
對 0.0.0.0 的訪問刪除;
- 大功告成。
netplan 固定IP
network:
ethernets:
eth0:
addresses: [192.168.193.16/24]
gateway4: 192.168.193.1
nameservers:
addresses: [192.168.193.1]
eth1:
dhcp4: true
version: 2
刪除 Inner Switch 路由表方法
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.193.1 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 172.20.112.1 0.0.0.0 UG 100 0 0 eth1
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.20.112.0 0.0.0.0 255.255.240.0 U 0 0 0 eth1
172.20.112.1 0.0.0.0 255.255.255.255 UH 100 0 0 eth1
192.168.193.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
$ sudo route del -net 0.0.0.0 gw 192.168.193.1