场景: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:

  1. NAT,用于上网,默认配置即可
  2. bridged,记得选择刚才在Host新增的虚拟网卡

VirtualBox网络适配器配置截图

常见issue#

host ping不通guest#

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

Windows防火墙配置截图

如果出于安全考量,不想一刀切地关闭防火墙,那么也可以新建inbound rule:

advanced settings -> inbound rules -> new rule -> custom -> protocol type: ICMPv4 → customize → specific ICMP types → echo request -> …

没有特别说明就点next即可。