IP : 边界网关协议(BGP)

两个不同服务提供商(多宿)间的 BGP 的示例配置

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2016 年 4 月 21 日) | 反馈


目录


简介

边界网关协议 (BGP) 是用于实现 Internet 连接冗余的关键协议之一。当您将网络连接到两个不同的 Internet 服务提供商 (ISP) 时,此操作称为多宿主。多宿主可提供冗余和网络优化。它选择为资源提供最佳路径的 ISP。在对多个服务提供程序运行 BGP 时,您将面临您的自治系统 (AS) 变为中转 AS 的风险。这会导致 Internet 流量通过 AS,可能占用路由器 CPU 的所有带宽和资源。本文档对此问题进行讨论,并提供相应的配置示例。

先决条件

要求

在尝试进行此配置之前,请确保您已具有下列主题的相关知识:

使用的组件

本文档中的信息根据运行Cisco IOS�软件版本12.2(27)的思科2500系列路由器。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

背景信息

如果要接收完整的 Internet 路由表,请对本地路由器(在本文档的示例中为路由器 A)使用接收完整 Internet 路由表的配置

如果要接收直接连接到服务提供商的路由,但对 Internet 其他部分采用默认路由,请尝试使用接收直接连接路由的配置

如果您希望只接收来自直接连接的服务提供商的默认路由,请使用 Receive Default Routes Only 配置。

有关本文档中配置所用的正则表达式的更多信息,请参阅在 BGP 中使用正则表达式

配置

本部分提供有关如何配置本文档所述功能的信息。

网络图

本文档使用以下网络设置:

http://www.cisco.com/c/dam/en/us/support/docs/ip/border-gateway-protocol-bgp/23675-27.gif

在该网络图中,1.0.0.0/8 和 2.0.0.0/8 由 AS 300 向外部通告。

配置为接收完全互联网路由表

以下配置允许路由器 A 与其他自治系统中的 BGP 扬声器建立对等关系。route-map localonly 仅允许将本地生成的路由通告给两个服务提供商。换言之,它们会过滤从一个服务提供商返回另一个服务提供商的 Internet 路由。这样可消除自治系统成为用于 Internet 流量的中转 AS 的风险。

注意: 思科推荐1 GB整个互联网路由表的内存从单个对等体。

路由器 A
Current configuration:

router bgp 300
 network 1.0.0.0
 network 2.0.0.0

 neighbor 10.10.10.10 remote-as 100
 neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to service provider A (SP-A).

 neighbor 20.20.20.20 remote-as 200
 neighbor 20.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to service provider B (SP-B).

end

以下自治系统路径访问列表只允许本地生成的 BGP 路由:

ip as-path access-list 10 permit ^$

下面是一个路由映射示例,该路由映射使用自治系统路径访问列表对通告给服务提供商网络中外部邻居的路由进行过滤:

route-map localonly permit 10
 match as-path 10

配置为接收直接连接的路由

路由器 A
Current configuration:

router bgp 300
 network 1.0.0.0
 network 2.0.0.0

 neighbor 10.10.10.10 remote-as 100
 neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-A.

 neighbor 10.10.10.10 route-map as100only in

!--- Incoming policy route-map that filters routes from SP-A.

 neighbor 20.20.20.20 remote-as 200
 neighbor 20.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-B.

 neighbor 20.20.20.20 route-map as200only in

!--- Incoming policy route-map that filters routes from SP-B.

end

由于需要仅接受直接连接到服务提供商的路由,因此必须过滤它们发送给您的路由,以及您通告的路由。以下访问列表和路由映射仅允许本地生成的路由;可使用它过滤出站路由更新:

ip as-path access-list 10 permit ^$


!--- Configuring the as-path access-list 10 as 
!--- IP as-path access-list 10 permit ^$, means that the router 
!--- will only send the prefixes which are generated locally in 
!--- AS 300 and not from any other AS.


   route-map localonly permit 10
   match as-path 10

以下访问列表和路由映射将过滤掉并非来源于第一服务提供商网络内的所有路由;可使用它过滤通过服务提供商 A 的路由 (SP-A) 获知的路由。

ip as-path access-list 20 permit ^100$

route-map as100only permit 10
 match as-path 20

以下访问列表和路由映射将过滤掉并非来源于第二服务提供商网络内的所有路由;可使用它过滤通过服务提供商 B 的路由 (SP-B) 获知的路由。

ip as-path access-list 30 permit ^200$

route-map as200only permit 10
  match as-path 30

您还需要两个默认路由,用于重新分配给网络的其余部分,每个路由指向一个服务提供商的进入点:

ip route 0.0.0.0 0.0.0.0 10.10.10.10
ip route 0.0.0.0 0.0.0.0 20.20.20.20

配置为仅接收默认路由

路由器 A
Current configuration:

router bgp 300
 network 1.0.0.0
 network 2.0.0.0

 neighbor 10.10.10.10 remote-as 100
 neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-A.

 neighbor 10.10.10.10  prefix-list  ABC in

 neighbor 20.20.20.20 remote-as 200
 neighbor 20.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-B.

 neighbor 20.20.20.20 prefix-list  ABC in

ip prefix-list  ABC  seq 5 permit 0.0.0.0/0

!--- Prefix list to allow only default route updates.

end

由于希望路由器 A 仅接收默认路由,而不接收来自 SP-A 和 SP-B 的其他网络,因此必须只允许接收默认路由,而拒绝其他 BGP 更新。使用下面的前缀列表将只允许默认路由更新 0.0.0.0/0,而拒绝路由器 A 上的所有其他 BGP 更新:

ip prefix-list ABC seq 5 permit 0.0.0.0/0

按以下方法将该前缀列表应用于各个 BGP 邻居的入站更新:

neighbor 10.10.10.10 prefix-list ABC in
neighbor 20.20.20.20 prefix-list ABC in

有关如何配置前缀列表的更多信息,请参阅配置 BGP使用前缀列表配置 BGP 过滤部分

有关每个命令作用的说明,请参阅配置 BGPBGP 命令

验证

使用本部分可确认配置能否正常运行。

命令输出解释程序仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

可以使用 show ip routeshow ip bgp 命令检查 IP 路由表和 BGP 路由表的条目。

故障排除

目前没有针对此配置的故障排除信息。


相关信息


Document ID: 23675