案例2――关于如何防止绕行建立ebgp邻居_第1页
案例2――关于如何防止绕行建立ebgp邻居_第2页
案例2――关于如何防止绕行建立ebgp邻居_第3页
案例2――关于如何防止绕行建立ebgp邻居_第4页
案例2――关于如何防止绕行建立ebgp邻居_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于如何防止绕行建立ebgp邻居一、概述1(一)通常ebgp邻居建立的方式1(二)ebgp-multihop为2时出现的ebgp邻居绕行问题2二、如何避免绕行建立ebgp邻居的解决方案分析7(一)ttl-security方案7(二)浮动静态路由方案8一、 概述(一)通常ebgp邻居建立的方式通常ebgp邻居建立的方式有两种,一种通过直连接口建立邻居,另一种是通过loopback接口建立邻居。在eBGP的默认配置中由于协议报文的TTL值为1,路由器在向外转发报文时会将TTL减1,因此默认情况下必须使用互联接口来建立ebgp邻居。但在实际应用中,考虑到物理互联接口的不稳定性和不便于流量均衡,通常不使用物理接口来建立ebgp邻居。实际应用中多采用的方式是通过loopback接口来建立ebgp邻居,该方式有如下优点:1. 稳定性高,因为loopback接口是一个逻辑虚拟接口,因此不受物理层状态的影响,对bgp这样一个着重于稳定性的路由协议是很有好处的。2. 有利于做流量的负载均衡。通过loopback地址建立ebgp邻居关系,当两台ebgp路由器间有多条链路互联的时候,流量可以通过互联链路IGP路由迭代,实现负载均衡。避免了bgp路由调整的复杂工作。3. 在多链路互联的ebgp peer环境中,使用loopback接口建邻居,可以大大减少BGP通告的报文,减少CPU利用率通过loopback接口建立ebgp邻居的配置,需要配置ebgp-multihop参数为2,即设置TTL值为2。参考配置如下。router bgp 100 no synchronization bgp log-neighbor-changesneighbor 2.2.2.2 remote-as 200 neighbor 2.2.2.2 ebgp-multihop 2 neighbor 2.2.2.2 update-source Loopback0(二)ebgp-multihop为2时出现的ebgp邻居绕行问题然而ebgp-multihop的应用会在一些特殊的情况下存在问题。参考下图所示拓扑:这是一个典型的城域网CR和骨干网路由器的ebgp连接拓扑示例。R1与R2、R3分别建立通过loopback接口建立ebgp邻居,ebgp-multihop设为2. 当R1到R2的链路中断时,R1仍可以通过R3学到R2 loopback0的ebgp路由,同样R2也可以通过R3学习到R1的loopback0的ebgp路由,也就是说R1的loopback0和R2的loopback0之间仍是路由可达的。同时,由于设置的ebgp-multihop为2,当从R1发出的BGP报文经路径R1-R3-R2到达R2时,R2接受到的报文TTL值减为1,R2仍视该BGP报文是有效报文,因此R1与R2之间的ebgp邻居关系仍是可以建立的。具体验证如下:R1配置:interface Loopback0 ip address 1.1.1.1 255.255.255.255!interface FastEthernet0/0 description to R2-f0/0 ip address 10.1.1.2 255.255.255.252 shutdown duplex auto speed auto!interface FastEthernet1/0 description to R3-f0/0 ip address 172.16.1.1 255.255.255.252 duplex auto speed auto!router bgp 100 no synchronization bgp log-neighbor-changes network 1.1.1.1 mask 255.255.255.255 neighbor 2.2.2.2 remote-as 200 neighbor 2.2.2.2 ebgp-multihop 2 neighbor 2.2.2.2 update-source Loopback0 neighbor 3.3.3.3 remote-as 200 neighbor 3.3.3.3 ebgp-multihop 2 neighbor 3.3.3.3 update-source Loopback0 no auto-summary!ip route 2.2.2.2 255.255.255.255 10.1.1.1ip route 3.3.3.3 255.255.255.255 172.16.1.2!R2配置:interface Loopback0 ip address 2.2.2.2 255.255.255.255!interface FastEthernet0/0 description to R1-f0/0 ip address 10.1.1.1 255.255.255.252 shutdown duplex auto speed auto!interface FastEthernet1/0 description to R3-f1/0 ip address 192.168.1.1 255.255.255.252 duplex auto speed auto!router ospf 100 log-adjacency-changes network 2.2.2.2 0.0.0.0 area 0 network 192.168.1.0 0.0.0.3 area 0! router bgp 200 no synchronization bgp log-neighbor-changes network 2.2.2.2 mask 255.255.255.255 neighbor 1.1.1.1 remote-as 100 neighbor 1.1.1.1 ebgp-multihop 2 neighbor 1.1.1.1 update-source Loopback0 neighbor 3.3.3.3 remote-as 200 neighbor 3.3.3.3 update-source Loopback0 neighbor 3.3.3.3 next-hop-self no auto-summary!ip route 1.1.1.1 255.255.255.255 10.1.1.2!R3配置:interface Loopback0 ip address 3.3.3.3 255.255.255.255!interface FastEthernet0/0 description to R1-f1/0 ip address 172.16.1.2 255.255.255.252 duplex auto speed auto!interface FastEthernet1/0 description to R2-f1/0 ip address 192.168.1.2 255.255.255.252 duplex auto speed auto!router ospf 100 log-adjacency-changes network 3.3.3.3 0.0.0.0 area 0 network 192.168.1.0 0.0.0.3 area 0!router bgp 200 no synchronization bgp log-neighbor-changes network 3.3.3.3 mask 255.255.255.255 neighbor 1.1.1.1 remote-as 100 neighbor 1.1.1.1 ebgp-multihop 2 neighbor 1.1.1.1 update-source Loopback0 neighbor 2.2.2.2 remote-as 200 neighbor 2.2.2.2 update-source Loopback0 neighbor 2.2.2.2 next-hop-self no auto-summary!ip route 1.1.1.1 255.255.255.255 172.16.1.1当R1与R2连接的链路中断时,R1可以通过R3学习到R2 loopback接口的BGP路由,查看路由表如下:R1# sh ip route 2.2.2.2Routing entry for 2.2.2.2/32 Known via bgp 100, distance 20, metric 0 Tag 200, type external Last update from 3.3.3.3 00:52:30 ago Routing Descriptor Blocks: * 3.3.3.3, from 3.3.3.3, 00:52:30 ago Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 200在R2上也可以看到同样结果:R2#sh ip route 1.1.1.1Routing entry for 1.1.1.1/32 Known via bgp 200, distance 200, metric 0 Tag 100, type internal Last update from 3.3.3.3 00:00:03 ago Routing Descriptor Blocks: * 3.3.3.3, from 3.3.3.3, 00:00:03 ago Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 100R1、R2的loopback接口可以互相ping通,结果是导致R1、R2的ebgp邻居关系仍然是可以建立的:R1#sh ip bgp summary BGP router identifier 1.1.1.1, local AS number 100Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd2.2.2.2 4 200 94 92 7 0 0 00:55:42 23.3.3.3 4 200 78 79 7 0 0 01:13:35 2这样的结果显然不是我们期望看到的。R1、R2通过ebgp路由建立ebgp邻居,可能造成的后果是路由环路、bgp 邻居状态的不稳定、消耗系统资源等。这是一种不稳定的、容易造成混乱的状态,因此需要尽量避免这种状态的出现。二、 如何避免绕行建立ebgp邻居的解决方案分析(一)ttl-security方案 对于以上问题,有文档建议可以采取eBGP的GSTM机制(该机制原本是用于防止用户伪造BGP peer 对bgp路由器发动攻击的,具体机制暂不详述 ),即使用ttl-security hop来替代ebgp-multihop。该命令格式为neighbor 2.2.2.2 ttl-security hops N ,此时bgp进程发出报文的TTL值为255,期待从邻居接收到的TTL值大于或等于255-N,从而限制ebgp邻居建立的跳数半径。文档建议对loopback建立ebgp邻居的2台直连路由器(例如上例中的R1-R2)使用如下配置来限制ebgp的跳数范围:neighbor 2.2.2.2 ttl-security hops 1但如果只有这条命令ttl-security hops设置为1时,R1-R2的loopback接口 ebgp邻居却建立不起来。此时需要配置:neighbor 2.2.2.2 disable-connected-check忽略掉直连链路跳数检查,这样就可以在路由器直连的情况下,设置TTL=1,来限制BGP报文跨越多跳转发。达到限制绕行建立ebgp邻居的目的。但该方式不是所有厂家设备都支持,目前来说通用性有待考证。注:经测试,事实上采用neighbor 2.2.2.2 update-source Loopback0neighbor 2.2.2.2 ebgp-multihop 1neighbor 2.2.2.2 disable-connected-check两者配合使用也可以达到防止绕行建立ebgp邻居的目的,但ebgp-multihop无法防止伪造bgp peer攻击。(二)浮动静态路由方案除了以上思科的ttl-security的方案,我们还可以采取其他非TTL方式的思路来避免路由器通过迂回的路由建立ebgp 邻居的问题。还是用前面的案例进行说明,实际上我们的需求是当R1-R2的链路down时,R1至R2通过loopback接口建立的ebgp邻居也down掉。 因此,只要能使链路中断情况下,R1 、R2间loopback接口的路由不可达,就可以达到ebgp邻居建立不起来目的。我们可以在R1、R2上对对方的loopback地址各配置一条优先级介于普通静态路由和ebgp路由之间的指向NULL0的静态路由。以R1为例(R2类似):ip route 2.2.2.2 255.255.255.255 10.1.1.1 / 正常情况到R2 loopback的路由,优先级为1ip route 2.2.2.2 255.255.255.25

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论