使用 JDM 配置服务链
了解分解 Junos OS 平台上的服务链
在许多网络环境中,流量在到达目的地的途中通常会流经多个 网络服务 。这些服务(防火墙、网络地址转换器 (NAT)、负载平衡器等)通常分布在多个网络元素中。每个设备都是一个单独的硬件,提供不同的服务,需要单独的操作和管理。这种将多个网络功能链接在一起的方法可以被认为是 物理服务链。
更有效的服务链模型是将网络功能虚拟化并整合到单个设备上。
运行分解式 Junos OS 软件的平台支持虚拟化服务链。这些设备通过支持 VNF 的安装和实例化来实现虚拟网络功能 (VNF)。VNF 可以链接在一起,为流经设备的流量提供网络服务,如图 1 所示。

使用 VLAN 配置服务链
您可以使用 VLAN 实现服务链。
确保在配置过程中不会丢失与主机的连接。
要配置服务链:
在 VLAN 上使用 DHCP 服务配置服务链
使用 DHCP 服务时,您无需在 VNF 接口上手动配置 IP 地址即可实现服务链。在 VNF 内的粘合网接口上启用 DHCP 客户端,以便从 DHCP 池分配 IP 地址。根据 IP 子网,VLAN 上的 IRB 接口会自动映射到相应的子网 DHCP 池。
要配置服务链:
要检查分配的 IP 地址,请使用 显示系统可见性 vnf 命令。
示例:在 NFX250 网络服务平台上使用 VLAN 配置服务链
此示例说明如何使用主机网桥上的 VLAN 配置服务链。
要求
此示例使用以下硬件和软件组件:
运行 Junos OS 版本 15.1X53-D45 的 NFX250
在配置服务链之前,请确保您已:
安装并启动了相关 VNF,分配了相应的接口,并配置了资源。
概述
运行分解 Junos OS 的设备上的服务链允许将多个服务或虚拟网络功能 (VNF) 应用于流经设备的流量。此示例说明如何配置设备的各个层,以使流量能够进入设备、流经两个服务 VNF 并退出设备。
拓扑
此示例使用运行分解 Junos OS 的单个设备,如图 2 所示。

