支持第 3 层 VPN 的互联网访问
本主题提供有关将提供商边缘 (PE) 路由器配置为 VPN 中的客户边缘 (CE) 路由器提供互联网接入以及配置路由器通过网络地址转换器 (NAT) 将互联网流量路由到 CE 路由器的示例。您使用的方法取决于单个网络的需求和规格。
通过第 3 层 VPN 进行非 VRF 互联网接入
Junos OS 支持从第 3 层虚拟专用网络 (VPN) 访问互联网。您还需要 next-table
在 [edit routing-instances routing-instance-name routing-options static route]
层次结构级别配置语句。配置后,此语句可将默认路由从 VPN 表(路由实例)指向主路由表(默认实例)inet.0。主路由表存储所有互联网路由,是最终路由解析的位置。
以下部分介绍如何在不使用 VPN 路由和转发 (VRF) 接口的情况下,为第 3 层 VPN 中的 CE 路由器提供互联网访问。由于这些方法实际上绕过了第 3 层 VPN,因此没有详细讨论它们。
CE 路由器独立于 PE 路由器接入互联网
在此配置中,PE 路由器不提供互联网访问。CE 路由器将互联网流量发送至其他服务提供商,或发送至同一服务提供商,但路由器不同。PE 路由器仅处理第 3 层 VPN 流量(请参阅 图 1)。
PE 路由器提供第 2 层互联网服务
在此配置中,PE 路由器用作第 2 层设备,为具有全套互联网路由的另一个路由器提供第 2 层连接(例如电路交叉连接 [CCC])。CE 路由器只能对 PE 路由器使用一个物理接口和两个逻辑接口,也可以对 PE 路由器使用多个物理接口(请参阅 图 2)。
通过第 3 层 VPN 的分布式互联网接入
在这种情况下,PE 路由器提供对 CE 路由器的互联网访问。在随后的示例中,假设为选定 CE 路由器提供互联网访问的 PE 路由器 inet.0 表中存在互联网路由(或默认路由)。
从 VPN 访问互联网时,网络地址转换 (NAT) 必须在 VPN 的私人地址和互联网上使用的公共地址之间执行,除非 VPN 使用公共地址空间。本节包括几个如何为 VPN 提供互联网接入的示例,其中大多数要求 CE 路由器执行地址转换。但是, 通过单独 NAT 设备示例的路由互联网流量 要求服务提供商使用连接到 PE 路由器的 NAT 设备提供 NAT 功能。
在所有示例中,VPN 的公共 IP 地址池(其条目对应于已转换的专用地址)必须添加到 inet.0 表中并传播到互联网路由器,以便接收来自公共目的地的反向流量。
通过第 3 层 VPN 的不同接口路由 VPN 和互联网流量
在此示例中,VPN 和互联网流量通过不同接口路由。CE 路由器通过 VPN 接口发送 VPN 流量,并通过路由器 PE1 上主路由表一部分的单独接口发送互联网流量(CE 路由器可使用两个逻辑单元或两个物理接口的一个物理接口)。NAT 也发生在 CE 路由器上(请参阅 图 3)。
PE 路由器配置为安装 VPN 的公共 IP 地址池并将其播发给其他核心路由器(用于回传信息流)。VPN 流量路由正常。 图 4 展示了 PE 路由器的 VPN 配置。
此示例中的配置具有以下功能:
路由器 PE1 使用两个逻辑接口,使用帧中继封装连接到路由器 CE1。
路由器 PE1 和路由器 CE1 之间的路由协议为 EBGP。
路由器 CE1 的公共 IP 地址池
10.12.1.1
通过10.12.1.254
(10.12.1.0/24
)。该
next-hop-self
设置来自fix-nh policy
路由器 PE1 上的语句。PE 路由器被迫使用next-hop-self
,因此仅针对 PE 路由器的非 VPN 路由环路地址完成下一跳跃解析(默认情况下,VPN–互联网协议版本 4 [IPv4] 路由通过以下方式next-hop-self
发送)。
您可以使用指向其公共接口的静态默认路由来配置路由器 CE1。
以下部分显示如何通过不同接口路由 VPN 和互联网流量:
- 在路由器 PE1 上配置接口
- 在路由器 PE1 上配置路由选项
- 在路由器 PE1 上配置 BGP、IS-IS 和 LDP 协议
- 在路由器 PE1 上配置路由实例
- 在路由器 PE1 上配置策略选项
- 由不同接口路由的信息流:路由器汇总配置
在路由器 PE1 上配置接口
配置一个接口来处理 VPN 流量,并配置一个接口来处理互联网流量:
[edit] interfaces { t3-0/2/0 { dce; encapsulation frame-relay; unit 0 { description "to CE1 VPN interface"; dlci 10; family inet { address 192.168.197.13/30; } } unit 1 { description "to CE1 public interface"; dlci 20; family inet { address 192.168.198.201/30; } } } }
在路由器 PE1 上配置路由选项
在路由器 PE1 上配置静态路由,以便在 inet.0 中将路由安装到 CE 路由器的公共 IP 地址池:
[edit] routing-options { static { route 10.12.1.0/24 next-hop 192.168.198.202; } }
在路由器 PE1 上配置 BGP、IS-IS 和 LDP 协议
在路由器 PE1 上配置 BGP 以允许非 VPN 和 VPN 对等互连,并通告 VPN 的公共 IP 地址池:
[edit] protocols { bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet { any; } family inet-vpn { any; } export [fix-nh redist-static]; neighbor 10.255.14.177; neighbor 10.255.14.179; } } }
在路由器 PE1 上配置 IS-IS 以允许访问内部路由:
[edit protocols] isis { level 1 disable; interface so-0/0/0.0; interface lo0.0; }
在路由器 PE1 上配置 LDP 以隧道 VPN 路由:
[edit protocols] ldp { interface so-0/0/0.0; }
在路由器 PE1 上配置路由实例
在路由器 PE1 上配置路由实例:
[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group to-CE1 { peer-as 63001; neighbor 192.168.197.14; } } } } }
在路由器 PE1 上配置策略选项
您需要在路由器 PE1 上配置策略选项。所有 fix-nh
非 VPN 路由的策略语句集 next-hop-self
:
[edit] policy-options { policy-statement fix-nh { then { next-hop self; } } }
策略 redist-static
语句通告 VPN 的公共 IP 地址池:
[edit policy-options] policy-statement redist-static { term a { from { protocol static; route-filter 10.12.1.0/24 exact; } then accept; } term b { then reject; } }
配置以下内容的 vpna
导入和导出策略:
[edit 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:63000:100;
由不同接口路由的信息流:路由器汇总配置
路由器 PE1
接口
interfaces { t3-0/2/0 { dce; encapsulation frame-relay; unit 0 { description "to CE1 VPN interface"; dlci 10; family inet { address 192.168.197.13/30; } } unit 1 { description "to CE1 public interface"; dlci 20; family inet { address 192.168.198.201/30; } } } }
路由选项
routing-options { static { route 10.12.1.0/24 next-hop 192.168.198.202; } }
BGP 协议
protocols { bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet { any; } family inet-vpn { any; } export [ fix-nh redist-static]; neighbor 10.255.14.177; neighbor 10.255.14.179; } } }
IS-IS 协议
isis { level 1 disable; interface so-0/0/0.0; interface lo0.0; }
LDP 协议
ldp { interface so-0/0/0.0; }
路由实例
routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group to-CE1 { peer-as 63001; neighbor 192.168.197.14; } } } } }
策略选项/策略语句
policy-options { policy-statement fix-nh { then { next-hop self; } } policy-statement redist-static { term a { from { protocol static; route-filter 10.12.1.0/24 exact; } then accept; } term b { then reject; } } }
导入和出口政策
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:63000:100;
通过相同接口的路由 VPN 和传出互联网流量以及通过不同接口的路由回路互联网流量
在此示例中,CE 路由器通过同一接口发送 VPN 和互联网流量,但会通过不同的接口接收回传互联网流量。PE 路由器在 VRF 表中具有一个默认路由,该路由器指向主路由表 inet.0。它通过 inet.0 中的不同接口路由 VPN 公共 IP 地址池(返回互联网流量)(请参阅 图 5)。CE 路由器仍执行 NAT 功能。
以下部分显示如何通过同一接口路由 VPN 和传出互联网流量,以及如何通过不同接口路由回路互联网流量:
路由器 PE1 的配置
此示例的配置与 路由 VPN 中的路由器 PE1 和通过第 3 层 VPN 的不同接口的互联网流量相同。它使用路由 VPN 中显示的拓扑结构, 以及通过不同接口传输到第 3 层 VPN 的互联网流量。VPN 路由表的默认路由配置方式不同。 [edit routing-instances routing-instance-name routing-options]
在层次结构级别,您可配置安装在 vpna.inet.0 中的默认静态路由,并将点配置为 inet.0 以进行解析:
[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-table inet.0; } } protocols { bgp { group to-CE1 { peer-as 63001; neighbor 192.168.197.14; } } } } }
您还需要更改路由器 CE1 的配置(从与路由 VPN 中所述的路由器 PE1 的配置和 通过第 3 层 VPN 不同接口的互联网流量使用的配置)进行更改,以考虑 PE 路由器配置中的差异。
通过同一接口双向路由 VPN 和互联网流量(VPN 有公共地址)
本节介绍如何配置单个逻辑接口以处理往返于互联网和 CE 路由器的 VPN 和互联网流量。只要 VPN 中没有专用地址,此接口就可以同时处理 VPN 和互联网流量。从 CE 路由器接收到的 VPN 路由通过路由表组添加到主路由表 inet.0 中。这使得 PE 路由器能够吸引来自互联网的回路流量(请参阅 图 6)。
在此示例中,CE 路由器不需要执行 NAT,因为所有 VPN 路由都是公共路由。CE 路由器有一个 PE 路由器接口,用于通告 VPN 路由。PE 路由器在 VRF 表中具有一个默认路由,该路由器指向主路由表 inet.0。PE 路由器还通过路由表组将从 CE 路由器接收到的 VPN 路由导入 inet.0。
路由器 PE1 的以下配置使用与 第 3 层 VPN 的不同接口的路由 VPN 和互联网流量相同的拓扑。此配置在路由器 PE1 和路由器 CE1 之间使用单个逻辑接口(而非两个)。
以下部分显示如何通过同一接口双向路由 VPN 和互联网流量(VPN 有公共地址):
在路由器 PE1 上配置路由选项
配置路由表组定义,以便在路由表组 vpna.inet.0 和 inet.0 中安装 VPN 路由:
[edit] routing-options { rib-groups { vpna-to-inet0 { import-rib [ vpna.inet.0 inet.0 ]; } } }
在路由器 PE1 上配置路由协议
在路由器 PE1 上配置 MPLS、BGP、IS-IS 和 LDP 协议。此配置不包括层级语policy redist-static
[edit protocols bgp group pe-pe]
句。VPN 路由直接发送至 IBGP。
在路由器 PE1 上配置 BGP 以允许非 VPN 和 VPN 对等互连,并通告 VPN 的公共 IP 地址池:
[edit] protocols { mpls { interface so-0/0/0.0; } bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet { any; } family inet-vpn { any; } export fix-nh; neighbor 10.255.14.177; neighbor 10.255.14.173; } } isis { level 1 disable; interface so-0/0/0.0; interface lo0.0; } ldp { interface so-0/0/0.0; } }
在路由器 PE1 上配置路由实例
本节介绍如何在路由器 PE1 上配置路由实例。语句中定义的 routing-options
静态路由将互联网流量从 CE 路由器定向到 inet.0 路由表。语句定义的 rib-group vpna-to-inet0
路由表组将 VPN 路由添加到 inet.0。
在路由器 PE1 上配置路由实例:
[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-table inet.0; } } protocols { bgp { group to-CE1 { family inet { unicast { rib-group vpna-to-inet0; } } peer-as 63001; neighbor 192.168.197.14; } } } } }
您必须配置路由器 CE1 才能使用默认路由将所有流量转发至路由器 PE1。或者,默认路由可以使用 EBGP 从路由器 PE1 通告至路由器 CE1。
通过同一接口双向路由的信息流:路由器汇总配置
路由器 PE1
此示例与第 3 层 VPN 通过不同接口的路由 VPN 和互联网流量使用相同的配置。此配置在路由器 PE1 和路由器 CE1 之间使用单个逻辑接口(而非两个)。
路由选项
routing-options { rib-groups { vpna-to-inet0 { import-rib [ vpna.inet.0 inet.0 ]; } } }
路由协议
protocols { mpls { interface so-0/0/0.0; } bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet { any; } family inet-vpn { any; } export fix-nh; neighbor 10.255.14.177; neighbor 10.255.14.173; } } isis { level 1 disable; interface so-0/0/0.0; interface lo0.0; } ldp { interface so-0/0/0.0; } }
路由实例
routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-table inet.0; } } protocols { bgp { group to-CE1 { family inet { unicast { rib-group vpna-to-inet0; } } peer-as 63001; neighbor 192.168.197.14; } } } } }
通过同一接口双向路由 VPN 和互联网流量(VPN 有专用地址)
本部分中的示例说明如何通过两个方向(从 CE 路由器到互联网、从互联网到 CE 路由器)的相同接口路由 VPN 和互联网流量。此示例中的 VPN 具有专用地址。如果可以在 CE 路由器上配置 EBGP,则可以使用路 由 VPN 中概述的配置和通过同一接口双向的互联网流量(VPN 有公共地址)配置 PE 路由器,即使 VPN 有专用地址也是如此。
在本节介绍的示例中,CE 路由器使用单独的社区来通告其 VPN 路由和公共路由。PE 路由器有选择地将公共路由导入 inet.0 路由表中。此配置可确保来自互联网的回路流量在 PE 和 CE 路由器之间使用与进入公共互联网地址的 VPN 流量相同的接口(请参阅 图 7)。
在此示例中,CE 路由器有一个接口和一个与 PE 路由器的 BGP 会话,它为不同社区的 VPN 路由和互联网路由贴上标记。PE 路由器有一个接口,有选择地将 VPN 公共 IP 地址池的路由导入 inet.0,并且 VRF 路由表中有一个指向 inet.0 的默认路由。
以下部分显示如何通过同一接口双向路由 VPN 和互联网流量(VPN 有专用地址):
为路由器 PE1 配置路由选项
在路由器 PE1 上,配置路由表组以在 vpna.inet.0 和 inet.0 路由表中安装 VPN 路由:
[edit] routing-options { rib-groups { vpna-to-inet0 { import-policy import-public-addr-to-inet0; import-rib [ vpna.inet.0 inet.0 ]; } } }
为路由器 PE1 配置路由实例
在路由器 PE1 上,配置路由实例。作为路由实例配置的一部分,配置安装在 vpna.inet.0 中的静态路由,并指向 inet.0 进行解析。
[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-table inet.0; } } } }
[edit routing-instances vpna protocols bgp
在 ] 层次结构级别,配置策略 (import-public-addr-to-inet0
) 以将公共路由导入 inet.0 和路由表组 (vpna-to-inet0
),以便 BGP 将路由安装到多个路由表 (vpna.inet.0 和 inet.0):
[edit routing-instances vpna] protocols { bgp { group to-CE1 { import import-public-addr-to-inet0; family inet { unicast { rib-group vpna-to-inet0; } } peer-as 63001; neighbor 192.168.197.14; } } }
配置路由器 PE1 的策略选项
配置路由器 PE1 的策略选项,以接受初始 (term a
) 的所有路由,然后使用公共组将路 public-comm
由安装到路由表 inet.0(term b
):
[edit] policy-options { policy-statement import-public-addr-to-inet0 { term a { from { protocol bgp; rib vpna.inet.0; community [ public-comm private-comm ]; } then accept; } term b { from { protocol bgp; community public-comm; } to rib inet.0; then accept; } term c { then reject; } } community private-comm members target:1:333; community public-comm members target:1:111; community vpna-comm members target:63000:100; }
由同一接口双向路由的信息流(VPN 有专用地址):由路由器汇总的配置
路由器 PE1
路由选项
[edit] routing-options { rib-groups { vpna-to-inet0 { import-policy import-public-addr-to-inet0; import-rib [ vpna.inet.0 inet.0 ]; } } }
路由实例
[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-table inet.0; } } } }
路由实例协议 BGP
[edit routing-instances vpna] protocols { bgp { group to-CE1 { family inet { unicast { rib-group vpna-to-inet0; } } peer-as 63001; neighbor 192.168.197.14; } } }
策略选项
[edit] policy-options { policy-statement import-public-addr-to-inet0 { term a { from { protocol bgp; rib vpna.inet.0; community [ public-comm private-comm ]; } then accept; } term b { from { protocol bgp; community public-comm; } to rib inet.0; then accept; } term c { then reject; } } community private-comm members target:1:333; community public-comm members target:1:111; community vpna-comm members target:63000:100; }
通过单独的 NAT 设备路由互联网流量
在此示例中,CE 路由器不会执行 NAT。它通过同一接口将 VPN 和互联网流量都发送至 PE 路由器。PE 路由器通过两个接口连接到 NAT 设备。一个接口配置在 PE 路由器的 VRF 表中,并指向 NAT 设备上的 VPN 接口,该接口可为 VPN 路由互联网流量。另一个接口处于默认实例中;例如,公共路由表 inet.0 的一部分。作为全局路由表的一部分,PE 路由器与 NAT 设备之间可建立一个物理连接,并建立多个逻辑连接(每个 VRF 表和另一个接口一个)(请参阅 图 8)。
要求
此示例使用以下硬件和软件组件:
M 系列路由器
Junos OS 版本 9.3 或更高版本
概述
此示例的拓扑基于第 3 层 VPN 的不同接口中的路由 VPN 和互联网流量所示。CE 路由器同时将 VPN 和互联网流量发送至路由器 PE1。VPN 流量根据路由器 PE1 接收的 VPN 路由进行路由。其他所有信息流的流量将使用路由器 PE1 的专用接口发送至 NAT 设备,然后将专用地址转换为使用该路由器的公共接口将流量发送回路由器 PE1(请参阅 图 9)。
拓扑
配置
要通过单独的 NAT 设备路由互联网流量,请执行以下任务:
在路由器 PE1 上配置接口
逐步过程
配置来自路由器 CE1 的 VPN 流量接口:
[edit] interfaces { t3-0/2/0 { dce; encapsulation frame-relay; unit 0 { description "to CE1 VPN interface"; dlci 10; family inet { address 192.168.197.13/30; } } } }
配置往返 NAT 设备(单元 0)的 VPN 流量接口以及往返 NAT 设备的互联网流量接口(单元 1):
[edit] interfaces { at-1/3/1 { atm-options { vpi 1 maximum-vcs 255; } unit 0 { description "to NAT VPN interface"; vci 1.100; family inet { address 10.23.0.2/32 { destination 10.23.0.1; } } } unit 1 { description "to NAT public interface"; vci 1.101; family inet { address 10.23.0.6/32 { destination 10.23.0.5; } } } } }
为路由器 PE1 配置路由选项
逐步过程
在路由器 PE1 上配置静态路由,以便通过 NAT 设备将互联网流量定向至 CE 路由器。路由器 PE1 将此路由分配到互联网。
[edit] routing-options { static { route 10.12.1.0/24 next-hop 10.23.0.5; } }
在路由器 PE1 上配置路由协议
逐步过程
在路由器 PE1 上配置以下路由协议:
在路由器 PE1 上配置 MPLS。将 NAT 设备的 VPN 接口包含在 VRF 表中。
[edit] protocols { mpls { interface so-0/0/0.0; interface at-1/3/1.0; } }
在路由器 PE1 上配置 BGP。包括通告公共 IP 地址池的策略:
[edit] protocols { bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet { any; } family inet-vpn { any; } export [ fix-nh redist-static ]; neighbor 10.255.14.177; neighbor 10.255.14.173; } } }
在路由器 PE1 上配置 IS-IS:
[edit] protocols { isis { level 1 disable; interface so-0/0/0.0; interface lo0.0; } }
在路由器 PE1 上配置 LDP:
[edit] protocols { ldp { interface so-0/0/0.0; } }
在路由器 PE1 上配置路由实例
逐步过程
在路由器 PE1 上配置第 3 层 VPN 路由实例:
在路由器 PE1 上配置路由实例。作为路由实例配置的一部分,在
routing-options
vpna.inet.0 中配置指向 NAT 设备 VPN 接口的静态默认路由(这会将所有非 VPN 流量定向到 NAT 设备):[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; interface at-1/3/1.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-hop 10.23.0.1; } } protocols { bgp { group to-CE1 { peer-as 63001; neighbor 192.168.197.14; } } } } }
为路由器 PE1 上的第 3 层 VPN 路由实例配置路由策略:
policy-options { policy-statement fix-nh { then { next-hop self; } } policy-statement redist-static { term a { from { protocol static; route-filter 10.12.1.0/24 exact; } then accept; } term b { from protocol bgp; then accept; } term c { then accept; } } 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:63000:100; }
结果
在路由器 PE1 上的配置模式下,通过输入 show interfaces、show routing-options、show protocols、show routing-instances 和 show policy-options 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@PE1# show interfaces interfaces { t3-0/2/0 { dce; encapsulation frame-relay; unit 0 { description "to CE1 VPN interface"; dlci 10; family inet { address 192.168.197.13/30; } } } at-1/3/1 { atm-options { vpi 1 maximum-vcs 255; } unit 0 { description "to NAT VPN interface"; vci 1.100; family inet { address 10.23.0.2/32 { destination 10.23.0.1; } } } unit 1 { description "to NAT public interface"; vci 1.101; family inet { address 10.23.0.6/32 { destination 10.23.0.5; } } } } }
user@PE1# show routing-options routing-options { static { route 10.12.1.0/24 next-hop 10.23.0.5; } }
user@PE1# show protocols protocols { mpls { interface so-0/0/0.0; interface at-1/3/1.0; } bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet { any; } family inet-vpn { any; } export [ fix-nh redist-static ]; neighbor 10.255.14.177; neighbor 10.255.14.173; } } isis { level 1 disable; interface so-0/0/0.0; interface lo0.0; } ldp { interface so-0/0/0.0; } }
user@PE1# show routing-instances routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; interface at-1/3/1.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-hop 10.23.0.1; } } protocols { bgp { group to-CE1 { peer-as 63001; neighbor 192.168.197.14; } } } } }
user@PE1# show policy-options policy-options { policy-statement fix-nh { then { next-hop self; } } policy-statement redist-static { term a { from { protocol static; route-filter 10.12.1.0/24 exact; } then accept; } term b { from protocol bgp; then accept; } term c { then accept; } } 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:63000:100; }
通过第 3 层 VPN 实现集中式互联网接入
本节介绍了将 CE 路由器配置为互联网接入中央站点的几种方式。来自其他站点(CE 路由器)的互联网流量使用该路由器的 VPN 接口路由至中枢 CE 路由器(也执行 NAT)。然后,中枢 CE 路由器通过 inet.0 表中标识的另一个接口,将流量转发至连接到互联网的 PE 路由器。中心 CE 路由器可将默认路由通告给辐射 CE 路由器。这种配置的缺点是,所有流量在进入互联网之前必须经过中央 CE 路由器,如果此路由器接收过多的信息流,则会导致网络延迟。但是,在企业网络中,流量可能必须路由到中央站点,因为大多数公司网络都通过单个防火墙将 VPN 与互联网分离。
本节包括以下示例:
通过中心 CE 路由器路由互联网流量
在此示例中,互联网流量通过中心 CE 路由器路由。中枢 CE 路由器有两个中枢 PE 路由器接口:一个 VPN 接口和一个公共接口。它对通过 VPN 接口从中枢 PE 路由器转发的信息流执行 NAT,并将该流量从其公共接口转发回中心 PE 路由器。中枢 PE 路由器的 VRF 表中有一个静态默认路由,指向中枢 CE 路由器的 VPN 接口。它将此默认路由宣布至 VPN 的其他部分,从而吸引所有非 VPN 流量流到中枢 CE 路由。中心 PE 路由器还安装和分配 VPN 的公共 IP 地址空间(请参阅 图 10)。
此示例的配置与 通过单独 NAT 设备路由互联网流量中介绍的配置几乎相同。不同的是,路由器 PE1 配置为向其他 CE 路由器通告静态默认路由(请参阅 图 11)。
以下部分介绍如何通过集线器 CE 路由器路由互联网流量来配置集中式互联网接入:
在路由器 PE1 上配置路由实例
为路由器 PE1 配置路由实例。作为此配置的一部分,在下 routing-options
配置要安装在 vpna.inet.0 中的默认静态路由 (route 0.0.0.0/0
),并将路由指向中枢 CE 路由器的 VPN 接口 (10.23.0.1
)。此外,在路由实例下配置 BGP 以将默认路由导出到本地 CE 路由器:
[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; interface at-1/3/1.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-hop 10.23.0.1; } } protocols { bgp { group to-CE1 { export export-default; peer-as 63001; neighbor 192.168.197.14; } } } } }
在路由器 PE1 上配置策略选项
在路由器 PE1 上配置策略选项。作为此配置的一部分,路由器 PE1 应将静态默认路由导出到中vpna
的所有远程 PE 路由器(在下方term b
语句中policy-statement vpna-export
配置):
[edit] policy-options { policy-statement vpna-export { term a { from protocol bgp; then { community add vpna-comm; accept; } } term b { from { protocol static; route-filter 0.0.0.0/0 exact; } then { community add vpna-comm; accept; } } term c { then reject; } } policy-statement export-default { term a { from { protocol static; route-filter 0.0.0.0/0 exact; } then accept; } term b { from protocol bgp; then accept; } term c { then reject; } } }
由中心 CE 路由器路由的互联网流量:路由器汇总配置
路由器 PE1
路由器 PE1 的配置与 通过单独 NAT 设备路由互联网流量的配置几乎相同。不同的是,路由器 PE1 配置为向其他 CE 路由器通告静态默认路由。
路由实例
routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; interface at-1/3/1.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-hop 10.23.0.1; } } protocols { bgp { group to-CE1 { export export-default; peer-as 63001; neighbor 192.168.197.14; } } } } }
策略选项
policy-options { policy-statement vpna-export { term a { from protocol bgp; then { community add vpna-comm; accept; } } term b { from { protocol static; route-filter 0.0.0.0/0 exact; } then { community add vpna-comm; accept; } } term c { then reject; } } policy-statement export-default { term a { from { protocol static; route-filter 0.0.0.0/0 exact; } then accept; } term b { from protocol bgp; then accept; } term c { then reject; } } }
通过多个 CE 路由器路由互联网流量
本部分中的示例是通过 第 3 层 VPN 的集中式互联网访问中所述的扩展。此示例通过执行类似功能的多个中心 CE 路由器为不同站点提供不同的出口点。每个中心 CE 路由器都使用不同的路由目标标记默认路由,并允许辐式 CE 路由器选择应用于互联网接入的中心站点(请参阅 图 12)。
此示例使用两个中心 CE 路由器处理 NAT 和互联网流量:
带公共组
public-comm1
的0/0
Hub1 CE 路由器标记(目标:1:111
带公共组
public-comm2
的0/0
Hub2 CE 路由器标记(目标:1:112
此示例中的辐射式 CE 路由器配置为偏向于 Internet 接入的 Hub2。
以下部分介绍如何配置两个集线器 CE 路由器以处理互联网流量和 NAT:
在路由器 PE1 上配置路由实例
在路由器 PE1 上配置路由实例:
[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; interface at-1/3/1.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-hop 10.23.0.1; } } protocols { bgp { group to-CE1 { export export-default; peer-as 63001; neighbor 192.168.197.14; } } } } }
在路由器 PE1 上配置策略选项
路由器 PE1 的策略选项与 通过中心 CE 路由器的路由互联网流量相同,但此示例中的配置包含附加公共组, public-comm1
在语句中 export
:
[edit] 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 static; route-filter 0.0.0.0/0 exact; } then { community add public-comm1; community add vpna-comm; accept; } } term b { from protocol bgp; then { community add vpna-comm; accept; } } term c { then reject; } } community public-comm1 members target:1:111; community public-comm2 members target:1:112; community vpna-comm members target:63000:100; }
路由器 PE2 的配置与路由器 PE1 的配置相同,但路由器 PE2 通过公共组 public-comm2
导出默认路由。
在路由器 PE3 上配置路由实例
在路由器 PE3 上配置路由实例 vpna
:
[edit] routing-instances { vpna { instance-type vrf; interface t1-0/2/0.0; route-distinguisher 10.255.14.173:100; vrf-import vpna-import; vrf-export vpna-export; protocols { rip { group to-vpn12 { export export-CE; neighbor t1-0/2/0.0; } } } } }
在路由器 PE3 上配置策略选项
vrf-import
根据在路由器 PE1 上的配置策略选项中指定的附加社区,配置路由器 PE3 的策略以选择互联网出口点:
[edit] policy-options { policy-statement vpna-export { term a { from protocol rip; then { community add vpna-comm; accept; } } term b { then reject; } } policy-statement vpna-import { term a { from { protocol bgp; community public-comm1; route-filter 0.0.0.0/0 exact; } then reject; } term b { from { protocol bgp; community vpna-comm; } then accept; } term c { then reject; } } policy-statement export-CE { from protocol bgp; then accept; } community vpna-comm members target:69:100; community public-comm1 members target:1:111; community public-comm2 members target:1:112; }
通过多个 CE 路由器路由互联网流量:路由器汇总配置
路由器 PE1
此配置是 通过中心 CE 路由器路由互联网流量示例的扩展。它通过使用多个执行类似功能的中枢 CE 路由器,为各个站点提供不同的出口点。
路由实例
routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; interface at-1/3/1.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-hop 10.23.0.1; } } protocols { bgp { group to-CE1 { export export-default; peer-as 63001; neighbor 192.168.197.14; } } } } }
策略选项
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 static; route-filter 0.0.0.0/0 exact; } then { community add public-comm1; community add vpna-comm; accept; } } term b { from protocol bgp; then { community add vpna-comm; accept; } } term c { then reject; } } community public-comm1 members target:1:111; community public-comm2 members target:1:112; community vpna-comm members target:63000:100; }
路由器 PE2
路由器 PE2 的配置与路由器 PE1 的配置相同,但路由器 PE2 通过公共组 public-comm2
导出默认路由。
路由器 PE3
路由实例
routing-instances { vpna { instance-type vrf; interface t1-0/2/0.0; route-distinguisher 10.255.14.173:100; vrf-import vpna-import; vrf-export vpna-export; protocols { rip { group to-vpn12 { export export-CE; neighbor t1-0/2/0.0; } } } } }
策略选项
policy-options { policy-statement vpna-export { term a { from protocol rip; then { community add vpna-comm; accept; } } term b { then reject; } } policy-statement vpna-import { term a { from { protocol bgp; community public-comm1; route-filter 0.0.0.0/0 exact; } then reject; } term b { from { protocol bgp; community vpna-comm; } then accept; } term c { then reject; } } policy-statement export-CE { from protocol bgp; then accept; } community vpna-comm members target:69:100; community public-comm1 members target:1:111; community public-comm2 members target:1:112; }