最近在帮忙配置一个神奇的网络环境,其中需要服务器主机发送带有VLAN ID的数据包才能被交换机识别转发,并且需要一个网口使用两个VLAN上网(单网口双VLAN),这就需要使用虚拟网口了。官方文档和网上资源比较零碎,经过整合后配置如下
network:
ethernets:
eno1:
dhcp4: true
dhcp6: false
dhcp4-overrides:
use-routes: false
ens3:
dhcp4: false
dhcp6: false
vlans:
vlan211:
id: 211
link: ens3
dhcp4: false
addresses:
- 192.168.31.250/24
gateway4: 192.168.31.1
nameservers:
addresses: [119.29.29.29, 223.5.5.5]
vlan212:
id: 212
link: ens3
dhcp4: true
dhcp4-overrides:
use-routes: false
特别说明
关键词 vlan211
与 vlan212
需要手动添加虚拟网口并标记VLAN ID
sudo ip link add link ens3 name vlan211 type vlan id 211
sudo ip link add link ens3 name vlan212 type vlan id 212
该配置用来控制系统不使用该网口作为上网的默认网关,在多网口的环境下控制上网流量的方向。(实践发现不设置上网网关后,入站方向的流量也被屏蔽)
dhcp4-overrides:
use-routes: false