载波至载波 VPN
了解载波至载波 VPN
VPN 服务提供商的客户可能是最终客户的服务提供商。以下是运营商的 VPN 的两种主要类型(如 RFC 4364 中所述:
作为客户的互联网服务提供商 — VPN 客户是一家 ISP,它使用 VPN 服务提供商的网络连接其地理位置不同的区域网络。客户无需在其区域网络中配置 MPLS。
VPN 服务提供商即客户 — VPN 客户本身就是向客户提供 VPN 服务的 VPN 服务提供商。运营商的 VPN 服务客户依靠主干 VPN 服务提供商实现站点间连接。客户 VPN 服务提供商需要在其区域网络中运行 MPLS。
图 1 展示了用于运营商 VPN 服务的网络架构。
本主题涵盖以下内容:
作为客户的互联网服务提供商
在这种运营商的 VPN 配置中,ISP A 配置其网络以向 ISP B 提供互联网服务。ISP B 为需要互联网服务的客户提供连接,但实际互联网服务由 ISP A 提供。
这种类型的载波至载波 VPN 配置具有以下特征:
运营商的 VPN 服务客户 (ISP B) 不需要在其网络上配置 MPLS。
运营商的 VPN 服务提供商 (ISP A) 必须在其网络上配置 MPLS。
MPLS 还必须在与运营商 VPN 服务客户和运营商 VPN 服务提供商网络连接在一起的 CE 路由器和 PE 路由器上配置。
VPN 服务提供商作为客户
VPN 服务提供商可以让客户自己成为 VPN 服务提供商。在这种配置中,也称为层次化或递归式 VPN,客户 VPN 服务提供商的 VPN-IPv4 路由被视为外部路由,主干 VPN 服务提供商不会将其导入其 VRF 表中。骨干 VPN 服务提供商仅将客户 VPN 服务提供商的内部路由导入其 VRF 表。
表 1 显示了提供商间和运营商间 VPN 之间的相似性和差异。
特征 |
ISP 客户 |
VPN 服务提供商客户 |
---|---|---|
客户边缘设备 |
AS 边界路由器 |
PE 路由器 |
IBGP 会话 |
承载 IPv4 路由 |
使用关联标签承载外部 VPN-IPv4 路由 |
客户网络内的转发 |
MPLS 是可选的 |
MPLS 是必填项 |
从 Junos OS 版本 17.1R1 开始,QFX10000 交换机上支持作为客户的 VPN 服务。
为提供互联网服务的客户配置运营商级 VPN
您可以为希望提供基本互联网服务的客户配置运营商级 VPN 服务。运营商的 VPN 服务提供商必须在其网络中配置 MPLS,但是此配置对于运营商服务客户来说是可选的。 运营商间 VPN 架构 展示了此类服务互连中的路由器或交换机。
要配置载波至载波 VPN,请执行以下部分中所述的任务:
配置运营商 VPN 服务客户的 CE 路由器
运营商的 VPN 服务客户的路由器(或交换机)充当服务提供商 PE 路由器或交换机的 CE 路由器。以下部分介绍如何配置运营商间 VPN 服务客户的 CE 路由器或交换机:
配置 MPLS
要在客户的 CE 路由器或交换机上配置 MPLS,请包括以下 mpls
语句:
mpls { traffic-engineering bgp-igp; interface interface-name; }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 BGP
要配置组以核准客户的内部路由,请包括以下 bgp
语句:
bgp { group group-name { type internal; local-address address; neighbor address; } }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
客户的 CE 路由器(或交换机)必须能够将标签发送到 VPN 服务提供商的路由器。通过在 BGP 组的配置中包括 labeled-unicast
语句来启用此功能:
bgp { group group-name { export internal; peer-as as-number; neighbor address { family inet { labeled-unicast; } } } }
您可以在以下层次结构级别中包含 bgp
语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 OSPF
要在客户的 CE 路由器或交换机上配置 OSPF,请包括以下 ospf
语句:
ospf { area area-id { interface interface-name { passive; } interface interface-name; } }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置策略选项
要在客户的 CE 路由器或交换机上配置策略选项,请包括以下 policy-statement
语句:
policy-statement statement-name { term term-name { from protocol [ospf direct ldp]; then accept; } term term-name { then reject; } }
您可以在以下层次结构级别中包含此语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
配置运营商 VPN 服务提供商的 PE 路由器
服务提供商的 PE 路由器连接到客户的 CE 路由器,并跨提供商网络转发客户的 VPN 流量。
以下部分介绍如何配置运营商的 VPN 服务提供商的 PE 路由器:
配置 MPLS
要在提供商的 PE 路由器或交换机上配置 MPLS,请使用以下 mpls
语句:
mpls { interface interface-name; interface interface-name; }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 BGP
要在提供商网络另一端配置与提供商 PE 路由器的 BGP 会话,请包括以下 bgp
语句:
bgp { group group-name { type internal; local-address address; family inet-vpn { any; } neighbor address; } }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 IS-IS
要在提供商的 PE 路由器或交换机上配置 IS-IS,请包括以下 isis
语句:
isis { interface interface-name; interface interface-name { passive; } }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 LDP
要在提供商的 PE 路由器或交换机上配置 LDP,请包括以下 ldp
语句:
ldp { interface interface-name; }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置路由实例
要将第 3 层 VPN 服务与客户的 CE 路由器或交换机一起配置,请在路由实例的配置中包含 labeled-unicast
语句,以便 PE 路由器(或交换机)可以向客户的 CE 路由器或交换机发送标签:
routing-instance-name { instance-type vrf; interface interface-name; route-distinguisher address; vrf-import policy-name; vrf-export policy-name; protocols { bgp { group group-name { peer-as as-number; neighbor address { family inet { labeled-unicast; } } } } } }
您可以在以下层次结构级别中包含以下语句:
[edit routing-instances]
[edit logical-systems logical-system-name routing-instances]
配置策略选项
要配置策略语句以从客户的 CE 路由器或交换机导入路由,请包括以下 policy-statement
语句:
policy-statement policy-name { term term-name { from { protocol bgp; community community-name; } then accept; } term term-name { then reject; } }
您可以在以下层次结构级别中包含此语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
要配置策略语句以将路由导出到客户的 CE 路由器或交换机,请包括 policy-statement
和 community
语句:
policy-statement policy-name { term term-name { from protocol bgp; then { community add community-name; accept; } } term term-name { then reject; } } community community-name members value;
您可以在以下层次结构级别中包含以下语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
另请参阅
运营商间 VPN 示例 — 客户提供互联网服务
在此示例中,运营商客户无需在其网络上配置 MPLS 和 LDP。但是,运营商提供商必须在其网络上配置 MPLS 和 LDP。
有关配置信息,请参阅以下部分:
- 运营商服务的网络拓扑
- 路由器 A 的配置
- 路由器 B 的配置
- 路由器 C 配置
- 路由器 D 配置
- 路由器 E 的配置
- 路由器 F 配置
- 路由器 G 配置
- 路由器 H 配置
- 路由器 I 的配置
- 路由器 J 的配置
- 路由器 K 的配置
- 路由器 L 配置
路由器 A 的配置
在此示例中,路由器 A 代表最终客户。您可将此路由器配置为 CE 设备。
[edit] protocols { bgp { group to-routerB { export attached; peer-as 21; as-override; neighbor 192.168.197.169; } } } policy-options { policy-statement attached { from protocol direct; then accept; } }
路由器 B 的配置
路由器 B 可充当网关路由器,负责聚合最终客户并将其连接到网络。如果配置了全网状 IBGP 会话,则可以使用路由反射器。
[edit] protocols { bgp { group int { type internal; local-address 10.255.14.179; neighbor 10.255.14.175; neighbor 10.255.14.181; neighbor 10.255.14.176; neighbor 10.255.14.178; neighbor 10.255.14.177; } group to-vpn-blue { peer-as 1; neighbor 192.168.197.170; } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/0/3.0; interface fe-1/0/2.0 { passive; } } } }
路由器 C 配置
配置路由器 C:
[edit] protocols { bgp { group int { type internal; local-address 10.255.14.176; neighbor 10.255.14.179; neighbor 10.255.14.175; neighbor 10.255.14.177; neighbor 10.255.14.178; neighbor 10.255.14.181; } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-0/3/3.0; interface fe-0/3/0.0; } } }
路由器 D 配置
路由器 D 是 AS 10023 的 CE 路由器。在运营商的 VPN 中,CE 路由器必须能够向运营商提供商发送标签;这是通过小组to-isp-red
中的语句完成的labeled-unicast
。
[edit] protocols { mpls { interface t3-0/0/0.0; } bgp { group int { type internal; local-address 10.255.14.175; neighbor 10.255.14.179; neighbor 10.255.14.176; neighbor 10.255.14.177; neighbor 10.255.14.178; neighbor 10.255.14.181; } group to-isp-red { export internal; peer-as 10023; neighbor 192.168.197.13 { family inet { labeled-unicast; } } } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-0/3/0.0; interface t3-0/0/0.0 { passive; } } } } policy options { policy-statement internal { term a { from protocol [ ospf direct ]; then accept; } term b { then reject; } } }
路由器 E 的配置
此配置设置inet-vpn
带路由器 D 的 VPN 的路由器 H 和 PE 路由器部分的 IBGP 会话。由于路由器 D 需要在此示例中发送标签,因此在虚拟路由和转发 (VRF) 表中使用语句配置 BGP 会话labeled-unicast
。
[edit] protocols { mpls { interface t3-0/2/0.0; interface at-0/1/0.0; } bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet-vpn { any; } neighbor 10.255.14.173; } } isis { interface at-0/1/0.0; interface lo0.0 { passive; } } ldp { interface at-0/1/0.0; } } routing-instances { vpn-isp1 { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:21; vrf-import vpn-isp1-import; vrf-export vpn-isp1-export; protocols { bgp { group to-isp1 { peer-as 21; neighbor 192.168.197.14 { family inet { labeled-unicast; } } } } } } } policy-options { policy-statement vpn-isp1-import { term a { from { protocol bgp; community vpn-isp1-comm; } then accept; } term b { then reject; } } policy-statement vpn-isp1-export { term a { from protocol bgp; then { community add vpn-isp1-comm; accept; } } term b { then reject; } } community vpn-isp1-comm members target:69:21; }
路由器 F 配置
配置路由器 F 以用作标签交换路由器:
[edit] protocols { isis { interface so-0/2/0.0; interface at-0/3/0.0; interface lo0.0 { passive; } } ldp { interface so-0/2/0.0; interface at-0/3/0.0; } }
路由器 G 配置
配置路由器 G 以用作标签交换路由器:
[edit] protocols { isis { interface so-0/0/0.0; interface so-1/0/0.0; interface lo0.0 { passive; } } ldp { interface so-0/0/0.0; interface so-1/0/0.0; } }
路由器 H 配置
路由器 H 充当 AS 10023 的 PE 路由器。以下配置与路由器 F 的配置类似:
[edit] protocols { mpls { interface fe-1/1/0.0; interface so-1/0/0.0; } bgp { group pe-pe { type internal; local-address 10.255.14.173; family inet-vpn { any; } neighbor 10.255.14.171; } } isis { interface so-1/0/0.0; interface lo0.0 { passive; } } ldp { interface so-1/0/0.0; } } routing-instances { vpn-isp1 { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.173:21; vrf-import vpn-isp1-import; vrf-export vpn-isp1-export; protocols { bgp { group to-isp1 { peer-as 21; neighbor 192.168.197.94 { family inet { labeled-unicast; } } } } } } } policy-options { policy-statement vpn-isp1-import { term a { from { protocol bgp; community vpn-isp1-comm; } then accept; } term b { then reject; } } policy-statement vpn-isp1-export { term a { from protocol bgp; then { community add vpn-isp1-comm; accept; } } term b { then reject; } } community vpn-isp1-comm members target:69:21; }
路由器 I 的配置
配置路由器 I 以连接到基本互联网服务客户(路由器 L):
[edit] protocols { mpls { interface fe-1/0/1.0; interface fe-1/1/3.0; } bgp { group int { type internal; local-address 10.255.14.181; neighbor 10.255.14.177; neighbor 10.255.14.179; neighbor 10.255.14.175; neighbor 10.255.14.176; neighbor 10.255.14.178; } group to-vpn-green { peer-as 1; neighbor 192.168.197.198; } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/0/1.0 { passive; } interface fe-1/1/3.0; } } }
路由器 J 的配置
将路由器 J 配置为标签交换路由器:
[edit] protocols { bgp { group int { type internal; local-address 10.255.14.178; neighbor 10.255.14.177; neighbor 10.255.14.181; neighbor 10.255.14.175; neighbor 10.255.14.176; neighbor 10.255.14.179; } } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/0/2.0; interface fe-1/0/3.0; } }
路由器 K 的配置
路由器 K 充当与运营商提供商连接末尾的 CE 路由器。如路由器 D 的配置中,包括 labeled-unicast
EBGP 会话的语句:
[edit] protocols { mpls { interface fe-1/1/2.0; interface fe-1/0/2.0; } bgp { group int { type internal; local-address 10.255.14.177; neighbor 10.255.14.181; neighbor 10.255.14.178; neighbor 10.255.14.175; neighbor 10.255.14.176; neighbor 10.255.14.179; } group to-isp-red { export internal; peer-as 10023; neighbor 192.168.197.93 { family inet { labeled-unicast; } } } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/0/2.0; interface fe-1/1/2.0 { passive; } } } } policy-options { policy-statement internal { term a { from protocol [ ospf direct ]; then accept; } term b { then reject; } } }
路由器 L 配置
配置路由器 L 以充当运营商的 VPN 服务的最终客户:
[edit] protocols { bgp { group to-routerI { export attached; peer-as 21; neighbor 192.168.197.197; } } } policy-options { policy-statement attached { from protocol direct; then accept; } }
另请参阅
为提供 VPN 服务的客户配置运营商级 VPN
您可以为需要 VPN 服务的客户配置运营商级 VPN 服务。
要在客户和提供商的网络中配置路由器(或交换机),以启用运营商间 VPN 服务,请执行以下部分中的步骤:
配置运营商的客户 PE 路由器
运营商的客户 PE 路由器(或交换机)连接到最终客户的 CE 路由器(或交换机)。
以下部分介绍如何配置载波至载波客户的 PE 路由器(或交换机):
配置 MPLS
要在运营商的 PE 路由器(或交换机)上配置 MPLS,请包括以下 mpls
语句:
mpls { interface interface-name; interface interface-name; }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 BGP
labeled-unicast
将 IBGP 会话的语句包含到运营商客户的 CE 路由器(或交换机)的配置中,并在配置中将语句包含family-inet-vpn
在配置中,以便将 IBGP 会话发送至网络另一侧的运营商间 PE 路由器(或交换机):
bgp { group group-name { type internal; local-address address; neighbor address { family inet { labeled-unicast; resolve-vpn; } } } neighbor address { family inet-vpn { any; } } }
您可以在以下层次结构级别中包含以下语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 OSPF
要在载波至载波客户的 PE 路由器(或交换机)上配置 OSPF,请包括以下 ospf
语句:
ospf { area area-id { interface interface-name { passive; } interface interface-name; } }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 LDP
要在运营商的客户 PE 路由器(或交换机)上配置 LDP,请包括 ldp
以下语句:
ldp { interface interface-name; }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
在路由实例中配置 VPN 服务
要在运营商的客户 PE 路由器(或交换机)上为最终客户的 CE 路由器(或交换机)配置 VPN 服务,请包括以下语句:
instance-type vrf; interface interface-name; route-distinguisher address; vrf-import policy-name; vrf-export policy-name; protocols { bgp { group group-name { peer-as as-number; neighbor address; } } }
您可以在以下层次结构级别中包含以下语句:
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
配置策略选项
要配置从最终客户的 CE 路由器(或交换机)导入和导出路由的策略选项,请包括 policy-statement
以下和 community
语句:
policy-statement policy-name { term term-name { from { protocol bgp; community community-name; } then accept; } term term-name { then reject; } } policy-statement policy-name { term term-name { from protocol bgp; then { community add community-name; accept; } } term term-name { then reject; } } community community-name members value;
您可以在以下层次结构级别中包含以下语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
配置运营商客户的 CE 路由器(或交换机)
运营商的运营商客户的 CE 路由器(或交换机)连接到提供商的 PE 路由器(或交换机)。填写以下各节中的说明,以配置载波至载波客户的 CE 路由器(或交换机):
配置 MPLS
在运营商客户的 CE 路由器(或交换机)的 MPLS 配置中,包括到提供商 PE 路由器(或交换机)和客户网络中的 P 路由器(或交换机)的接口:
mpls { traffic-engineering bgp-igp; interface interface-name; interface interface-name; }
您可以在以下层次结构级别中包含以下语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 BGP
在运营商客户的 CE 路由器(或交换机)的 BGP 配置中,配置包含将 VPN 服务扩展到连接到最终客户 CE 路由器(或交换机)的 PE 路由器(或交换机)的语句的组 labeled-unicast
:
bgp { group group-name { type internal; local-address address; neighbor address { family inet { labeled-unicast; } } } }
您可以在以下层次结构级别中包含 bgp
语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
要将组配置为向提供商的 PE 路由器(或交换机)发送标记的内部路由,请包括 bgp
以下语句:
bgp { group group-name { export internal; peer-as as-number; neighbor address { family inet { labeled-unicast; } } } }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 OSPF 和 LDP
要在运营商客户的 CE 路由器(或交换机)上配置 OSPF 和 LDP,请包括 ospf
以下和 ldp
语句:
ospf { area area-id { interface interface-name { passive; } interface interface-name; } } ldp { interface interface-name; }
您可以在以下层次结构级别中包含以下语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置策略选项
要在运营商的 CE 路由器(或交换机)上配置策略选项,请包括 policy-statement
以下语句:
policy-statement policy-statement-name { term term-name { from protocol [ ospf direct ldp ]; then accept; } term term-name { then reject; } }
您可以在以下层次结构级别中包含此语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
配置提供商的 PE 路由器或交换机
运营商提供商的 PE 路由器(或交换机)连接到运营商客户的 CE 路由器(或交换机)。填写以下各节中的说明,以配置提供商的 PE 路由器(或交换机):
配置 MPLS
在 MPLS 配置中,至少指定两个接口—一个到客户的 CE 路由器(或交换机),一个用于连接到提供商网络另一侧的 PE 路由器(或交换机):
interface interface-name; interface interface-name;
您可以在以下层次结构级别中包含以下语句:
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
配置 PE 到 PE BGP 会话
要在提供商的 PE 路由器(或交换机)上配置 PE-to-PE BGP 会话以允许 VPN-IPv4 路由在 PE 路由器(或交换机)之间传递,请包括 bgp
以下语句:
bgp { group group-name { type internal; local-address address; family inet-vpn { any; } neighbor address; } }
您可以在以下层次结构级别中包含此语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置 IS-IS 和 LDP
要在提供商的 PE 路由器(或交换机)上配置 IS-IS 和 LDP,请包括 isis
和 ldp
语句:
isis { interface interface-name; interface interface-name { passive; } } ldp { interface interface-name; }
您可以在以下层次结构级别中包含以下语句:
[edit protocols]
[edit logical-systems logical-system-name protocols]
配置策略选项
要在提供商的 PE 路由器(或交换机)上配置策略语句以从运营商客户网络导出路由并导入路由,请包括 policy-statement
以下和 community
语句:
policy-statement statement-name { term term-name { from { protocol bgp; community community-name; } then accept; } term term-name { then reject; } } policy-statement statement-name { term term-name { from protocol bgp; then { community add community-name; accept; } } term term-name { then reject; } } community community-name members value;
您可以在以下层次结构级别中包含以下语句:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
配置路由实例以将路由发送至 CE 路由器
要将提供商 PE 路由器(或交换机)上的路由实例配置为将标记的路由发送至运营商客户的 CE 路由器(或交换机),请包括以下语句:
instance-type vrf; interface interface-name; route-distinguisher value; vrf-import policy-name; vrf-export policy-name; protocols { bgp { group group-name { peer-as as-number; neighbor address { family inet { labeled-unicast; } } } } }
您可以在以下层次结构级别中包含以下语句:
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
另请参阅
运营商至载波 VPN 示例 — 客户提供 VPN 服务
在此示例中,运营商客户 必须在 其网络上运行某种形式的 MPLS(资源预留协议 [RSVP] 或 LDP),以便向最终客户提供 VPN 服务。在下面的示例中,路由器 B 和路由器 I 充当 PE 路由器(或交换机),如果这些路由器交换 VPN-IPv4 路由,则需要一个正在运行的 MPLS 路径。
有关配置信息,请参阅以下部分:
- 运营商服务的网络拓扑
- 路由器 A 的配置
- 路由器 B 的配置
- 路由器 C 配置
- 路由器 D 配置
- 路由器 E 的配置
- 路由器 F 配置
- 路由器 G 配置
- 路由器 H 配置
- 路由器 I 的配置
- 路由器 J 的配置
- 路由器 K 的配置
- 路由器 L 配置
路由器 A 的配置
在此示例中,路由器 A 充当最终客户的 CE 路由器。在路由器 A 上配置默认 family inet
BGP 会话:
[edit] protocols { bgp { group to-routerB { export attached; peer-as 21; neighbor 192.168.197.169; } } } policy-options { policy-statement attached { from protocol direct; then accept; } }
路由器 B 的配置
由于路由器 B 是最终客户 CE 路由器 (路由器 A) 的 PE 路由器,因此您需要配置路由实例 (vpna
)。将 IBGP 会话上的语句配置 labeled-unicast
为路由器 D,然后使用路由器 I 将 IBGP 会话配置 family-inet-vpn
到网络的另一端:
[edit] protocols { mpls { interface fe-1/0/2.0; interface fe-1/0/3.0; } bgp { group int { type internal; local-address 10.255.14.179; neighbor 10.255.14.175 { family inet { labeled-unicast { resolve-vpn; } } } } neighbor 10.255.14.181 { family inet-vpn { any; } } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/0/3.0; } } ldp { interface fe-1/0/3.0; } } routing-instances { vpna { instance-type vrf; interface fe-1/0/2.0; route-distinguisher 10.255.14.179:21; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna-06 { peer-as 1; neighbor 192.168.197.170; } } } } } policy-options { policy-statement vpna-import { term a { from { protocol bgp; community vpna-comm; } then accept; } term b { then reject; } } policy-statement vpna-export { term a { from protocol bgp; then { community add vpna-comm; accept; } } term b { then reject; } } community vpna-comm members target:100:1001; }
路由器 C 配置
将路由器 C 配置为本地 AS 内的标签交换路由器:
[edit] protocols { mpls { traffic-engineering bgp-igp; } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-0/3/3.0; interface fe-0/3/0.0; } } ldp { interface fe-0/3/0.0; interface fe-0/3/3.0; } }
路由器 D 配置
路由器 D 充当 AS 10023 网络提供的 VPN 服务的 CE 路由器。在用于组 int
的 BGP 组配置中(用于处理到路由器 B (10.255.14.179) 的流量)中,您包括语 labeled-unicast
句。您还需要配置 BGP 组 to-isp-red
,将标记的内部路由发送至 PE 路由器 (路由器 E)。
[edit] protocols { mpls { traffic-engineering bgp-igp; interface fe-0/3/0.0; interface t3-0/0/0.0; } bgp { group int { type internal; local-address 10.255.14.175; neighbor 10.255.14.179 { family inet { labeled-unicast; } } } group to-isp-red { export internal; peer-as 10023; neighbor 192.168.197.13 { family inet { labeled-unicast; } } } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-0/3/0.0; } } ldp { interface fe-0/3/0.0; } } policy-options { policy-statement internal { term a { from protocol [ ospf direct ]; then accept; } term b { then reject; } } }
路由器 E 的配置
路由器 E 和路由器 H 是 PE 路由器。配置 PE 路由器至 PE 路由器 BGP 会话,以允许 VPN-IPv4 路由在这两个 PE 路由器之间传递。配置路由器 E 上的路由实例,将标记的路由发送至 CE 路由器 (路由器 D)。
配置路由器 E:
[edit] protocols { mpls { interface t3-0/2/0.0; interface at-0/1/0.0; } bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet-vpn { any; } neighbor 10.255.14.173; } } isis { interface at-0/1/0.0; interface lo0.0 { passive; } } ldp { interface at-0/1/0.0; } } policy-options { policy-statement vpn-isp1-import { term a { from { protocol bgp; community vpn-isp1-comm; } then accept; } term b { then reject; } } policy-statement vpn-isp1-export { term a { from protocol bgp; then { community add vpn-isp1-comm; accept; } } term b { then reject; } } community vpn-isp1-comm members target:69:21; } routing-instances { vpn-isp1 { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:21; vrf-import vpn-isp1-import; vrf-export vpn-isp1-export; protocols { bgp { group to-isp1 { peer-as 21; neighbor 192.168.197.14 { as-override; family inet { labeled-unicast; } } } } } } }
路由器 F 配置
配置路由器 F 以将标签换成通过其接口运行的路由:
[edit] protocols { isis { interface so-0/2/0.0; interface at-0/3/0.0; interface lo0.0 { passive; } } ldp { interface so-0/2/0.0; interface at-0/3/0.0; } }
路由器 G 配置
配置路由器 G:
[edit] protocols { isis { interface so-0/0/0.0; interface so-1/0/0.0; interface lo0.0 { passive; } } ldp { interface so-0/0/0.0; interface so-1/0/0.0; } }
路由器 H 配置
路由器 H 的配置类似于路由器 E 的配置:
[edit] protocols { mpls { interface fe-1/1/0.0; interface so-1/0/0.0; } bgp { group pe-pe { type internal; local-address 10.255.14.173; family inet-vpn { any; } neighbor 10.255.14.171; } } isis { interface so-1/0/0.0; interface lo0.0 { passive; } } ldp { interface so-1/0/0.0; } } routing-instances { vpn-isp1 { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.173:21; vrf-import vpn-isp1-import; vrf-export vpn-isp1-export; protocols { bgp { group to-isp1 { peer-as 21; neighbor 192.168.197.94 { as-override; family inet { labeled-unicast; } } } } } } } policy-options { policy-statement vpn-isp1-import { term a { from { protocol bgp; community vpn-isp1-comm; } then accept; } term b { then reject; } } policy-statement vpn-isp1-export { term a { from protocol bgp; then { community add vpn-isp1-comm; accept; } } term b { then reject; } } community vpn-isp1-comm members target:69:21; }
路由器 I 的配置
路由器我充当最终客户的 PE 路由器。以下配置类似于路由器 B 的配置:
[edit] protocols { mpls { interface fe-1/0/1.0; interface fe-1/1/3.0; } bgp { group int { type internal; local-address 10.255.14.181; neighbor 10.255.14.177 { family inet { labeled-unicast { resolve-vpn; } } } neighbor 10.255.14.179 { family inet-vpn { any; } } } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/1/3.0; } } ldp { interface fe-1/1/3.0; } } routing-instances { vpna { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.181:21; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna-0 { peer-as 1; neighbor 192.168.197.198; } } } } } policy-options { policy-statement vpna-import { term a { from { protocol bgp; community vpna-comm; } then accept; } term b { then reject; } } policy-statement vpna-export { term a { from protocol bgp; then { community add vpna-comm; accept; } } term b { then reject; } } community vpna-comm members target:100:1001; }
路由器 J 的配置
配置路由器 J 以将标签换成通过其接口运行的路由:
[edit] protocols { mpls { traffic-engineering bgp-igp; } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/0/2.0; interface fe-1/0/3.0; } } ldp { interface fe-1/0/2.0; interface fe-1/0/3.0; } }
路由器 K 的配置
路由器 K 的配置类似于路由器 D 的配置:
[edit] protocols { mpls { traffic-engineering bgp-igp; interface fe-1/1/2.0; interface fe-1/0/2.0; } bgp { group int { type internal; local-address 10.255.14.177; neighbor 10.255.14.181 { family inet { labeled-unicast; } } } group to-isp-red { export internal; peer-as 10023; neighbor 192.168.197.93 { family inet { labeled-unicast; } } } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/0/2.0; } } ldp { interface fe-1/0/2.0; } } policy-options { policy-statement internal { term a { from protocol [ ospf direct ]; then accept; } term b { then reject; } } }
路由器 L 配置
在此示例中,路由器 L 是最终客户的 CE 路由器。在路由器 L 上配置默认家族 inet
BGP 会话:
[edit] protocols { bgp { group to-I { export attached; peer-as 21; neighbor 192.168.197.197; } } } policy-options { policy-statement attached { from protocol direct; then accept; } }
另请参阅
LDP 和运营商 VPN 的多个实例
通过配置多个 LDP 路由实例,您可以使用 LDP 将运营商 VPN 中的标签从核心提供商 PE 路由器播发到客户运营商 CE 路由器。如果运营商客户是基本 ISP 并希望限制其 PE 路由器的完整互联网路由,以这种方式使用 LDP 通告标签特别有用。通过使用 LDP 而不是 BGP,运营商客户可以保护其其他内部路由器免受整个互联网的伤害。如果运营商客户希望向其客户提供第 3 层 VPN 或第 2 层 VPN 服务,则多实例 LDP 也很有用。
有关如何为载波至载波 VPN 配置多个 LDP 路由实例的示例, 请参阅 https://www.juniper.net/documentation/us/en/software/junos/mpls/topics/example/multiple-instance-ldp-configuring-detailed-solutions.html。