邪恶八进制信息安全团队技术讨论组's Archiver

冰血封情 2005-7-25 20:37

[转载]某分之使用BGP路由协议无法双线路自动切换的案例

文章作者:猪哥

问题描述:

网络拓扑:


1. 两台R2631E(RT-WT和RT-LT)分别通过联通和网通的2M E1专线连接到总行中心的思科75路由器上,中间跑BGP路由协议,分之的自治域是64003,总行是64000,中间通过EBGP邻居学习路由信息。
2. 两台R2631E(RT-WT和RT-LT)路由器通过局域网建立IBGP邻居。并在自治系统内部跑OSPF路由协议。在两个边界路由器上面,把BGP注入OSPF中.
3. 为了实现两条专线的互为备份和流量工程,分别在两台运行BGP的路由器上配置ROUTE POLICY,目标网段是10.1.1.0这路由,分别在两台路由器上设置优先级apply local-preference 1000和500,保证平时下面路由器通过OSPF因入的BPG路由优先学习到网通路由器RT-WT的路由,这时,对于另一台路由器RT-LT来说,10.1.1.0网段的路由是通过OSPF学习到的,一旦RT-WT路由器上网通线路中断,RT-LT路由器通过OSPF从RT-WT学到的总部路由相应失效后,重新将BGP路由中学习到的10.1.1.0网段的路由放入路由表中,RT-WT路由器上再通过OSPF学习到该路由信息。
4. 这样可以保证一旦网通线路中断,业务不中断。
5. 流量分担: 对于去往总部10.1.1.0网段的路由优先从网通线路走,而对于去往10.1.1.87这个地址的数据优先选择联通线路.

问题:
由于华为的EBPG路由在所有的路由优先级中是170,比OSPF低,而OSPF虽然可以修改管理距离,但不可以改的比EBPG低,导致上面讲的网通线路中断后,数据可以通过联通学习到的BGP路由来走,业务不中断,而网通线路恢复后,由于OSPF比EBGP高,RT-WT路由器不能够通过EBGP学到的10.1.1.0网段的路由放入路由表,因为路由表中已经有OSPF习到的从RT-LT路由器来的10.1.1.0网段路由,不能刷新,所以网通线路恢复后,数据也不会从网通走了.
而思科路由器将EBGP的管理距离设为20,远高于一般的IGP(如 OSPF),就可以重新走网通了. (这个案例也侧面反映了华为公司在路由协议管理距离值的设计上面存在逻辑问题?).
另外的事情是,华为公司的软件不能把BGP的管理距离修改成比IGP低.
华为公司和CISCO公司路由协议管理距离表
协议 CISCO 协议 Huawei-3Com
DIRECT 0 DIRECT 0
STATIC 1 OSPF 10
EIGRP Sunmmary 5 IS-IS 15
EBGP 20 STATIC 60
Inside EIGRP 90 RIP 110
IGRP 100 OSPF ASE 150
OSPF 110 BGP 170
IS-IS 115    
RIP 120    
EGP 140    
Outside EIGRP 170    
ibgp 200    
未知 255    

解决思路:
问题处在RT-WT从OSPF学到的路由(150)的管理距离低于自己直接从EBGP(170)学到路由的管理距离,导致网通线路恢复后,不能切换回去。不在两个边缘路由器上面把BGP重分布到OSPF中,而是通过把静态路由发布进去,分之机构里面的路由器(除去RT-WT和RT-LT)通过缺省路由来访问总部。静态路由有一个特点,在线路中断后会自动消失;通过精确匹配和不同的COST值和来选择线路。
下面配置实现了:
(1) 从分之到总部网段10.1.1.0网段优先使用网通线路,线路中断,切换到联通线路。一旦网通线路恢复,自动从联通线路切换回网通线路。
(2) 从分之到总部10.1.1.87主机优先使用联通线路,线路中断,切换到网通线路。一旦联通线路恢复,自动从网通线路切换回联通线路。

简易配置:
RT-WT配置:
interface Ethernet0
ip address 10.136.1.2 255.255.255.0
ospf enable area 0.0.0.3
interface Serial0
link-protocol ppp
ip address 10.15.16.102 255.255.255.252
ospf enable
import-route static cost 500
bgp 64003
undo synchronization
network 10.136.1.0 mask 255.255.255.0
network 10.136.11.0 mask 255.255.255.0
peer 10.15.16.101 as-number 64000
peer 10.136.1.1 as-number 64003

ip route-static 0.0.0.0 0.0.0.0 10.15.16.101 preference 60

RT-LT配置:
interface Ethernet0
ip address 10.136.1.1 255.255.255.0
ospf enable area 0.0.0.3

interface Serial1
link-protocol ppp
!
interface Serial2:0
link-protocol ppp
ip address 10.15.32.102 255.255.255.252

ospf enable
import-route static cost 555

bgp 64003
undo synchronization
network 10.136.1.0 mask 255.255.255.0
network 10.136.11.0 mask 255.255.255.0
peer 10.136.1.2 as-number 64003
peer 10.15.32.101 as-number 64000

ip route-static 0.0.0.0 0.0.0.0 10.15.32.101 preference 60
ip route-static 10.1.1.87 255.255.255.255 10.15.32.101 preference 60

CISCO7507配置:
interface Serial2
clock DTECLK1
link-protocol ppp
ip address 10.15.16.101 255.255.255.252
interface Serial4:0
link-protocol ppp
ip address 10.15.32.101 255.255.255.252

interface LoopBack1
ip address 10.1.1.1 255.255.255.0
!
bgp 64000
undo synchronization
network 10.1.1.0 mask 255.255.255.0
peer 10.15.16.102 as-number 64003
peer 10.15.32.102 as-number 64003

6506配置:
ospf enable

页: [1]
© 1999-2008 EvilOctal Security Team