Linux下的Windows虚拟机配置VLAN ID
场景:Linux作为host、Windows作为guest、虚拟机软件是VirtualBox。
Host配置#
新增虚拟网卡:
❯ sudo nmcli connection add type vlan \
id 2 \
con-name my_vlan \
ifname wlp3s0.2 \
dev wlp3s0 \
ip4 192.168.2.1/24
以上命令新增了一个类型为VLAN、ID为2、标识名称为my_vlan、实际接口名称为wlp3s0.2、基于物理网卡wlp3s0的虚拟网卡。
double check一下,看看是否新增成功:
❯ ip addr show wlp3s0.2
VirtualBox配置#
需要两个网络adapter:
- NAT,用于上网,默认配置即可
- bridged,记得选择刚才在Host新增的虚拟网卡

常见issue#
host ping不通guest#
guest Windows可以ping通host Linux虚拟网卡的IP,反过来却不行。这是Windows防火墙的问题,直接关闭public networks的防火墙就可以了:

如果出于安全考量,不想一刀切地关闭防火墙,那么也可以新建inbound rule:
advanced settings -> inbound rules -> new rule -> custom -> protocol type: ICMPv4 → customize → specific ICMP types → echo request -> …
没有特别说明就点next即可。