基于 BGP 的 VPN
了解运营商间 VPN
VPN 服务提供商的客户可能是最终客户的服务提供商。以下是两种主要类型的运营商至载波 VPN(如 RFC 4364 中所述):
-
作为客户的互联网服务提供商 — VPN 客户是使用 VPN 服务提供商的网络连接其地理上不同的区域网络的 ISP。客户无需在其区域网络中配置 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。
-
还必须在运营商的 VPN 服务客户和运营商的运营商的 VPN 服务提供商网络中连接在一起的客户边缘路由器和 PE 路由器上配置MPLS。
作为客户的 VPN 服务提供商
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 客户都必须区分内部和外部客户路由。
-
内部客户路由必须由 VPN 服务提供商在其 PE 路由器中维护。
-
外部客户路由仅由客户的路由平台承载,而不由 VPN 服务提供商的路由平台承载。
提供商间 VPN 和运营商间 VPN 之间的主要区别在于客户站点属于同一 AS 还是属于单独的 AS:
-
提供商间 VPN — 客户站点属于不同的 AS。您需要配置 EBGP 来交换客户的外部路由。
-
了解运营商间 VPN — 客户站点属于同一个 AS。您需要配置 IBGP 来交换客户的外部路由。
通常,VPN 层次结构中的每个服务提供商都需要在其 P 路由器中维护自己的内部路由,并在其 PE 路由器中维护其客户的内部路由。通过递归应用此规则,可以创建 VPN 层次结构。
以下是特定于提供商间和运营商间 VPN 的 PE 路由器类型的定义:
-
AS 边界路由器位于 AS 边界,负责处理离开和进入 AS 的流量。
-
终端 PE 路由器是客户 VPN 中的 PE 路由器;它连接到最终客户站点的客户边缘路由器。
为提供 VPN 服务的客户配置运营商间 VPN
您可以为需要 VPN 服务的客户配置载波至载波 VPN 服务。
要配置客户和提供商网络中的路由器(或交换机)以启用运营商间 VPN 服务,请执行以下部分中的步骤:
配置载波至载波客户的 PE 路由器
运营商的运营商客户的 PE 路由器(或交换机)连接到最终客户的客户边缘路由器(或交换机)。
以下部分介绍如何配置运营商的运营商客户的 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 会话的配置中,并将该 family-inet-vpn 语句包含在到网络另一端的运营商的运营商的 PE 路由器(或交换机)的 IBGP 会话的配置中:
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 路由器(或交换机)上为最终客户的客户边缘路由器(或交换机)配置 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]
配置策略选项
要配置策略选项以将路由导入和导出最终客户的客户边缘 路由器(或交换机),请添加 policy-statement and 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]
配置载波至载波客户的客户边缘路由器(或交换机)
运营商的运营商客户的客户边缘路由器(或交换机)连接到提供商的 PE 路由器(或交换机)。完成以下部分中的说明,以配置运营商的运营商客户的客户边缘路由器(或交换机):
配置 MPLS
在载波至载波客户的客户边缘路由器(或交换机)的 MPLS 配置中,包括与提供商的 PE 路由器(或交换机)和客户网络中的 P 路由器(或交换机)的接口:
mpls {
traffic-engineering bgp-igp;
interface interface-name;
interface interface-name;
}
您可以在以下层次结构级别包含这些语句:
-
[edit protocols] -
[edit logical-systems logical-system-name protocols]
配置 BGP
在运营商至载波客户的客户边缘路由器(或交换机)的BGP配置中,配置一个组,其中包含 labeled-unicast 以下语句以将 VPN 服务扩展到连接到最终客户客户边缘 路由器(或交换机)的 PE 路由器(或交换机):
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
要在运营商的运营商客户的客户边缘路由器(或交换机)上配置 OSPF 和 LDP,请添加 ospf and 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]
配置策略选项
要在运营商至运营商客户的客户边缘路由器(或交换机)上配置策略选项,请包含以下 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 路由器(或交换机)连接到运营商客户的客户边缘路由器(或交换机)。完成以下部分中的说明,配置提供商的 PE 路由器(或交换机):
配置 MPLS
在 MPLS 配置中,至少指定两个接口:一个连接到客户的客户边缘路由器(或交换机),另一个用于连接到提供商网络另一端的提供商 PE 路由器(或交换机):
interface interface-name; interface interface-name;
您可以在以下层次结构级别包含这些语句:
-
[edit protocols mpls] -
[edit logical-systems logical-system-name protocols mpls]
配置 PE 到 PE 的 BGP 会话
要在提供商的 PE 路由器(或交换机)上配置 PE 到 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 and 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 and 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]
配置路由实例以将路由发送到 客户边缘路由器
要在提供商的 PE 路由器(或交换机)上配置路由实例,以便将带标签的路由发送到运营商客户的客户边缘路由器(或交换机),请添加以下语句:
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]
也可以看看
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。