通过 MS-MPC 和 MS-MIC 上的聚合多服务接口实现负载平衡和高可用性
了解聚合多服务接口
本主题包含以下部分:
聚合多服务接口
在 Junos OS 中,您可以组合多个服务接口来创建可用作单个接口的服务接口捆绑包。这样的接口束称为 aggregated multiservices interface (AMS),在配置中表示为 amsN ,其中 N 是标识 AMS 接口的唯一编号(例如 ams0)。
AMS 配置可提供更高的可扩展性、更好的性能以及更好的故障切换和负载平衡选项。
AMS 配置使服务集能够通过将 AMS 捆绑包与服务集相关联来支持多个服务 PIC。AMS 捆绑包最多可以有 24 个服务 PIC 作为成员接口,并且可以在成员接口之间分配服务。
成员接口在配置中标识为 MAMS。支持 AMS 配置的路由器中的机箱进程会为路由器上的每个多服务接口创建一个 mams 条目。
从 Junos OS 16.2 版(Junos OS 17.3R3-S7 版除外)开始,AMS 接口最多可拥有 36 个成员接口。如果包含超过 24 个成员接口,则必须将所有服务 PIC 的服务 PIC 启动超时增加到 240 或 300 秒。在 Junos OS 16.1 及更低版本以及 Junos OS 17.3R3-S7 版本中,AMS 接口最多可以有 24 个成员接口。
从 Junos OS 17.1R1 版开始,AMS 支持下一跃点样式服务集的 IPSec 隧道分配。但是,不支持接口样式 IPSec 服务集。
从 Junos OS 19.2R1 版开始,您可以在 MX2020 路由器上跨不同的 AMS 捆绑包使用多达 60 个 PIC。每个 AMS 捆绑包最多 36 个成员接口的硬性限制仍然存在。但是,在机箱中,可以有多个 AMS 束,因此可以在这些束中配置 15 个 MS-MPC。
在 ams 接口级别配置服务选项时,这些选项将应用于 ams 接口的所有成员接口 (mam)。
这些选项也适用于在与 AMS 接口的成员接口对应的服务接口上配置的服务集。所有设置均按 PIC 进行。例如,会话限制适用于每个成员,而不是聚合级别。
从 Junos OS 19.3R2 版开始,MX-SPC3 支持 AMS 接口。下表显示了捆绑包中 MX-SPC3 的最大数量、最大 PIC 数量和最大 AMS 成员数量的详细信息:
MX 平台 | MX-SPC3 的最大数量 | 最大 PIC 数量 | AMS 成员数量上限 |
---|---|---|---|
MX240 | 2 | 4 | 4 |
MX480 | 5 | 10 | 10 |
MX960 | 7 | 14 | 14 |
您不能同时在 ams(聚合)和成员接口级别配置服务选项。如果在 ms-x/y/z 或 vms-x/y/z 上配置了服务选项,则它们也适用于 mams-x/y/z 上的服务集。
如果希望服务选项设置统一应用于所有成员,请在 ams 接口级别配置服务选项。如果您需要对单个成员进行不同的设置,请在成员接口级别配置服务选项。
NAT64 需要按成员丢弃流量和按成员进行下一跃点配置。对于 NAPT44,此按成员的规范允许使用任意哈希密钥,从而提供更好的负载均衡选项,以允许执行动态 NAT作。对于 NAT64、NAPT44 和动态 NAT44,无法确定哪个成员分配动态 NAT 地址。为确保反向流数据包与正向流数据包到达同一成员,可使用基于池地址的路由来引导反向流数据包。
在 Junos OS 13.3 版之前,对于配置服务的每个介质逻辑接口(接口样式服务),都会在内部创建一个逻辑接口别名。此接口别名用于存储在处理输入服务后在逻辑接口上执行的功能的拓扑链,以避免系统中出现数据包环路。使用接口别名时,服务支持的最大逻辑接口数减少到支持的最大数量的一半,因为每个逻辑接口占用两个条目,即一个用于接口本身,另一个用于接口别名。
从 Junos OS 14.1R4 版开始,不会为 MS-MPC 和 MS-MIC 创建输入接口别名。因此,服务 PIC 支持的最大逻辑接口数等于系统支持的最大数目。MS-MPC 和 MS-MIC 进行输入服务处理后,服务 PIC 将数据包发送到配置了相应服务的多服务 (ms-
) 逻辑接口上的数据包转发引擎。Junos OS 13.2 及更高版本中的 MS- MPC 和 MS-MIC 不支持后服务。
不能在包含 MS-MIC 或 MS-MPC 作为成员接口的 AMS 配置中包含 MS-DPC 或其他 MS-PIC。
如果修改分配给 AMS 接口的服务集正在使用的 NAT 池,则必须在 NAT 池更改生效之前停用并激活该服务集。
默认情况下,AMS 接口成员接口上的流量分配以轮询方式进行。您还可以配置以下哈希键值来调节流量分布: source-ip
、 destination-ip
和 protocol
。对于需要流量对称性的服务,您必须配置对称散列。对称散列配置可确保正向和反向流量都通过同一成员接口路由。
使用基本 NAT44,如果入口哈希密钥为源 IP 地址,出口哈希密钥为目标 IP 地址,则 MS-MIC 和 MS-MPC 的 AMS 接口上的负载平衡无法正常工作。
如果在用作 NAT 内部接口的千兆以太网或 10 千兆以太网接口上应用服务集,则可用于负载平衡的哈希密钥的配置方式可能是将入口密钥设置为目标 IP 地址,将出口密钥设置为源 IP 地址。由于源 IP 地址经过 NAT 处理,因此无法对反向流量进行哈希处理。因此,不会在同一 IP 地址上发生负载平衡,并且正向和反向流量也不会映射到同一 PIC。反转哈希键后,负载平衡正确发生。
对于下一跃点服务,对于正向流量,内部接口上的入口密钥会对流量进行负载平衡,对于反向流量,外部接口上的入口密钥会对流量进行负载平衡,或者根据成员的下一跃点引导反向流量。使用接口式服务时,入口键对前向流量进行负载均衡,出口键对前向流量进行负载平衡,或按成员的下一跃点引导反向流量。正向流量是从服务集内侧进入的流量,反向流量是从服务集外侧进入的流量。正向密钥是用于流量正向的哈希密钥,反向密钥是用于流量反向的哈希密钥(取决于它是否与接口服务或下一跳服务样式相关)。
借助有状态防火墙,您可以配置以下正向和反向键组合以实现负载平衡。在以下为哈希密钥提供的组合中,FOR-KEY 表示正向密钥,REV-KEY 表示反向密钥,SIP 表示源 IP 地址,DIP 表示目标 IP 地址,PROTO 表示 IP 等协议。
FOR-KEY:SIP,REV-KEY:DIP
FOR-KEY:SIP,PROTO REV-KEY:DIP、PROTO
FOR-KEY:DIP,REV-KEY:SIP
FOR-KEY:DIP,PROTO REV-KEY:SIP、PROTO
FOR-KEY:SIP,DIP REV-KEY:SIP、DIP
FOR-KEY:SIP,DIP,PROTO REV-KEY:SIP、DIP、PROTO
将静态 NAT 配置为基本 NAT44 或目标 NAT44,无论是否配置有状态防火墙,如果流量的正向必须进行 NAT 处理,请按如下方式配置哈希密钥:
FOR-KEY:DIP,REV-KEY:SIP
FOR-KEY:DIP,PROTO REV-KEY:SIP、PROTO
如果流量的反向必须进行 NAT 处理,请按如下方式配置哈希密钥:
FOR-KEY:SIP,REV-KEY:DIP
FOR-KEY:SIP,PROTO REV-KEY:DIP、PROTO
无论是否配置了动态 NAT,无论是否配置了有状态防火墙,只有正向流量可以进行 NAT。正向哈希密钥可以是 SIP、DIP 和协议的任意组合,反向哈希密钥将被忽略。
Junos OS AMS 配置支持 IPv4 和 IPv6 流量。
AMS 接口上的 IPv6 流量概述
从 Junos OS 14.2R1 版开始,您可以将 AMS 接口用于 IPv6 流量。要为 AMS 接口配置 IPv6 支持,请在[edit interfaces ams-interface-name unit 1]
层次结构级别包含family inet6
语句。当为 AMS 接口子单元设置和 family inet6
时family inet
,hash-keys
将在服务集级别配置接口样式,在 IFL 级别配置下一跃点样式。
当 AMS 捆绑包的成员接口发生故障时,发往故障成员的流量将在剩余的活动成员之间重新分配。通过现有活动成员的流量(流或会话)不受影响。如果 M 成员当前处于活动状态,则预期结果是,只有大约 1/M 的流量(流/会话)受到影响,因为该流量量已从发生故障的成员转移到保持活动成员的位置。当发生故障的成员接口重新联机时,只有一小部分流量会重新分配给新成员。如果 N 个成员当前处于活动状态,则预期结果是只有大约 1/(N+1) 部分的流量(流/会话)受到影响,因为该流量将移动到新恢复的成员。1/M 和 1/(N+1) 值假定流量在成员之间均匀分布,因为数据包散列用于负载平衡,并且流量通常包含典型的随机 IP 地址组合(或用作负载平衡键的任何其他字段)。
与 IPv4 流量类似,对于 IPv6 数据包,AMS 捆绑包必须仅包含一种服务 PIC 类型的成员。同一路由器上的单独 AMS 捆绑包可以包含不同服务 PIC 类型的成员(例如,ams0 中的两个 MS-MIC,ams1 中的两个 MS-MPC PIC)。
在理想环境中,当第 N 个成员上升或下降时,分布的流量数在最佳情况下可以为 1/N。但是,此假设会考虑哈希密钥对实际或动态流量进行负载均衡。例如,考虑一个实际部署,其中成员 A 仅服务一个流,而成员 B 服务 10 个流。如果成员 B 出现故障,则中断的流量数为 10/11。NAT 池拆分行为旨在利用重新散列最小化功能的优势。NAT 池的拆分是针对动态 NAT 场景(动态 NAT、NAT64 和 NAPT44)执行的。
如果原始流和重新分布的流定义如下:
Member-original-flows — 当所有成员都启动时映射到一个成员的流量。
Member-redistributed-flows — 当其他成员发生故障时映射到成员的额外流量。当成员接口启动和关闭时,可能需要重新平衡这些流量。
根据上述对成员接口的原始流和重新分布流的定义,以下观察结果适用:
只要成员处于启动状态,该成员的原始流就会保持不变。当其他成员在上升状态和下降状态之间移动时,此类流动不会受到影响。
当其他成员上升或下降时,成员的成员重新分布流可能会发生变化。发生这种流量变化的原因是需要在所有活动成员之间重新平衡这些额外的流量。因此,成员重新分布流可能会根据其他成员的下降或上升而有很大差异。尽管看起来当成员出现故障时,活动成员上的流量会保留,而当成员上升时,活动成员上的流量不会以有效的方式保留,但这种行为只是因为活动成员之间流量的静态或基于哈希的重新平衡。
散列最小化功能仅处理成员接口状态下的作更改(例如成员脱机或成员 Junos OS 重置)。它不处理配置更改。例如,在 [edit interfaces amsN load-balancing-options member-interface mams-a/b/0]
层次结构级别添加或删除成员接口,或者激活和停用成员接口时,需要退回成员 PIC。不支持两次 NAT 或发夹,类似于 AMS 接口的 IPv4 支持。
成员故障选项和高可用性设置
由于多个服务接口配置为 AMS 捆绑包的一部分,因此 AMS 配置还提供故障切换和高可用性支持。您可以将其中一个成员接口配置为备份接口,当其他任何一个成员接口出现故障时该备份接口变为活动接口,也可以将 AMS 配置为当其中一个成员接口出现故障时,分配给该接口的流量将在活动接口之间共享。
通过member-failure-options
配置语句,您可以配置在成员接口发生故障时如何处理流量。一种选择是立即在其他成员接口之间重新分配流量。但是,重新分配流量需要重新计算哈希标记,并且可能会导致所有成员接口上的流量出现一定中断。
另一种选择是将 AMS 配置为丢弃分配给故障成员接口的所有流量。有了这个功能,您可以选择性地配置一个 rejoin-timeout
间隔 ,让 AMS 等待故障接口重新联机,之后 AMS 可以在其他成员接口之间重新分配流量。如果发生故障的成员接口在配置的等待时间之前重新联机,则所有成员接口上的流量将继续不受影响,包括已重新联机并恢复作的接口。
您还可以控制故障接口重新联机时的重新加入。如果未在配置中member-failure-options
包含该enable-rejoin
语句,则故障接口在重新联机时无法重新加入 AMS。在这种情况下,您可以通过执行request interfaces revert interface-name
作模式命令手动将其重新加入 AMS。
通过 rejoin-timeout
和 enable-rejoin
语句,可以在成员接口翻动时将流量中断降至最低。
member-failure-options
如果未配置,默认行为是丢弃成员流量,重新加入超时为 120 秒。
通过 high-availability-options
配置,您可以将其中一个成员接口指定为备份接口。只要备份接口为备份接口,备份接口就不会参与路由作。当成员接口发生故障时,备份接口将处理分配给故障接口的流量。当故障接口重新联机时,它将成为新的备份接口。
在多对一配置 (N:1) 中,单个备份接口支持组中的所有其他成员接口。如果任何成员接口发生故障,备份接口将接管。在这种无状态配置中,备份接口与其他成员接口之间不会同步数据。
从 Junos OS 16.1 版开始,在一对一配置中,单个活动接口与单个备份接口配对。如果活动接口发生故障,备份接口将接管。配置不 member-failure-options
适用于一对一 (1:1) 高可用性配置。
当为 AMS 配置了 member-failure-options
和 high-availability-options
时,配置 high-availability-options
优先于 member-failure-options
配置。如果在故障接口重新联机成为新备份之前发生第二次故障,则 member-failure-options
配置将生效。
热备用冗余
从 Junos OS 17.2R1 版开始,您可以在多个 AMS 接口中使用与备份相同的服务接口,从而为 MS-MPC 和 MS-MIC 提供 N:1 热备用选项。
每个热备用 AMS 接口包含两个设备;一个成员是您要保护的服务接口,称为主接口,另一个成员是辅助(备份)接口。主接口是活动接口,除非主接口发生故障,否则备份接口不会处理任何流量。
要在 AMS 接口上配置热备用,请使用语 redundancy-options
句。不能在热备用 AMS 接口中使用该 load-balancing-options
语句。
要从主接口切换到辅助接口,请发出 request interface switchover amsN
命令。
要从辅助接口恢复到主接口,请发出 request interface revert amsN
命令。
配置聚合多服务接口
通过 Junos OS 中的聚合多服务 (AMS) 接口配置,您可以组合来自多个 PIC 的服务接口,以创建可用作单个接口的接口包。确定要充当备份的 PIC。
另见
在 AMS 基础架构上配置负载平衡
配置负载平衡需要聚合多服务 (AMS) 系统。AMS 涉及将多个服务 PIC 组合在一起。AMS 配置消除了在系统内使用单独路由器的需求。具有 AMS 配置的主要好处是能够支持跨多个服务 PIC 的流量负载平衡。
MS-MPC 和 MS-MIC 支持 AMS。从 Junos OS 19.3R2 版开始,MX-SPC3 支持 AMS 接口。
所有 MX 系列 5G 通用路由平台上的 AMS 基础架构都支持高可用性 (HA)。AMS 有几个好处:
支持在属于 AMS 配置的服务 PIC 发生故障时配置行为
支持在任一方向上为每个服务集指定哈希键
支持将路由添加到 AMS 系统中的各个 PIC
配置 AMS 基础架构
AMS 支持跨多个服务集的负载平衡。服务集的所有入口或出口流量都可以在不同服务 PIC 之间进行负载平衡。要启用负载平衡,您必须使用现有服务接口配置聚合接口。
要在 AMS 中配置故障行为,请包含以下 member-failure-options
语句:
[edit interfaces ams1] load-balancing-options { member-failure-options { drop-member-traffic { rejoin-timeout rejoin-timeout; } redistribute-all-traffic { enable-rejoin; } } }
如果 PIC 发生故障,则可以在层次结构级别使用 redistribute-all-traffic
语句 [edit interfaces interface-name load-balancing-options member-failure-options]
将发往故障 PIC 的流量配置为重新分发。如果使用该 drop-member-traffic
语句,则会丢弃发至故障 PIC 的所有流量。这两个选项是互斥的。
如果 member-failure-options
未显式配置,则默认行为是丢弃成员流量,重新加入超时为 120 秒。
只能聚合 mams- interfaces(属于 AMS 的服务接口)。配置 AMS 接口后,无法配置单个组成 mams-interface。mams- 接口不能用作 ams 接口(这不适用于新一代服务 MX-SPC3)。AMS 支持 IPv4 (family inet
) 和 IPv6 (family inet6
)。无法在 AMS 接口上配置地址。网络地址转换 (NAT) 是目前在 AMS 基础架构上运行的唯一应用。
无法在 AMS 接口上配置单元 0。
为了支持多个应用和不同类型的转换,AMS 基础架构支持为每个服务集配置散列。您可以为入口和出口分别配置哈希密钥。默认配置使用源 IP、目标 IP 和协议进行散列;此外,还提供用于入口的传入接口和用于出口的传出接口。
在 NAT 解决方案的负载均衡设置中使用 AMS 时,NAT IP 地址数必须大于或等于已添加到 AMS 捆绑包的活动 MAMS 接口数。
配置高可用性
在配置了高可用性的 AMS 系统中,指定的服务 PIC 在多对一 (N:1) 备份配置中充当属于 AMS 系统的其他活动 PIC 的备份。在 N:1 备份配置中,一个 PIC 可用作所有其他活动 PIC 的备份。如果任何活动 PIC 发生故障,备份 PIC 将接管发生故障的 PIC。在 N:1(无状态)备份配置中,活动 PIC 与备份 PIC 之间不会同步流量状态和数据结构。
AMS 系统还支持一对一 (1:1) 配置。在 1:1 备份的情况下,备份接口与单个活动接口配对。如果活动接口发生故障,备份接口将接管。在 1:1(有状态)配置中,流量状态和数据结构在活动 PIC 和备份 PIC 之间同步。IPsec 连接的高可用性需要有状态同步。对于 IPsec 连接,AMS 仅支持 1:1 配置。
在此版本中,MX-SPC3 不支持 IPsec 连接。
通过在[edit interfaces interface-name load-balancing-options]
层次结构级别添加high-availability-options
语句来配置负载平衡的高可用性。
要配置 N:1 高可用性,请将语句与many-to-one
选项包含在high-availability-options
内:
[edit interfaces ams1] load-balancing-options { high-availability-options { many-to-one { preferred-backup preferred-backup; } } }
从 Junos OS 16.1 版开始,可以在 MS-MPC 上配置有状态的 1:1 高可用性。要在层次结构级别配置有状态的 1:1 高可用性[edit interfaces interface-name load-balancing-options]
,请将语句与one-to-one
选项包含在high-availability-options
内:
新一代服务 MX-SPC3 服务卡不支持 AMS 1:1 高可用性。
[edit interfaces ams1] load-balancing-options { high-availability-options { one-to-one { preferred-backup preferred-backup; } } }
均衡网络地址转换流负载
网络地址转换 (NAT) 已编程为插件,是负载平衡和高可用性的一项功能。该插件在 AMS 基础架构上运行。所有要转换的流量都会自动分发到作为 AMS 基础架构一部分的不同服务 PIC。如果活动服务 PIC 发生故障,配置的备份 PIC 将接管发生故障的 PIC 的 NAT 池资源。选择的散列方法取决于 NAT 的类型。 在 AMS 基础架构上使用 NAT 有几个限制:
无法还原到故障 PIC 的 NAT 流。
不支持 IPv6 流。
AMS 不支持 IPv6 地址池,但 AMS 支持 NAT64,以便 IPv6 流量进入 AMS。
MX-SPC3 服务卡上的下一代服务支持 NAT64,不支持 NAT66。支持不同 NAT 服务的 IPv6 流,除非需要将转换为 IPv6 到 IPv6 或 IPv4 到 IPv6。
MS-MPC 卡上的负载平衡不支持两次 NAT。
新一代服务 MX-SPC3 服务卡支持两次 NAT 以实现负载平衡。
确定性 NAT 使用热备用 AMS 配置,可以在热备用模式下使用多个 AMS 束分配负载。
为服务接口配置热备用
您可以通过创建多个聚合多服务 (AMS) 接口来为 MS-MPC、MS-MIC 和 MX-SPC3 配置 N:1 热备用选项,每个接口都包含要备份的服务接口和用作备份的服务接口。所有这些 AMS 接口均可使用相同的备份服务接口。从 Junos OS 19.3R2 版开始,MX-SPC3 支持 N:1 热备用选项。
要为服务接口配置热备用,请执行以下作:
另见
示例:配置聚合多服务接口 (AMS)
硬件和软件要求
此示例要求 MX 系列路由器在其中安装了服务接口并在其上运行 Junos OS 13.2 版。
概述
借助 Junos OS 中的聚合多服务 (AMS) 接口配置,您可以将多个服务接口组合在一起,创建可用作单个接口的接口包。此示例说明如何配置 AMS 接口、负载平衡选项、成员故障选项、AMS 接口上的高可用性设置以及使用 AMS 接口的接口样式服务集配置。
不能在包含 MS-MIC 或 MS-MPC 作为成员接口的 AMS 配置中包含 MS-DPC 或其他多服务 PIC。
MS-PIC 仅包含一个接口,而 MS-MPC 包含四个接口。要在单个 AMS 捆绑包中使用整个 MS-MPC,需要将所有四个成员接口分配给该 AMS 捆绑包。
请记住以下几点,每个成员接口(XLP 芯片)都需要成为 AMS 接口包的一部分:
来自同一 MPC 的基于 XLP 的线卡可以是多个 AMS 捆绑包的一部分。
来自多个 MPC 的多个 XLP 芯片也可以是单个捆绑包的一部分(一个 AMS 捆绑包中最多有八个成员接口,具体取决于部署要求)。
来自同一 MS-MPC 的所有 XLP 芯片不一定必须属于同一 AMS 束的一部分。某些 XLP 芯片可以是 AMS 捆绑包的一部分,而其他 XLP 芯片可以是独立
ms-
接口,或者无需配置。但是,同一个 XLP 芯片不能同时属于两个不同的 AMS 接口。例如,可以根据部署需求将来自同一 MS-MPC 的每个 XLP 芯片分组为四个不同的 AMS 束。最多可将八个成员接口分配给 AMS 捆绑包。
有关 AMS 接口的详细信息,请参阅 了解聚合多服务接口。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到 [编辑] 层次结构级别的 CLI 中。
添加成员接口
set interfaces ams0 load-balancing-options member-interface mams-0/0/0 set interfaces ams0 load-balancing-options member-interface mams-0/1/0 set interfaces ams0 load-balancing-options member-interface mams-1/0/0 set interfaces ams0 load-balancing-options member-interface mams-1/1/0 set interfaces ams0 load-balancing-options member-interface mams-2/0/0 set interfaces ams0 load-balancing-options member-interface mams-2/1/0
配置逻辑单元
set interfaces ams0 unit 1 family inet
配置成员故障选项
set interfaces ams0 load-balancing-options member-failure-options drop-member-traffic rejoin-timeout 300 set interfaces ams0 load-balancing-options member-failure-options drop-member-traffic enable-rejoin
配置高可用性选项
set interfaces ams0 load-balancing-options high-availability-options many-to-one preferred-backup mams-1/0/0
配置服务集和接口服务
set services service-set ams-ss1 interface-service service-interface ams0.1 set services service-set ams-ss1 interface-service load-balancing-options hash-keys ingress-key source-ip set services service-set ams-ss1 interface-service load-balancing-options hash-keys egress-key destination-ip
分步过程
下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
创建聚合多服务接口并添加成员接口。
注意:您不能同时将同一个 MAMS 配置为两个不同 AMS 接口的一部分。
[edit] user@router1# set interfaces ams0 load-balancing-options member-interface mams-0/0/0 user@router1# set interfaces ams0 load-balancing-options member-interface mams-0/1/0 user@router1# set interfaces ams0 load-balancing-options member-interface mams-1/0/0 user@router1# set interfaces ams0 load-balancing-options member-interface mams-1/1/0 user@router1# set interfaces ams0 load-balancing-options member-interface mams-2/0/0 user@router1# set interfaces ams0 load-balancing-options member-interface mams-2/1/0
为 AMS 接口配置逻辑单元。
注意:AMS 接口及其成员接口不能共享相同的逻辑接口单元。例如,如果其中一个成员接口上配置了逻辑单元 1 和 2,则无法为 AMS 配置逻辑单元 1 和 2。同样,如果在 AMS 上配置了逻辑单元 3 和 4,则不能在任何成员接口上配置这些单元。
[edit interfaces] user@router1# set ams0 unit 1 family inet
配置成员故障选项。
[edit interfaces ams0] user@router1# set load-balancing-options member-failure-options drop-member-traffic rejoin-timeout 300 user@router1# set load-balancing-options member-failure-options drop-member-traffic enable-rejoin
注意:此示例显示了
drop-member-traffic
配置。但是,如果希望在其中一个成员接口出现故障时将流量重新分配给其他可用成员,则可以添加语redistribute-all-traffic
句而不是drop-member-traffic
语句。当配置未包含在内时
member-failure-options
,默认行为是丢弃成员流量,重新加入超时为 120 秒。配置高可用性选项。
[edit interfaces ams0] user@router1# set load-balancing-options high-availability-options many-to-one preferred-backup mams-1/0/0
配置接口样式服务。
[edit services] user@router1# set service-set ams-ss1 interface-service service-interface ams0.1 user@router1# set service-set ams-ss1 interface-service load-balancing-options hash-keys ingress-key source-ip user@router1# set service-set ams-ss1 interface-service load-balancing-options hash-keys egress-key destination-ip
如果完成设备配置,请提交配置。
[edit] user@router1# commit
表 1:此示例中使用的关键配置语句 陈述
描述
member-interface
将成员接口 (mams) 添加到 AMS 捆绑包中。
drop-member-traffic
指定在成员接口发生故障时丢弃发往成员的所有流量。
rejoin-timeout
指定 AMS 在声明成员接口关闭之前等待的时间间隔(以秒为单位)。如果发生故障的成员在此期间重新联机,则可以重新加入 AMS 并恢复流量转发。
范围为 0 到 1000 秒。
enable-rejoin
指定是否允许故障接口在重新联机时重新加入 AMS。
如果配置中未包含此语句,则必须在接口重新联机时手动将接口添加到 AMS。
preferred-backup
将成员接口指定为浮动备份。
interface-services
指定服务接口(此示例中为 AMS 接口)以处理接口服务。
hash-keys
指定负载均衡哈希键。您可以配置以下哈希键值:
source-ip
、、(iif
传入接口)、oif
(传出接口)和protocol
destination-ip
。注意:对于需要流量对称性的服务,您必须配置对称散列。对称散列配置可确保正向和反向流量都通过同一成员接口路由。
结果
在配置模式下,输入 show interfaces ams0
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@router1# show interfaces ams0 load-balancing-options { member-interface mams-0/0/0; member-interface mams-0/1/0; member-interface mams-1/0/0; member-interface mams-1/1/0; member-interface mams-2/0/0; member-interface mams-2/1/0; member-failure-options { drop-member-traffic { rejoin-timeout 300; enable-rejoin; } } high-availability-options { many-to-one { preferred-backup mams-1/0/0; } } } unit 1 { family inet; }
user@router1# show services service-set ams-ss1 { interface-service { service-interface ams0.1; load-balancing-options { hash-keys { ingress-key source-ip; egress-key destination-ip; } } } }
验证
确认配置工作正常。
验证 AMS 配置
目的
验证成员接口的 AMS 配置和状态。
行动
在作模式下,输入 show
命令。
user@router1> show interfaces load-balancing detail Load-balancing interfaces detail Interface : ams0 State : Up Last change : 00:01:28 Member count : 6 HA Model : Many-to-One Members : Interface Weight State mams-0/0/0 10 Active mams-0/1/0 10 Active mams-1/0/0 10 Backup mams-1/1/0 10 Active mams-2/0/0 10 Active mams-2/1/0 10 Active
意义
显示 ams0
具有六个具有多对一备份配置的成员接口。在 6 个成员接口中,5 个处于活动状态,1 个 mams-1/0/0 处于备份状态。
示例:在聚合多服务接口上配置下一跃点样式服务
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到 [编辑] 层次结构级别的 CLI 中。
配置聚合多服务接口
set interfaces ams0 load-balancing-options member-interface mams-1/0/0 set interfaces ams0 load-balancing-options member-interface mams-1/1/0 set interfaces ams0 load-balancing-options member-interface mams-2/0/0 set interfaces ams0 load-balancing-options member-interface mams-2/1/0 set interfaces ams0 unit 1 family inet set interfaces ams0 unit 1 service-domain inside set interfaces ams0 unit 2 family inet set interfaces ams0 unit 2 service-domain outside
配置使用 AMS 接口的路由实例
set routing-instances ri-internal instance-type virtual-router set routing-instances ri-internal interface ge-0/0/2.0 set routing-instances ri-internal interface ams0.1 set routing-instances ri-internal routing-options static route 22.22.22.0/24 next-hop ams0.1 set routing-instances ri-external instance-type virtual-router set routing-instances ri-external interface ge-2/0/6.0 set routing-instances ri-external interface ams0.2 set routing-instances ri-external routing-options static route 0.0.0.0/0 next-hop ams0.2
配置哈希密钥
set interfaces ams0 unit 1 load-balancing-options hash-keys ingress-key source-ip protocol set interfaces ams0 unit 2 load-balancing-options hash-keys ingress-key destination-ip protocol
配置下一跳服务
set services service-set ams-test stateful-firewall-rules sfw1 set services service-set ams-test next-hop-service inside-service-interface ams0.1 set services service-set ams-test next-hop-service outside-service-interface ams0.2
分步过程
下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅 CLI 用户指南中的“在配置模式下使用 CLI 编辑器”。
配置聚合多服务接口和负载平衡选项。
[edit interfaces ams0] user@router1# set load-balancing-options member-interface mams-1/0/0 user@router1# set load-balancing-options member-interface mams-1/1/0 user@router1# set load-balancing-options member-interface mams-2/0/0 user@router1# set load-balancing-options member-interface mams-2/1/0 user@router1# set unit 1 family inet user@router1# set unit 1 service-domain inside user@router1# set unit 2 family inet user@router1# set unit 2 service-domain outside
配置使用第一步中配置的聚合多服务接口的路由实例。
[edit routing-instances] user@router1# set ri-internal instance-type virtual-router user@router1# set ri-internal interface ge-0/0/2.0 user@router1# set ri-internal interface ams0.1 user@router1# set ri-internal routing-options static route 22.22.22.0/24 next-hop ams0.1 user@router1# set ri-external instance-type virtual-router user@router1# set ri-external interface ge-2/0/6.0 user@router1# set ri-external interface ams0.2 user@router1# set ri-external routing-options static route 0.0.0.0/0 next-hop ams0.2
为聚合多服务接口配置哈希密钥。
注意:与接口样式配置中在服务集配置中定义哈希密钥不同的是,对于下一跃点服务,哈希密钥在 AMS 配置的逻辑单元下指定。
[edit interfaces ams0] user@router1# set unit 1 load-balancing-options hash-keys ingress-key source-ip protocol user@router1# set unit 2 load-balancing-options hash-keys ingress-key destination-ip protocol
在服务集配置下配置下一跃点样式服务。
[edit services service-set ams-test] user@router1# set stateful-firewall-rules sfw1 user@router1# set next-hop-service inside-service-interface ams0.1 user@router1# set next-hop-service outside-service-interface ams0.2
提交配置。
[edit] user@router1# commit
结果
在配置模式下,输入show interfaces ams0
show routing-instances
、和show services service-set ams-test
命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@router1# show interfaces ams0 load-balancing-options { member-interface mams-1/0/0; member-interface mams-1/1/0; member-interface mams-2/0/0; member-interface mams-2/1/0; member-failure-options { redistribute-all-traffic { enable-rejoin; } } } unit 1 { family inet; service-domain inside; load-balancing-options { hash-keys { ingress-key [ source-ip protocol ]; } } } unit 2 { family inet; service-domain outside; load-balancing-options { hash-keys { ingress-key [ destination-ip protocol ]; } } }
user@router1# show routing-instances ri-internal { instance-type virtual-router; interface ge-0/0/2.0; interface ams0.1 routing-options { static { route 22.22.22.0/24 next-hop ams0.1; } } } ri-external { instance-type virtual-router; interface ge-2/0/6.0; interface ams0.2 routing-options { static { route 0.0.0.0/0 next-hop ams0.2; } } }
user@router1# show services service-set ams stateful-firewall-rules sfw1; next-hop-service { inside-service-interface ams0.1; outside-service-interface ams0.2; }
硬件和软件要求
已安装服务接口并运行 Junos OS 13.2 版的 MX 系列路由器。
概述
从 13.2 版开始,Junos OS 将下一跃点样式服务支持扩展到聚合多服务 (AMS) 接口。在早于 12.3 的版本中,AMS 接口仅支持接口样式服务配置。
AMS 接口上的下一跃点样式服务配置与接口样式服务配置不同。对于下一跃点样式的服务,负载平衡哈希密钥被定义为 AMS 接口逻辑单元配置的一部分。对于接口样式服务,哈希键配置属于服务集配置。
此示例介绍了 AMS 接口上的下一跃点样式服务配置,并显示了验证配置是否正常工作的验证步骤。
示例:在 AMS 基础架构上配置静态源转换
此示例显示了在 AMS 接口上配置的静态源转换。在此示例中,流将在成员接口之间实现负载均衡。
使用负载平衡选项配置 AMS 接口 ams0
。
[edit interfaces ams0] load-balancing-options { member-interface mams-5/0/0; member-interface mams-5/1/0; } unit 1 { family inet; } unit 2 { family inet; }
为入口和出口流量的服务集配置散列。
[edit services service-set ss1] interface-service { service-interface ams0.1; load-balancing-options { hash-keys { ingress-key destination-ip; egress-key source-ip; } } }
散列是根据服务集是在入口接口还是出口接口上应用来确定的。
配置两个 NAT 池,因为您已为 AMS 接口配置了两个成员接口。
[edit services] nat { pool p1 { address-range low 20.1.1.80 high 20.1.1.80; } pool p2 { address 20.1.1.81/32; } }
配置 NAT 规则和转换。
[edit services] nat { rule r1 { match-direction input; term t1 { from { source-address { 20.1.1.2/32; } } then { translated { source-pool p1; translation-type { basic-nat44; } } } term t1 { from { source-address { 40.1.1.2/32; } } then { translated { source-pool p2; translation-type { basic-nat44; } } } } }
类似的配置可以应用于转换类型 dynamic-nat44
和 napt-44
。TWICE NAT 目前无法在 AMS 基础架构上运行。
另见
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。