示例:在 NFX350 设备上使用 VLAN 配置服务链
此示例说明如何在主机网桥上使用 VLAN 配置服务链。
要求
此示例使用运行 Junos OS 19.4R1 版的 NFX350 设备。
配置服务链之前,请确保已安装并实例化相关虚拟网络功能 (VNF),分配相应的接口并配置资源。
概述
设备上的服务变化可在流经设备的流量上启用多个服务或 VNF。此示例说明如何配置设备的各个层,以使流量能够进入设备,流经两个服务 VNF,然后离开设备。
拓扑学
此示例使用运行 Junos OS 的单个 NFX350 设备,如 图 1 所示。

此示例是使用 Junos 控制平面 (JCP) 配置的。关键配置元素包括:
前面板端口
面向内部的端口
VNF 接口,使用命名格式 eth# (范围 # 为 0 到 9)
用于在静态接口 (SXE) 和 VNF 接口之间提供桥接的 VLAN
配置
配置 JCP 接口
分步过程
要配置接口,请执行以下操作:
-
登录 CLI。
user@host:~ # cli user@host> user@host> configure [edit] user@host#
将第 3 层接口映射到 Open vSwitch (OVS)。
user@host# set vmhost virtualization-options interfaces ge-1/0/1
为 LAN 端接口配置 VLAN。
user@host# set vlans vlan1 vlan-id 77
配置 LAN 端前面板端口并将其添加到 LAN 端 VLAN。
LAN 端端口通常是接入端口,但如果需要,也可以是中继端口。
user@host# set interfaces ge-0/0/0.0 family ethernet-switching vlan members vlan1
将 LAN 端面向内部的接口配置为中继端口,并将其添加到 LAN 端 VLAN。
面向内部的接口通常是中继端口,因为它们必须支持来自多个前面板端口和 VLAN 的流量。
user@host# set interfaces sxe-0/0/0.0 family ethernet-switching interface-mode trunk user@host# set interfaces sxe-0/0/0.0 family ethernet-switching vlan members vlan1
将 WAN 端面向内部的接口配置为中继端口,并将其添加到 WAN 端 VLAN。
user@host# set interfaces sxe-0/0/1.0 family ethernet-switching interface-mode trunk user@host# set interfaces sxe-0/0/1.0 family ethernet-switching vlan members vlan3
配置 WAN 端前面板端口并将其添加到 WAN 端 VLAN。
user@host# set interfaces xe-0/0/12.0 family ethernet-switching interface-mode access user@host# set interfaces xe-0/0/12.0 family ethernet-switching vlan members vlan3
为 WAN 端接口配置 VLAN。
user@host# set vlans vlan3 vlan-id 1178
-
在面向 WAN 端的外部接口上配置 VLAN 标记并分配 IP 地址。
user@host# set interfaces ge-1/0/1 vlan-tagging user@host# set interfaces ge-1/0/1.0 vlan-id 1178 user@host# set interfaces ge-1/0/1.0 family inet address 192.0.2.1/24
-
将 WAN 端内部接口配置为 VLAN 标记接口并分配 IP 地址。
user@host# set interfaces ge-1/0/0 vlan-tagging user@host# set interfaces ge-1/0/0.0 vlan-id 1177 user@host# set interfaces ge-1/0/0.0 family inet address 203.0.113.2/24
提交配置。
user@host# commit
结果
在配置模式下,输入以下 show 命令,以检查配置结果:
[edit] user@host# show interfaces ge-0/0/0 mtu 9192; unit 0 { family ethernet-switching { vlan { members [ vlan1 ]; } } }
[edit] user@host# show interfaces ge-1/0/0 vlan-tagging; unit 0 { vlan-id 1177; family inet { address 203.0.113.2/24; } }
[edit] user@host# show interfaces ge-1/0/1 vlan-tagging; unit 0 { vlan-id 1178; family inet { address 192.0.2.1/24; } }
[edit] user@host# show interfaces sxe-0/0/0 mtu 9192; unit 0 { family ethernet-switching { interface-mode trunk; vlan { members [ default vlan1 ]; } } }
[edit] user@host# show interfaces sxe-0/0/1 mtu 9192; unit 0 { family ethernet-switching { interface-mode trunk; vlan { members [ vlan3 ]; } } }
[edit] user@host# show interfaces xe-0/0/12 mtu 9192; unit 0 { family ethernet-switching { vlan { members [ vlan3 ]; } } }
[edit] user@host# show vlans default { vlan-id 1; } vlan1 { vlan-id 77; } Vlan3 { vlan-id 1178; }
配置 VNF 接口并创建服务链
分步过程
配置 VNF 接口。
将 vmhost 实例配置为用于服务链的 LAN、WAN 或胶水 VLAN:
user@host# set vmhost vlans vlan1 vlan-id 77 user@host# set vmhost vlans vlan2 vlan-id 1177 user@host# set vmhost vlans glue-vlan1 vlan-id 123
实例化 VNF (vnf-name1),其中一个 virtio 接口映射到 VLAN vlan1,另一个 virtio 接口映射到 VLAN glue-vlan1。
user@host# set virtual-network-functions vnf-name1 interfaces eth2 mapping vlan members vlan1 user@host# set virtual-network-functions vnf-name1 interfaces eth3 mapping vlan members glue-vlan1
实例化第二个 VNF (vnf-name2),其中一个接口映射到 VLAN vlan2,第二个接口映射到同一个 glue-vlan1。
user@host# set virtual-network-functions vnf-name2 interfaces eth2 mapping vlan members glue-vlan1 user@host# set virtual-network-functions vnf-name2 interfaces eth3 mapping vlan members vlan2
为 VNF 的每个接口配置 IP 地址和静态路由,如 图 1 所示。