分发 VPN 路由
本主题介绍如何配置路由器以处理 BGP、MPLS 信令和策略中的路由信息。
启用 VPN 的路由信息交换
要使第 2 层 VPN、第 3 层 VPN、虚拟路由器路由实例、VPLS、EVPN 和第 2 层电路正常运行,服务提供商的 PE 和 P 路由器必须能够交换路由信息。为此,您必须在这些路由器上配置 IGP(例如 OSPF 或 IS-IS)或静态路由。您可以在层级的路由协议进程 [edit protocols]
的主实例上配置 IGP,而非在用于 VPN 的路由实例内(即,不在 [edit routing-instances]
层次结构级别上)。
配置 PE 路由器时,请勿在区域边界配置任何 PE 路由器环路地址汇总。每个 PE 路由器的环路地址都应显示为单独的路由。
在 VPN 中配置 PE 路由器之间的 IBGP 会话
您必须在 PE 路由器之间配置 IBGP 会话,以允许 PE 路由器交换有关在 VPN 中始发和终止的路由的信息。PE 路由器依靠这些信息来确定哪些标签用于发往远程站点的流量。
为 VPN 配置 IBGP 会话,如下所示:
[edit protocols] bgp { group group-name { type internal; local-address ip-address; family evpn { signaling; } family (inet-vpn | inet6-vpn) { unicast; } family l2vpn { signaling; } neighbor ip-address; } }
语句中的 local-address
IP 地址是本地 PE 路由器上的环路接口地址。VPN 的 IBGP 会话通过环路地址运行。(您还必须在 [edit interfaces]
层次结构级别配置环路接口。)
语句中的 neighbor
IP 地址是相邻 PE 路由器的环路地址。如果使用 RSVP 信令,则此 IP 地址与您在配置 MPLS LSP 时在 to
层次结构级别的语句 [edit mpls label-switched-path lsp-path-name]
中指定的地址相同。
该 family
语句允许您为第 2 层 VPN、VPLS、EVPN 或第 3 层 VPN 配置 IBGP 会话。
要为第 2 层 VPN 和 VPLS 配置 IBGP 会话,请在
[edit protocols bgp group group-name family l2vpn]
层次结构级别包含以下signaling
语句:[edit protocols bgp group group-name family l2vpn] signaling;
要为 EVPN 配置 IBGP 会话,请在
[edit protocols bgp group group-name family evpn]
层次结构级别包含以下signaling
语句:[edit protocols bgp group group-name family evpn] signaling;
要为第 3 层 VPN 配置 IPv4 IBGP 会话,请在
[edit protocols bgp group group-name family inet-vpn]
层级配置unicast
语句:[edit protocols bgp group group-name family inet-vpn] unicast;
要为第 3 层 VPN 配置 IPv6 IBGP 会话,请在
[edit protocols bgp group group-name family inet6-vpn]
层级配置unicast
语句:[edit protocols bgp group group-name family inet6-vpn] unicast;
您可以在同一对等组中同时family inet
配置和family inet-vpn
/或两者family inet6
family inet6-vpn
。这允许您启用对 IPv4 和 IPv4 VPN 路由的支持,或者对同一对等组中的 IPv6 和 IPv6 VPN 路由。
为 VPN 配置聚合标签
VPN 聚合标签允许瞻博网络路由平台将一组传入标签(从对等路由器接收的标签)聚合到从传入标签集中选择的单个转发标签中。单个转发标签对应于该组标签的下一个跃点。标签聚合减少了路由器必须检查的 VPN 标签数量。
对于要共享聚合转发标签的一组标签,它们必须属于相同的转发等效类 (FEC)。标记的数据包必须具有相同的目标出口接口。
community
community-name
将语句与语句一起包含在语aggregate-label
句中,允许您指定具有公共源社区的前缀。这些前缀由对等 PE 上的策略设置,表示对等 PE 路由器上的 FEC。
如果错误地设置了目标社区而不是源社区,则可能会导致出口 PE 出现转发问题。来自对等方 PE 的所有前缀都将显示在同一 FEC 中,从而为同一 VPN 中给定 PE 后面的所有 CE 路由器显示一个内部标签。
要在第 3 层 VPN 网络中使用路由反射器,瞻博网络 M10i 路由器仅在以下情况下聚合一组传入标签:
从同一对等路由器接收
具有相同的源点社区
具有相同的下一跃点
下一跃点要求很重要,因为路由反射器将路由从不同的 BGP 对等方转发到另一个 BGP 对等体,而不会更改这些路由的下一跃点。
要为 VPN 配置聚合标签,请添加 aggregate-label 语句:
aggregate-label { community community-name; }
有关可以包含此语句的层次结构级别的列表,请参阅此语句的语句摘要。
有关如何配置社区的信息,请参阅 了解 BGP 社区、扩展社区和大型社区作为路由策略匹配条件。
为 VPN 配置信令协议和 LSP
要使 VPN 正常运行,您必须启用信令协议,即提供商边缘 (PE) 路由器和提供商 (P) 路由器上的 LDP 或 RSVP。您还需要在入口和出口路由器之间配置标签交换路径 (LSP)。在典型的 VPN 配置中,您需要以全网状形式配置从每个 PE 路由器到参与 VPN 的所有其他 PE 路由器的 LSP。
与任何涉及 MPLS 的配置一样,您无法在密集快速以太网 PIC 上的 PE 路由器上配置任何面向核心的接口。
要启用信令协议,请执行以下部分之一中的步骤:
使用 LDP 进行 VPN 信令
要使用 LDP 进行 VPN 信令,请在 PE 和提供商 (P) 路由器上执行以下步骤:
通过在
[edit protocols]
层次结构级别包含ldp
语句,在服务提供商网络核心的接口上配置 LDP。您只需在 PE 路由器之间或者 PE 和 P 路由器之间的接口上配置 LDP。您可以将这些接口视为“面向核心”的接口。无需在 PE 和客户边缘 (CE) 路由器之间的接口上配置 LDP。
[edit] protocols { ldp { interface type-fpc/pic/port; } }
通过在
[edit interfaces type-fpc/pic/port unit logical-unit-number]
层次结构级别包含family mpls
语句,在启用了 LDP 的接口(在步骤 1 中配置的接口)上配置 MPLS 地址族。[edit] interfaces { type-fpc/pic/port { unit logical-unit-number { family mpls; } } }
在每个 PE 和 P 路由器上配置 OSPF 或 IS-IS。
您可以在路由协议的主实例上配置这些协议,而非在用于 VPN 的路由实例中配置这些协议。
要配置 OSPF,请在
[edit protocols]
层次结构级别包含ospf
语句。您必须至少在一个路由器接口上配置一个主干区域。[edit] protocols { ospf { area 0.0.0.0 { interface type-fpc/pic/port; } } }
要配置 IS-IS,请在
[edit protocols]
层次结构级别包含isis
语句,并在[edit interfaces]
层次结构级别配置环路接口和国际标准组织 (ISO) 家族。至少必须在路由器上启用 IS-IS,在路由器的一个接口(最好是环路接口 lo0)上配置网络实体标题 (NET),并在希望运行 IS-IS 的所有接口上配置 ISO 家族。启用 IS-IS 时,默认情况下会启用级别 1 和级别 2。以下是最低 IS-IS 配置。address
在语句中,address
是 NET。[edit] interfaces { lo0 { unit logical-unit-number { family iso { address address; } } } type-fpc/pic/port { unit logical-unit-number { family iso; } } } protocols { isis { interface all; } }
使用 RSVP 进行 VPN 信令
要使用 RSVP 进行 VPN 信令,请执行以下步骤:
在每个 PE 路由器上,配置流量工程。
为此,您必须配置支持流量工程(IS-IS 或 OSPF)的内部网关协议 (IGP),并为该协议启用流量工程支持。
要启用 OSPF 流量工程支持,请在
[edit protocols ospf]
层次结构级别包含语traffic-engineering
句:[edit protocols ospf] traffic-engineering { shortcuts; }
对于 IS-IS,默认情况下启用流量工程支持。
在每个 PE 和 P 路由器上,在参与标签交换路径 (LSP) 的接口上启用 RSVP。
在 PE 路由器上,这些接口是 LSP 的入口和出口点。在 P 路由器上,这些接口连接 PE 路由器之间的 LSP。请勿在 PE 和 CE 路由器之间的接口上启用 RSVP,因为此接口不是 LSP 的一部分。
要在 PE 和 P 路由器上配置 RSVP,请在
[edit protocols rsvp]
层次结构级别包含interface
语句。为要启用 RSVP 的每个接口包含一条interface
语句。[edit protocols] rsvp { interface interface-name; interface interface-name; }
在每台 PE 路由器上,为 PE 路由器(即 LSP 的出口点)配置一个 MPLS LSP。
为此,请在
[edit protocols mpls]
层次结构级别包含interface
和label-switched-path
语句:[edit protocols] mpls { interface interface-name; label-switched-path path-name { to ip-address; } }
在
to
语句中,指定 LSP 出口点的地址,即远程 PE 路由器上的地址。interface
在语句中,指定接口的名称(物理部分和逻辑部分)。为与 LSP 关联的接口添加一条interface
语句。在
[edit interfaces]
层次结构级别配置同一接口的逻辑部分时,还必须配置family inet
和family mpls
语句:[edit interfaces] interface-name { unit logical-unit-number { family inet; family mpls; } }
在所有加入 LSP 的 P 路由器上,通过在
[edit mpls]
层次结构级别包含interface
语句来启用 MPLS。为与 LSP 的每个连接包含一条
interface
语句。[edit] mpls { interface interface-name; interface interface-name; }
通过在
[edit mpls]
层次结构级别包含interface
语句,在 PE 和 CE 路由器之间的接口上启用 MPLS。这样做后,PE 路由器可以为进入 LSP 的流量分配 MPLS 标签,或者从退出 LSP 的流量中移除标签。
[edit] mpls { interface interface-name; }
有关配置 MPLS 的信息,请参阅 为 MPLS 信号 LSP 配置入口路由器。
另见
为 VPN 中 PE 路由器上的 VRF 表配置策略
在每台 PE 路由器上,都必须定义如何将路由导入和导出路由器 VRF 表的策略。在这些策略中,您必须定义路由目标,并且可以选择定义路由原点。
要为 VRF 表配置策略,请执行以下部分中的步骤:
配置路由目标
作为 VPN 路由表策略配置的一部分,您必须定义路由目标,用于定义路由属于哪个 VPN。在同一 PE 路由器上配置不同类型的 VPN 服务(第 2 层 VPN、第 3 层 VPN、EVPN 或 VPLS)时,请务必分配唯一的路由目标值,以避免将路由和信令信息添加到错误的 VPN 路由表。
要配置路由目标,请在语句中community
包含该target
选项:
community name members target:community-id;
您可以在以下层级包含此语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
name
是社区的名称。
community-id
是社区的标识符。按以下格式之一指定:
as-number
:number
,其中as-number
是 AS 编号(2 字节值),number
是 4 字节社区值。AS 编号的范围是 1 到 65,535。我们建议使用 IANA 分配的非专用 AS 编号,最好是 ISP 自己的 AS 编号或客户自己的 AS 编号。社区值可以是 0 到 4,294,967,295 (232 – 1) 范围内的数字。ip-address
:number
,其中ip-address
是一个 IPv4 地址(一个 4 字节值),number
是一个 2 字节的社区值。IP 地址可以是任何全局唯一的单播地址。建议使用在语句中router-id
配置的地址,即分配的前缀范围内的非专用地址。社区值可以是 1 到 65,535 范围内的数字。
配置路由原点
在 PE 路由器的 VRF 表的导入和导出策略中,您可以使用应用于发送至其他 PE 路由器的多协议外部 BGP (MP-EBGP) VPN IPv4 路由更新的 VRF 导出策略,选择性地为 PE 路由器的 VRF 路由分配路由原点(也称为源站点)。
匹配接收 PE 的 VRF 导入策略中的已分配路由来源属性有助于确保通过从一个 PE 的 MP-EBGP 更新获知的 VPN-IPv4 路由不会从连接到同一站点的不同 PE 重新导入到同一 VPN 站点。
要配置路由原点,请完成以下步骤:
将语句与
origin
选项包括community
在内:community name members origin:community-id;
您可以在以下层级包含此语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
name
是社区的名称。community-id
是社区的标识符。按以下格式之一指定:as-number
:number
,其中as-number
是 AS 编号(2 字节值),number
是 4 字节社区值。AS 编号的范围是 1 到 65,535。我们建议使用 IANA 分配的非专用 AS 编号,最好是 ISP 自己的 AS 编号或客户自己的 AS 编号。社区值可以是 0 到 4,294,967,295 (232 – 1) 范围内的数字。ip-address
:number
,其中ip-address
是一个 IPv4 地址(一个 4 字节值),number
是一个 2 字节的社区值。IP 地址可以是任何全局唯一的单播地址。建议使用在语句中router-id
配置的地址,即分配的前缀范围内的非专用地址。社区值可以是 1 到 65,535 范围内的数字。
使用步骤 1 中定义的
[edit policy-options policy-statement import-policy-name term import-term-name from]
标识符在层次结构级别上配置语句community-id
,将community
社区包含在 PE 路由器的 VRF 表的导入策略中。请参阅为 PE 路由器的 VRF 表配置导入策略。如果策略的
from
子句未指定社区条件,则vrf-import
无法提交应用策略的语句。Junos OS 提交操作未通过验证检查。通过在
[edit policy-options policy-statement export-policy-name term export-term-name then]
层次结构级别上使用community-id
步骤 1 中定义的标识符配置community
语句,将社区包含在 PE 路由器的 VRF 表的导出策略中。请参阅为 PE 路由器的 VRF 表配置导出策略。
有关配置示例,请参阅 配置 VPN 的路由来源 。
为 PE 路由器的 VRF 表配置导入策略
每个 VPN 都可以有一个策略,用于定义如何将路由导入到 PE 路由器的 VRF 表中。导入策略将应用于从 VPN 中的其他 PE 路由器接收的路由。策略必须评估通过与对等 PE 路由器的 IBGP 会话接收的所有路由。如果路由与条件匹配,则路由将安装在 PE 路由器的 routing-instance-name.inet.0
VRF 表中。导入策略必须包含拒绝所有其他路由的第二个术语。
除非导入策略仅 then reject
包含语句,否则它必须包含对社区的引用。否则,当您尝试提交配置时,提交将失败。您可以配置多个导入策略。
导入策略会根据通过 IBGP 从远程 PE 路由器获知的 VPN 路由,确定要导入指定 VRF 表的内容。IBGP 会话在[edit protocols bgp]
层次结构级别上配置。如果还在层次结构级别配置导入策略[edit protocols bgp]
,则层次结构级别和[edit protocols bgp]
层次结构级别的导入策略[edit policy-options]
将通过逻辑 AND 操作组合在一起。这允许您作为一个组过滤流量。
要为 PE 路由器的 VRF 表配置导入策略,请执行以下步骤:
要定义导入策略,请包含语
policy-statement
句。对于所有 PE 路由器,导入策略必须始终至少包含以下policy-statement
语句:policy-statement import-policy-name { term import-term-name { from { protocol bgp; community community-id; } then accept; } term term-name { then reject; } }
您可以在以下层级包含
policy-statement
语句:[edit policy-options]
[edit logical-systems logical-system-name policy-options]
该
import-policy-name
策略评估通过与其他 PE 路由器的 IBGP 会话接收的所有路由。如果路由与语句中的from
条件匹配,则路由将安装在 PE 路由器的 routing-instance-name.inet.0 VRF 表中。策略中的第二个术语拒绝所有其他路由。有关创建策略的详细信息,请参阅 《路由策略、防火墙过滤器和流量监管器用户指南》。
您可以选择使用正则表达式来定义一组要用于 VRF 导入策略的社区。
例如,
community
您可以在层次结构级别使用语句[edit policy-options policy-statement policy-statement-name]
进行以下配置:[edit policy-options vrf-import-policy-sample] community high-priority members *:50
请注意,不能将正则表达式配置为路由目标扩展社区的一部分。有关如何为社区配置正则表达式的详细信息,请参阅 如何在路由策略匹配条件中评估 BGP 社区和扩展社区。
要配置导入策略,请包含以下
vrf-import
语句:vrf-import import-policy-name;
您可以在以下层级包含此语句:
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
为 PE 路由器的 VRF 表配置导出策略
每个 VPN 都可以有一个策略,用于定义如何从 PE 路由器的 VRF 表导出路由。导出策略将应用于发送到 VPN 中其他 PE 路由器的路由。导出策略必须评估通过与 CE 路由器的路由协议会话接收的所有路由。(此会话可使用 BGP、OSPF 或路由信息协议 [RIP] 路由协议或静态路由。如果路由符合条件,则会向其添加指定的社区目标(即路由目标),并将其导出到远程 PE 路由器。导出策略必须包含拒绝所有其他路由的第二个术语。
在 VPN 路由实例中定义的导出策略是应用于 VRF 表的唯一导出策略。您在 PE 路由器之间的 IBGP 会话上定义的任何导出策略都不会影响 VRF 表。您可以配置多个导出策略。
要为 PE 路由器的 VRF 表配置导出策略,请执行以下步骤:
对于所有 PE 路由器,导出策略必须根据您在路由实例中的 CE 路由器和 PE 路由器之间配置的路由协议类型,将 VPN 路由分配到连接的 CE 路由器以及从连接的 CE 路由器进行分配。
要定义导出策略,请包含
policy-statement
语句。导出策略必须始终至少包含以下policy-statement
语句:policy-statement export-policy-name { term export-term-name { from protocol (bgp | ospf | rip | static); then { community add community-id; accept; } } term term-name { then reject; } }
注意:community add
配置语句是第 2 层 VPN VRF 导出策略的要求。如果将community add
语句更改为语community set
句,则位于第 2 层 VPN 链路出口处的路由器可能会断开连接。注意:配置在源特定模式
vrf-export
下运行的 draft-rosen 组播 VPN 并使用语句指定导出策略时,策略必须具有接受来自 vrf-name.mdt.0 路由表的路由的术语。此术语可确保使用inet-mdt
地址族进行正确的 PE 自动发现。配置在源特定模式下运行的 draft-rosen 组播 VPN 并使用
vrf-target
语句时,VRF 导出策略将自动生成并自动接受来自 vrf-name.mdt.0 路由表的路由。您可以在以下层级包含
policy-statement
语句:[edit policy-options]
[edit logical-systems logical-system-name policy-options]
该
export-policy-name
策略评估通过与 CE 路由器的路由协议会话接收的所有路由。(此会话可使用 BGP、OSPF 或 RIP 路由协议或静态路由。)如果路由与语句中的from
条件匹配,则会添加语句中then community add
指定的社区目标,并将其导出到远程 PE 路由器。策略中的第二个术语拒绝所有其他路由。有关创建策略的详细信息,请参阅 《路由策略、防火墙过滤器和流量监管器用户指南》。
要应用策略,请包含以下
vrf-export
语句:vrf-export export-policy-name;
您可以在以下层级包含此语句:
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
同时应用 VRF 导出和 BGP 导出策略
应用 VRF 导出策略( 如为 PE 路由器的 VRF 表配置导出策略中所述)时,VPN 路由实例中的路由将基于此策略播发至其他 PE 路由器,而 BGP 导出策略将被忽略。
如果在 BGP 配置中包含该 vpn-apply-export
语句,则在 VPN 路由表中将路由播发至其他 PE 路由器之前,将同时应用 VRF 导出和 BGP 组或邻接方导出策略(先应用 VRF,再应用 BGP)。
当 PE 设备同时充当载波对载波或 AS 间 VPN 中的路由反射器 (RR) 或自治系统边界路由器 (ASBR) 时,将忽略 vrf 导出策略中的下一跳操作。
包含 vpn-apply-export
语句时,请注意以下事项:
导入到 bgp.l3vpn.0 路由表中的路由将保留原始路由的属性(例如,即使 OSPF 路由存储在 bgp.l3vpn.0 路由表中,它仍然是 OSPF 路由)。为 IBGP PE 路由器与 PE 路由器、路由反射器与 PE 路由器或 AS 边界路由器 (ASBR) 对等路由器之间的连接配置导出策略时,应注意这一点。
默认情况下,bgp.l3vpn.0 路由表中的所有路由都将导出到 IBGP 对等方。如果导出策略的最后一个语句为 deny all,并且导出策略在 bgp.l3vpn.0 路由表中的路由上不特定匹配,则不会导出任何路由。
要将 VRF 导出和 BGP 导出策略应用于 VPN 路由,请包含以下 vpn-apply-export
语句:
vpn-apply-export;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置 VRF 目标
在 VRF 目标社区的配置中包含该 vrf-target
语句将导致生成默认的 VRF 导入和导出策略,这些策略接受并标记具有指定目标社区的路由。您仍然可以通过显式配置 VRF 导入和导出策略来创建更复杂的策略。这些策略将覆盖配置语句时生成的 vrf-target
默认策略。
如果未配置语句的 import
和 export
选项 vrf-target
,则指定的社区字符串将沿两个方向应用。 import
和 export
关键字为您提供了更大的灵活性,允许您为每个方向指定不同的社区。
VRF 目标社区的语法不是名称。您必须以 target:x:y
格式 指定它。无法指定公共组名称,因为这还需要您使用语 policy-options
句为该社区配置社区成员。如果定义了 policy-options
语句,则可以像往常一样配置 VRF 导入和导出策略。该 vrf-target
语句的目的是允许您在 [edit routing-instances]
层次结构级别配置大多数语句,从而简化配置。
要配置 VRF 目标,请包含以下 vrf-target
语句:
vrf-target community;
您可以在以下层级包含此语句:
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
如何配置 vrf-target
语句的示例如下:
[edit routing-instances sample] vrf-target target:69:102;
要使用export
和import
选项配置vrf-target
语句,请包含以下语句:
vrf-target { export community-name; import community-name; }
您可以在以下层级包含此语句:
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
配置 VPN 的路由来源
您可以使用路由源来防止从标有源社区的一个客户边缘 (CE) 路由器获知的路由从同一 AS 中的另一台 CE 路由器播发给该路由器。
在此示例中,路由源用于防止从 CE 路由器 A 获知的标有源社区的路由通过 AS 200 将播发回 CE 路由器 E。示例拓扑如 图 1 所示。

在此拓扑中,CE 路由器 A 和 CE 路由器 E 在同一 AS (AS200) 中。它们使用 EBGP 与各自的提供商边缘 (PE) 路由器(PE 路由器 B 和 PE 路由器 D)交换路由。两台 CE 路由器具有反向连接。
以下部分介绍如何为一组 VPN 配置路由源:
- 在 CE 路由器 A 上配置源站社区
- 在 CE 路由器 A 上配置社区
- 在 CE 路由器 A 上应用策略声明
- 在 PE 路由器 D 上配置策略
- 在 PE 路由器 D 上配置社区
- 在 PE 路由器 D 上应用策略
在 CE 路由器 A 上配置源站社区
以下部分介绍如何配置 CE 路由器 A,以便将带有源站社区的路由通告到 PE 路由器 B。
在此示例中,直接路由配置为播发,但可以配置任何路由。
配置策略以在 CE 路由器 A 上通过 my-soo
社区通告路由,如下所示:
[edit] policy-options { policy-statement export-to-my-isp { term a { from { protocol direct; } then { community add my-soo; accept; } } } }
在 CE 路由器 A 上配置社区
在 CE 路由器 A 上配置 my-soo
社区,如下所示:
[edit] policy-options { community my-soo { members origin:100:1; } }
在 CE 路由器 A 上应用策略声明
将导出到我的 ISP 策略语句作为导出策略应用于 CE 路由器 A 上的 EBGP 对等连接,如下所示:
[edit] protocols { bgp { group my_isp { export export-to-my-isp; } } }
发出 show route receive-protocol bgp detail
命令时,应会看到以下源自 PE 路由器 B 和社区 my-soo
的路由:
user@host> show route receive-protocol bgp 10.12.99.2 detail inet.0: 16 destinations, 16 routes (15 active, 0 holddown, 1 hidden) inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) vpn_blue.inet.0: 8 destinations, 10 routes (8 active, 0 holddown, 0 hidden) * 10.12.33.0/30 (2 entries, 1 announced) Nexthop: 10.12.99.2 AS path: 100 I Communities: origin:100:1 10.12.99.0/30 (2 entries, 1 announced) Nexthop: 10.12.99.2 AS path: 100 I Communities: origin:100:1 * 10.255.71.177/32 (1 entry, 1 announced) Nexthop: 10.12.99.2 AS path: 100 I Communities: origin:100:1 * 192.168.64.0/21 (1 entry, 1 announced) Nexthop: 10.12.99.2 AS path: 100 I Communities: origin:100:1 iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden) bgp.l3vpn.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden) inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) __juniper_private1__.inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
在 PE 路由器 D 上配置策略
在 PE 路由器 D 上配置一个策略,防止带有 my-soo
CE 路由器 A 标记的社区的路由播发到 CE 路由器 E,如下所示:
[edit] policy-options { policy-statement soo-ce1-policy { term a { from { community my-soo; then { reject; } } } } }
在 PE 路由器 D 上配置社区
在 PE 路由器 D 上配置社区,如下所示:
[edit] policy-options { community my-soo { members origin:100:1; } }
在 PE 路由器 D 上应用策略
要防止从 CE 路由器 A 获知的路由播发至 CE 路由器 E(两台路由器可以直接传送这些路由),请将 soo-ce1-policy
策略语句作为导出策略应用于 PE 路由器 D 和 CE 路由器 E EBGP 会话 vpn_blue
。
使用 show routing-instances
命令查看 PE 路由器 D 上的 EBGP 会话。
user@host# show routing-instances vpn_blue { instance-type vrf; interface fe-2/0/0.0; vrf-target target:100:200; protocols { bgp { group ce2 { advertise-peer-as; peer-as 100; neighbor 10.12.99.6; } } } }
将策略语句作为导出策略应用于 soo-ce1-policy
PE 路由器 D 和 CE 路由器 E EBGP 会话 vpn_blue
,如下所示:
[edit routing-instances] vpn_blue { protocols { bgp { group ce2{ export soo-ce1-policy; } } } }