IP Routing

有或没有环回地址的 iBGP 和 eBGP 配置示例

简介

BGP 是一种 Exterior Gateway Protocol (EGP),用于在 TCP/IP 网络中执行域间路由。BGP 路由器需要(在 TCP 端口 179)与它的每个 BGP 对等体建立连接,才能交换 BGP 更新。如果两个 BGP 对等体位于不同的自治系统 (AS) 中,则二者之间的 BGP 会话将视为外部 BGP (eBGP) 会话。如果两个 BGP 对等体位于同一自治系统中,则将二者之间的 BGP 会话视为内部 BGP (iBGP) 会话。

默认情况下,将使用最接近对等路由器的接口的 IP 地址建立对等体关系。但是,使用 neighbor update-source ( registered customers only) 命令,可指定使用任何工作接口(包括环回接口)建立 TCP 连接。这种使用环回接口进行对等的方法十分实用,因为当 BGP 对等体之间有多个路径时该方法不会导致 BGP 会话中断,否则,当用于建立 BGP 会话的物理接口关闭时,将导致该会话断开。除此之外,它还允许运行 BGP 的之间有多条链路的路由器在可用路径中执行负载均衡。

本文档中的配置示例针对 iBGP 和 eBGP,包括有环回地址和无环回地址两种情况。

注意: 可以使用这些配置建立邻居关系。有关更多复杂配置,请参阅使用边界网关协议 (BGP) 进行域间路由

先决条件

要求

在尝试进行此配置之前,请确保满足以下要求:

  • BGP 协议知识

使用的组件

本文档不限于特定的软件和硬件版本。在本文显示的命令输出从运行IOS®版本12.2(24a)的2500系列路由器被采取了。

规则

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

配置

本部分包含以下配置示例:

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

注意: 要查找本文档所用命令的其他信息,请使用命令查找工具仅限注册用户)。

网络图

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

23a.gif

iBGP 配置

在此配置中,两路由器是在AS400

R1-AGS R6-2500
Current configuration:!-- Output suppressed.interface Serial1 ip address 10.10.10.1 255.255.255.0!router bgp 400!--- Enables BGP for the autonomous !--- system 400. neighbor 10.10.10.2 remote-as 400 !--- Specifies a neighbor 10.10.10.2 !--- in the remote AS 400, making !--- this an iBGP connection. !-- Output suppressed.end
Current configuration:!-- Output suppressed.interface Serial0ip address 10.10.10.2 255.255.255.0!router bgp 400 neighbor 10.10.10.1 remote-as 400!-- Output suppressed.end

eBGP 配置

在此配置中,路由器R1-AGS是AS 300,并且路由器R6-2500在AS400

R1-AGS R6-2500
Current configuration:!-- Output suppressedinterface Serial1 ip address 10.10.10.1 255.255.255.0!router bgp 300!--- Enables BGP for the autonomous !--- system 300. neighbor 10.10.10.2 remote-as 400 !--- Specifies a neighbor 10.10.10.2 !--- in the remote AS 400, making !--- this an eBGP connection.!-- Output suppressed.end
Current configuration:!-- Output suppressed.interface Serial0ip address 10.10.10.2 255.255.255.0!router bgp 400 neighbor 10.10.10.1 remote-as 300!-- Output suppressed.end

使用 eBGP 时,对等体必须直接连接。如果它们没有直接连接,则必须使用 neighbor ebgp-multihop仅限注册用户命令,而且必须存在通过 IGP 或静态路由到达对等体的路径,路由器才能建立邻居关系。在以上配置中,R1-AGS 路由器属于 AS 300,而 R6-2500 路由器属于 AS 400。

具有环回地址的 iBGP 配置

可以使用环回地址(或任何其他工作接口)配置 iBGP,如本部分所示。

R1-AGS R6-2500
Current configuration:!-- Output suppressed.interface Loopback0  ip address 1.1.1.1 255.255.255.255 ! interface Serial1  ip address 10.10.10.1 255.255.255.0 ! router bgp 300  neighbor 2.2.2.2 remote-as 300  neighbor 2.2.2.2 update-source Loopback0  !--- This command specifies that the TCP !--- connection with the specified external !--- peer should be established using the !--- address on the loopback interface. ! ip route 2.2.2.2 255.255.255.255 10.10.10.2 !--- This static route ensures that the !--- remote peer address used for peering !--- is reachable. !-- Output suppressed.end
Current configuration:!-- Output suppressed.interface Loopback0 ip address 2.2.2.2 255.255.255.255!interface Serial0 ip address 10.10.10.2 255.255.255.0!router bgp 300 neighbor 1.1.1.1 remote-as 300 neighbor 1.1.1.1 update-source Loopback0!ip route 1.1.1.1 255.255.255.255 10.10.10.1!-- Output suppressed.end

具有环回地址的 eBGP 配置

您也可以使用环回地址(或任何其他工作接口)配置 eBGP,如本部分所示。以这种方式使用环回接口可保证具有多个路径的网络中的可达性,详细信息请参阅使用环回地址作为 BGP 邻居的负载共享部分(在单宿主和多宿主环境中使用 BGP 进行负载共享:配置示例)。

R1-AGS R6-2500
Current configuration:!-- Output suppressed.interface Loopback0  ip address 1.1.1.1 255.255.255.255 ! interface Serial1  ip address 10.10.10.1 255.255.255.0 ! router bgp 300  neighbor 2.2.2.2 remote-as 400  neighbor 2.2.2.2 ebgp-multihop 2  !--- This command changes the ttl value in !--- order to allow the packet to reach the !--- external BGP peer which is not directly !--- connected or is using an interface other !--- than the directly connected interface.  neighbor 2.2.2.2 update-source Loopback0  !--- This command specifies that the TCP !--- connection with the external BGP !--- peer should be established using the !--- address on the loopback interface. ! ip route 2.2.2.2 255.255.255.255 10.10.10.2 !--- This static route ensures that the !--- remote peer address used for peering !--- is reachable. !-- Output suppressed.end
Current configuration:!-- Output suppressed.interface Loopback0 ip address 2.2.2.2 255.255.255.255!interface Serial0 ip address 10.10.10.2 255.255.255.0!router bgp 400 neighbor 1.1.1.1 remote-as 300 neighbor 1.1.1.1 ebgp-multihop 2 neighbor 1.1.1.1 update-source Loopback0!ip route 1.1.1.1 255.255.255.255 10.10.10.1!-- Output suppressed.end

验证

这些部分提供的信息可用于确认您的配置是否工作正常。输出解释器工具支持某些特定的 show 命令(只限于注册用户),它允许您查看 show 命令输出的分析。

验证 iBGP 配置

请使用show ip bgp neighbors (仅限注册用户)命令显示关于TCP和边界网关协议(BGP)连接的信息和验证,如果BGP对等体设立。以下 show ip bgp neighbors 命令的输出显示 BGP 状态为“Established”,表示已成功建立 BGP 对等体关系。

R1-AGS# show ip bgp neighbors | include BGPBGP neighbor is 10.10.10.2,  remote AS 400, internal link  BGP version 4, remote router ID 2.2.2.2  BGP state = Established, up for 00:04:20  BGP table version 1, neighbor version 1R1-AGS#

已经在上面使用过的 show ip bgp neighbors 命令带有限定符|include BGP。这样可对命令输出进行过滤并仅显示相关部分,从而提高输出的可读性。

另外,还可使用 show ip bgp summary仅限注册用户命令显示所有 BGP 连接的状态,如下所示。

R1-AGS(9)# show ip bgp summaryBGP router identifier 10.1.1.2, local AS number 400	BGP table version is 1, main routing table version 1Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd10.10.10.2      4   400       3       3        1    0    0 00:00:26        0

验证 eBGP 配置

请使用show ip bgp neighbors (仅限注册用户)命令显示关于TCP和边界网关协议(BGP)连接的信息和验证,如果BGP对等体设立。以下 show ip bgp neighbors 命令的输出显示 BGP 状态为“Established”,表示已成功建立 BGP 对等体关系。

R1-AGS# show ip bgp neighbors | include BGPBGP neighbor is 10.10.10.2,  remote AS 400, external link  BGP version 4, remote router ID 2.2.2.2  BGP state = Established, up for 00:00:17  BGP table version 1, neighbor version 1

另外,还可使用 show ip bgp summary仅限注册用户命令显示所有 BGP 连接的状态,如下所示。

R1-AGS(9)# show ip bgp summaryBGP router identifier 10.10.10.1, local AS number 300BGP table version is 1, main routing table version 1Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd10.10.10.2      4   400       3       3        1    0    0 00:00:26        0

验证具有环回地址的 iBGP 配置

请使用show ip bgp neighbors (仅限注册用户)命令显示关于TCP和边界网关协议(BGP)连接的信息和验证,如果BGP对等体设立。以下 show ip bgp neighbors 命令的输出显示 BGP 状态为“Established”,表示已成功建立 BGP 对等体关系。

R1-AGS# show ip bgp neighbors | include BGPBGP neighbor is 2.2.2.2,  remote AS 300, internal link  BGP version 4, remote router ID 2.2.2.2  BGP state = Established, up for 00:00:28  BGP table version 1, neighbor version 1R1-AGS#

另外,还可使用 show ip bgp summary仅限注册用户命令显示所有 BGP 连接的状态,如下所示。

R1-AGS(9)# show ip bgp summaryBGP table version is 1, main routing table version 1Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd2.2.2.2         4   400       3       3        1    0    0 00:00:26        0

验证具有环回地址的 eBGP 配置

请使用show ip bgp neighbors (仅限注册用户)命令显示关于TCP和边界网关协议(BGP)连接的信息和验证,如果BGP对等体设立。以下 show ip bgp neighbors 命令的输出显示 BGP 状态为“Established”,表示已成功建立 BGP 对等体关系。

R1-AGS# show ip bgp neighbors | include BGPBGP neighbor is 2.2.2.2,  remote AS 400, external link  BGP version 4, remote router ID 2.2.2.2  BGP state = Established, up for 00:00:16  BGP table version 1, neighbor version 1  External BGP neighbor may be up to 2 hops away.

另外,还可使用 show ip bgp summary仅限注册用户命令显示所有 BGP 连接的状态,如下所示。

R1-AGS(9)# show ip bgp summaryBGP router identifier 1.1.1.1, local AS number 300BGP table version is 1, main routing table version 1Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd2.2.2.2         4   400       3       3        1    0    0 00:00:26        0

故障排除

请参阅 BGP 邻居为何在空闲、连接和活动状态之间切换?BGP 故障排除以获得故障排除信息。

相关信息