此示例使用瞻博网络设备管理器 (JDM) 和 Junos 控制平面 (JCP) 进行配置。关键配置元素包括:
数据包转发引擎的前面板端口。
数据包转发引擎面向内部的端口。
名为 host-os的路由实例。 host-os 路由实例是一种 CLI 构造,它提供从 JDM 配置主机操作系统元素的功能。
网卡端口。由于这些接口不可直接配置,因此在主机操作系统中抽象化。使用 JDM CLI,NIC 接口(SXE 端口)在路由实例中 host-os 配置为“hsxe”接口。
虚拟机接口。在 JDM 中,VNF 接口必须使用 eth# 格式,其中 # 从 2 到 9。
VLAN,用于在 sxe 和虚拟机接口之间提供桥接。
配置
配置数据包转发引擎接口
CLI 快速配置
要快速配置数据包转发引擎接口,请从 JCP 输入以下配置语句:
[edit] user@jcp# set vlans vlan1 vlan-id 77 set interfaces ge-0/0/2.0 family ethernet-switching vlan members vlan1 set interfaces sxe-0/0/0.0 family ethernet-switching interface-mode trunk set interfaces sxe-0/0/0.0 family ethernet-switching vlan members vlan1 set vlans vlan2 vlan-id 1177 set interfaces xe-0/0/12.0 family ethernet-switching interface-mode trunk set interfaces xe-0/0/12.0 family ethernet-switching vlan members vlan2 set interfaces sxe-0/0/0.0 family ethernet-switching vlan members vlan2
分步过程
要配置数据包转发引擎接口,请执行以下操作:
连接到 JCP。
user@jdm> ssh vjunos0 user@jcp> configure [edit] user@jcp#
为 LAN 端接口配置 VLAN。
user@jcp# set vlans vlan1 vlan-id 77
配置数据包转发引擎的 LAN 侧前面板端口,并将其添加到 LAN 侧 VLAN。
LAN 端端口通常是接入端口,但如果适用,也可以是中继端口。
user@jcp# set interfaces ge-0/0/2.0 family ethernet-switching vlan members vlan1
将数据包转发引擎的 LAN 端面向内部的接口配置为中继端口,并将其添加到 LAN 端 VLAN。
面向内部的接口通常是中继端口,因为它们必须支持来自多个前面板端口和 VLAN 的流量。
user@jcp# set interfaces sxe-0/0/0.0 family ethernet-switching interface-mode trunk user@jcp# set interfaces sxe-0/0/0.0 family ethernet-switching vlan members vlan1
为 WAN 端接口配置 VLAN。
user@jcp# set vlans vlan2 vlan-id 1177
将数据包转发引擎的 WAN 端前面板端口配置为中继端口,并将其添加到 WAN 端 VLAN。
WAN 侧前面板端口通常是中继端口,因为可能需要支持多个 VLAN。
user@jcp# set interfaces xe-0/0/12.0 family ethernet-switching interface-mode trunk user@jcp# set interfaces xe-0/0/12.0 family ethernet-switching vlan members vlan2
将数据包转发引擎的 WAN 端面向内部的接口配置为中继端口,并将其添加到 WAN 端 VLAN。
面向内部的接口通常是中继端口,因为它们必须支持来自多个前面板端口和 VLAN 的流量。
user@jcp# set interfaces sxe-0/0/0.0 family ethernet-switching vlan members vlan2
提交配置并返回到 JDM。
user@jcp# commit and-quit user@jcp> exit user@jdm>
结果
在配置模式下,输入以下命令 show 检查配置结果:
[edit] user@jcp# show interfaces ge-0/0/2 unit 0 { family ethernet-switching { vlan { members vlan1; } } } [edit] user@jcp# show interfaces xe-0/0/12 unit 0 { family ethernet-switching { interface-mode trunk; vlan { members vlan2; } } } [edit] user@jcp# show interfaces sxe-0/0/0 unit 0 { family ethernet-switching { interface-mode trunk; vlan { members [vlan1 vlan2]; } } } [edit] user@jcp# show vlans vlan2 { vlan-id 1177; } vlan1 { vlan-id 77; }
配置 VNF 接口并创建服务链
分步过程
在 JCP 上完成配置后,您需要:
使用 LAN、WAN 或胶水 VLAN 配置主机操作系统实例以用于服务链
user@jdm# set host-os vlans vlan1 vlan-id 77 user@jdm# set host-os vlans vlan2 vlan-id 1177 user@jdm# set host-os vlans glue-vlan vlan-id 123
启动 VM1,其中一个 virtio 接口映射到 VLAN,另一个接口映射到 glue-vlan。
user@jdm# set virtual-network-functions VM1 interfaces eth2 mapping vlan members vlan1 user@jdm# set virtual-network-functions VM1 interfaces eth3 mapping vlan members glue-vlan
同样,启动具有一个接口的 VM2,其中一个接口映射到 VLAN2,第二个接口映射到同一粘附 VLAN。
user@jdm# set virtual-network-functions VM2 interfaces eth2 mapping vlan members vlan2 user@jdm# set virtual-network-functions VM2 interfaces eth3 mapping vlan members glue-vlan
最后,为 VM 的每个接口配置 IP 地址和静态路由,如图 2 所示。
示例:在 NFX250 网络服务平台上使用 SR-IOV 配置服务链
此示例说明如何在运行分解 Junos OS 软件的平台上使用 SR-IOV 配置服务链。
要求
此示例使用以下硬件和软件组件:
运行 Junos OS 版本 15.1X53-D45 的 NFX250
在配置服务链之前,请确保您已:
安装并启动了相关的VNF
概述
运行分解 Junos OS 的设备上的服务链允许将多个服务或虚拟网络功能 (VNF) 应用于流经设备的流量。此示例说明如何配置设备的各个层,以使流量能够进入设备、流经两个服务 VNF 并退出设备。
拓扑
此示例使用运行分解 Junos OS 的单个设备,如图 3 所示。

此示例使用数据包转发引擎的前面板端口 xe-0/0/12 和 xe-0/0/13,及其面向内部的端口 sxe-0/0/0 和 sxe-0/0/1。内部网卡的两个端口(sxe0 和 sxe1)不是直接配置的;相反,它们在主机操作系统层抽象化,并配置为接口 hsxe0 和 hsxe1。虚拟机各使用两个接口(eth2 和 eth3)。
这些元素通常分为两部分: LAN 端 和 WAN 端。
由于此示例使用 SR-IOV,因此 NIC 端口的虚拟功能 (VF) 用于绕过主机操作系统并提供直接的 NIC 到 VM 连接。鉴于此设置,在这种情况下看到主机操作系统接口(hsxe0 和 hsxe1)似乎不寻常。但是,由于 NIC 端口没有直接的配置方法,因此必须使用其抽象版本 hsxe0 和 hsxe1。
此示例使用瞻博网络设备管理器 (JDM) 和 Junos 控制平面 (JCP) 进行配置。关键配置元素包括:
数据包转发引擎的前面板端口。
数据包转发引擎面向内部的端口。
网卡端口。由于无法直接配置 NIC 接口(sxe 端口),因此必须使用这些接口的主机操作系统构造 (hsxe)。
VNF 接口。在 JDM 中,VNF 接口必须使用 eth# 格式,其中 # 从 2 到 9。
虚拟功能设置,用于指示 SR-IOV 用于在 hsxe 和 VNF 接口之间提供直接访问。
配置
此示例描述:
配置数据包转发引擎接口
CLI 快速配置
要快速配置数据包转发引擎接口,请从 JCP 输入以下配置语句:
[edit] user@jcp# set vlans Vlan11 vlan-id 11 set interfaces xe-0/0/12.0 family ethernet-switching vlan member Vlan11 set interfaces sxe-0/0/0.0 family ethernet-switching interface-mode trunk set interfaces sxe-0/0/0.0 family ethernet-switching vlan member Vlan11 set vlans Vlan22 vlan-id 22 set interfaces xe-0/0/13.0 family ethernet-switching interface-mode trunk set interfaces xe-0/0/13.0 family ethernet-switching vlan member Vlan22 set interfaces sxe-0/0/1.0 family ethernet-switching interface-mode trunk set interfaces sxe-0/0/1.0 family ethernet-switching vlan member Vlan22
分步过程
要配置数据包转发引擎接口,请执行以下操作:
连接到 JCP。
user@jdm> ssh vjunos0 user@jcp> configure [edit] user@jcp#
为 LAN 端接口配置 VLAN。
user@jcp# set vlans Vlan11 vlan-id 11
配置数据包转发引擎的 LAN 侧前面板端口,并将其添加到 LAN 端 VLAN。
LAN 端端口通常是接入端口,但如果适用,也可以是中继端口。
user@jcp# set interfaces xe-0/0/12.0 family ethernet-switching vlan members Vlan11
将数据包转发引擎的 LAN 端面向内部的接口配置为中继端口,并将其添加到 LAN 端 VLAN。
面向内部的接口通常是中继端口,因为它们必须支持来自多个前面板端口和 VLAN 的流量。
user@jcp# set interfaces sxe-0/0/0.0 family ethernet-switching interface-mode trunk user@jcp# set interfaces sxe-0/0/0.0 family ethernet-switching vlan member Vlan11
为 WAN 端接口配置 VLAN。
user@jcp# set vlans Vlan22 vlan-id 22
将数据包转发引擎的 WAN 侧前面板端口配置为中继端口,并将其添加到 WAN 端 VLAN。
WAN 侧前面板端口通常是中继端口,因为可能需要支持多个 VLAN。
user@jcp# user@jcp# set interfaces xe-0/0/13.0 family ethernet-switching interface-mode trunk user@jcp# user@jcp# set interfaces xe-0/0/13.0 family ethernet-switching vlan members Vlan22
将数据包转发引擎的 WAN 端面向内部的接口配置为中继端口,并将其添加到 WAN 端 VLAN。
面向内部的接口通常是中继端口,因为它们必须支持来自多个前面板端口和 VLAN 的流量。
user@jcp# set interfaces sxe-0/0/1.0 family ethernet-switching interface-mode trunk user@jcp# set interfaces sxe-0/0/1.0 family ethernet-switching vlan members Vlan22
提交配置并返回到 JDM。
user@jcp# commit and-quit user@jcp> exit user@jdm>
结果
在配置模式下,输入以下命令 show 检查配置结果:
[edit] user@jcp# show interfaces xe-0/0/12 unit 0 { family ethernet-switching { vlan { members Vlan11; } } } [edit] user@jcp# show interfaces xe-0/0/13 unit 0 { family ethernet-switching { interface-mode trunk; vlan { members Vlan22; } } } [edit] user@jcp# show interfaces sxe-0/0/0 unit 0 { family ethernet-switching { interface-mode trunk; vlan { members Vlan11; } } } [edit] user@jcp# show interfaces sxe-0/0/1 unit 0 { family ethernet-switching { interface-mode trunk; vlan { members Vlan22; } } } [edit] user@jcp# show vlans Vlan11 { vlan-id 11; } Vlan22 { vlan-id 22; }
创建服务链
分步过程
要配置 VNF 接口并创建服务链,请执行以下操作:
将 VM1 的 LAN 端接口配置为第 3 层接口,并将其映射到 LAN 端网卡接口。包括虚拟功能 (VF) 设置以指定直接网卡到 VM 的连接。VNF 必须使用从 eth2 到 eth9 的接口。
hsxe 接口是相关网卡 (sxe) 接口的可配置表示形式。
user@jdm> configure [edit] user@jdm# set virtual-network-functions vnf1 interfaces eth2 mapping hsxe0 virtual-function
从 sxe1 网卡配置 VM1 的 WAN 端接口,如图 3 所示。
user@jdm# set virtual-network-functions vnf1 interfaces eth3 mapping hsxe1 virtual-function
同样,在 sxe1 NIC 上启动同时具有接口 eth2 和 eth3 的 VM2。
user@jdm# set virtual-network-functions vnf2 interfaces eth2 mapping hsxe1 virtual-function user@jdm# set virtual-network-functions vnf2 interfaces eth3 mapping hsxe1 virtual-function
最后,为VNF的每个接口配置IP地址和静态路由,并添加路由以实现服务链的完整双向路径。