5.2. 使用 nmcli 配置嵌套 VLAN
802.1ad 是用于虚拟局域网(VLAN)标记的协议。它也被称为 Q-in-Q 标记。您可以使用此技术在单个以太网框架中创建多个 VLAN 标签,以实现以下优点:
- 通过在 VLAN 中创建多个隔离网络段来提高网络可扩展性。这可让您将大型网络分段并组织成较小的、可管理的单元。
- 通过隔离和控制不同类型的网络流量,改进了流量管理。这可以提高网络性能并减少网络拥塞。
- 通过创建较小的,多个目标网络段,实现高效资源利用率。
- 通过隔离网络流量,降低未授权访问敏感数据的风险,提高了安全性。
前提条件
- 您计划用作虚拟 VLAN 接口的父接口支持 VLAN 标签。
如果您在绑定接口之上配置 VLAN:
- 绑定的端口是上线的。
-
这个绑定没有使用
fail_over_mac=follow
选项进行配置。VLAN 虚拟设备无法更改其 MAC 地址以匹配父设备的新 MAC 地址。在这种情况下,流量仍会与不正确的源 MAC 地址一同发送。 -
这个绑定通常不会预期从 DHCP 服务器或 IPv6 自动配置获取 IP 地址。在创建绑定时通过设置
ipv4.method=disable
和ipv6.method=ignore
选项来确保它。否则,如果 DHCP 或 IPv6 自动配置在一段时间后失败,接口可能会关闭。
- 主机连接到的交换机被配置为支持 VLAN 标签。详情请查看您的交换机文档。
步骤
显示物理网络设备:
# nmcli device status DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected enp1s0 ...
创建基础 VLAN 接口。例如,要创建一个名为
vlan10
的基本 VLAN 接口,它使用enp1s0
作为其父接口,以及 VLAN ID 为10
的标记数据包,请输入:# nmcli connection add type vlan con-name vlan10 dev enp1s0 vlan.id 10
请注意,VLAN 必须在范围
0
到4094
之间。默认情况下,VLAN 连接会继承上级接口的最大传输单元(MTU)。另外,还可设置不同的 MTU 值:
# nmcli connection modify vlan10 ethernet.mtu 2000
在基本 VLAN 接口之上创建嵌套的 VLAN 接口:
# nmcli connection add type vlan con-name vlan10.20 dev enp1s0.10 id 20 vlan.protocol 802.1ad
此命令会在父 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
配置嵌套 VLAN 接口的 IPv6 设置:
- 要使用无状态地址自动配置(SLAAC),则不需要任何操作。
要为 vlan10 连接设置静态 IPv4 地址、网络掩码、默认网关和 DNS 服务器设置,请输入:
# nmcli connection modify vlan10 ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253' ipv4.method manual
激活配置文件:
# nmcli connection up vlan10.20
验证
验证嵌套 VLAN 接口的配置:
# ip -d addr show enp1s0.10.20 10: enp1s0.10.20@enp1s0.10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:d2:74:3e brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 0 maxmtu 65535 vlan protocol 802.1ad id 20 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536 inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp1s0.10.20 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::ce3b:84c5:9ef8:d0e6/64 scope link noprefixroute valid_lft forever preferred_lft forever
其他资源
-
您系统上的
nm-settings (5)
手册页