4.2. 使用 nmcli 配置嵌套 VLAN
802.1ad 是用于虚拟局域网(VLAN)标记的协议。它也被称为 Q-in-Q 标记。您可以使用此技术在单个以太网范围内创建多个 VLAN 标签。
单一帧中多个 VLAN 标签的好处:
- 通过在 VLAN 中创建多个隔离网络段来提高网络可扩展性。这可让您将大型网络分段并组织成较小的、可管理的单元。
 - 通过隔离和控制不同类型的网络流量,改进了流量管理。这可以提高网络性能并减少网络拥塞。
 - 通过创建较小的,多个目标网络段,实现高效资源利用率。
 - 通过隔离网络流量,降低未授权访问敏感数据的风险,提高了安全性。
 
先决条件
- 您计划用作虚拟 VLAN 接口的父接口支持 VLAN 标签。
 如果您在绑定接口之上配置 VLAN:
- 绑定的端口是上线的。
 - 
								这个绑定没有使用 
fail_over_mac=follow选项进行配置。VLAN 虚拟设备无法更改其 MAC 地址以匹配父设备的新 MAC 地址。在这种情况下,流量仍会与不正确的源 MAC 地址一同发送。 - 
								这个绑定通常不会预期从 DHCP 服务器或 IPv6 自动配置获取 IP 地址。在创建绑定时,通过设置 
ipv4.method=disable和ipv6.method=disable选项来确保。否则,如果 DHCP 或 IPv6 自动配置在一段时间后失败,接口可能会关闭。 
- 主机连接到的交换机被配置为支持 VLAN 标签。详情请查看您的交换机文档。
 
流程
显示物理网络设备:
nmcli device status
# nmcli device status DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected enp1s0 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建基础 VLAN 接口。例如,要创建一个名为
vlan10的基本 VLAN 接口,它使用enp1s0作为其父接口,以及 VLAN ID 为10的标记数据包,请输入:nmcli connection add type vlan con-name vlan10 dev enp1s0 vlan.id 10
# nmcli connection add type vlan con-name vlan10 dev enp1s0 vlan.id 10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,VLAN 必须在范围
0到4094之间。默认情况下,VLAN 连接会继承上级接口的最大传输单元(MTU)。另外,还可设置不同的 MTU 值:
nmcli connection modify vlan10 ethernet.mtu 2000
# nmcli connection modify vlan10 ethernet.mtu 2000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在基本 VLAN 接口之上创建嵌套的 VLAN 接口:
nmcli connection add type vlan con-name vlan10.20 dev enp1s0.10 id 20 vlan.protocol 802.1ad
# nmcli connection add type vlan con-name vlan10.20 dev enp1s0.10 id 20 vlan.protocol 802.1adCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令会在父 VLAN 连接
vlan10上创建一个新的 VLAN 连接,名称为vlan10.20,VLAN ID 为20。dev选项指定父网络设备。在本例中,是enp1s0.10。vlan.protocol选项指定 VLAN 封装协议。在本例中,它是802.1ad(Q-in-Q)。配置嵌套 VLAN 接口的 IPv4 设置:
- 要使用 DHCP,不需要任何操作。
 要为
vlan10.20连接设置静态 IPv4 地址、网络掩码、默认网关和 DNS 服务器设置,请输入:nmcli connection modify vlan10.20 ipv4.method manual ipv4.addresses 192.0.2.1/24 ipv4.gateway 192.0.2.254 ipv4.dns 192.0.2.200
# nmcli connection modify vlan10.20 ipv4.method manual ipv4.addresses 192.0.2.1/24 ipv4.gateway 192.0.2.254 ipv4.dns 192.0.2.200Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
配置嵌套 VLAN 接口的 IPv6 设置:
- 要使用无状态地址自动配置(SLAAC),不需要采取任何操作。
 要为 vlan10 连接设置静态 IPv6 地址、网络掩码、默认网关和 DNS 服务器设置,请输入:
nmcli connection modify vlan10.20 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manual
# nmcli connection modify vlan10.20 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manualCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
激活配置文件:
nmcli connection up vlan10.20
# nmcli connection up vlan10.20Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
验证
验证嵌套 VLAN 接口的配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow