使用 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 地址,请使用 show system visibility 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 配置主机作系统元素的功能。
-
NIC 端口。由于这些接口不可直接配置,因此在主机作系统中被抽象化。 使用 JDM CLI,NIC 接口(sxe 端口)在路由实例中 host-os 配置为“hsxe”接口。
-
VM 接口。在 JDM 中,VNF 接口必须使用 eth# 格式,其中 # 为 2 到 9。
-
VLAN,用于在 sxe 和 VM 接口之间提供桥接。
配置
配置数据包转发引擎接口
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 上的配置后,您需要:
-
将 host-os 实例配置为具有 LAN、WAN 或 glue-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 中,一个接口映射到 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,另一个接口映射到同一个 glue-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 -
最后,为虚拟机的每个接口配置 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。内部 NIC 的两个端口(sxe0 和 sxe1)未直接配置;相反,它们在主机作系统层抽象化并配置为接口 hsxe0 和 hsxe1。VM 每个使用两个接口(eth2 和 eth3)。
这些元素通常分为两部分: LAN 端 和 WAN 端。
由于此示例使用 SR-IOV,因此使用 NIC 端口的虚拟功能 (VF) 绕过主机作系统并提供 NIC 到虚拟机的直接连接。鉴于此设置,在此方案中看到主机作系统接口(hsxe0 和 hsxe1)似乎不寻常。但是,由于 NIC 端口没有直接配置方法,因此必须使用其抽象版本 hsxe0 和 hsxe1。
此示例使用瞻博网络设备管理器 (JDM) 和 Junos 控制平面 (JCP) 进行配置。关键配置元素包括:
-
数据包转发引擎的前面板端口。
-
数据包转发引擎的内部端口。
-
NIC 端口。由于无法直接配置 NIC 接口(sxe 端口),因此必须使用这些接口 (hsxe) 的主机作系统构造。
-
VNF 接口。在 JDM 中,VNF 接口必须使用 eth# 格式,其中 # 为 2 到 9。
-
虚拟功能设置,用于指示 SR-IOV 正在使用 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 端 NIC 接口。包括虚拟功能 (VF) 设置以指定 NIC 到 VM 的直接连接。VNF 必须使用从 eth2 到 eth9 的接口。
hsxe 接口是相关 NIC (sxe) 接口的可配置表示形式。
user@jdm> configure [edit] user@jdm# set virtual-network-functions vnf1 interfaces eth2 mapping hsxe0 virtual-function -
从 sxe1 NIC 配置 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地址和静态路由,并添加路由,实现服务链的完整双向路径。