实验指南:BGP路径选择
版权声明:原创作品,谢绝转载!否则将追究法律责任。 |
实验指南
![]() 初始配置
Wills
conf t host Wills int l 0 ip ad 1.1.1.1 255.255.255.255 int s2/0 encap f no arp f no frame inver no shut int s2/0.1 p ip ad 10.1.1.1 255.255.255.0 frame int 102 int s2/0.2 p ip ad 10.1.2.1 255.255.255.0 frame inter 103 router rip
ver 2 no au net 10.00.0.0 net 1.0.0.0 net 62.0.0.0 router bgp 2001 no au no sy bgp router-id 1.1.1.1 nei 2.2.2.2 remote 645 nei 2.2.2.2 up l 0 nei 2.2.2.2 e 255 nei 3.3.3.3 remote 645 nei 3.3.3.3 up l 0 nei 3.3.3.3 e 255 end Amold conf t host Amold int l 0 ip ad 2.2.2.2 255.255.255.255 int s2/0 encap f no arp f no frame inver no shut int s2/0.1 p ip ad 10.1.1.2 255.255.255.0 frame int 201 int s2/1 ip ad 10.2.2.1 255.255.255.0 encap f no arp f no frame inver frame map ip 10.2.2.3 216 b frame map ip 10.2.2.2 216 b no shut router rip ver 2 no au net 2.0.0.0 net 10.0.0.0 router bgp 645 no au no sy bgp router-id 2.2.2.2 nei 1.1.1.1 remote 2001 nei 1.1.1.1 up l 0 nei 1.1.1.1 e 255 nei 6.6.6.6 remote 645 nei 6.6.6.6 up l 0 end Kimberly conf t host Kimberly int l 0 ip ad 3.3.3.3 255.255.255.255 int s 2/0 encap f no arp f no frame inver no shut int s2/0.1 p ip ad 10.1.2.2 255.255.255.0 frame int 301 int s2/1 ip ad 10.2.2.2 255.255.255.0 encap f no arp f no frame inver frame map ip 10.2.2.1 316 b frame map ip 10.2.2.3 316 b no shut router rip ver 2 no au net 3.0.0.0 net 10.0.0.0 router bgp 645 no au no sy bgp router-id 3.3.3.3 nei 1.1.1.1 remote 2001 nei 1.1.1.1 up l 0 nei 1.1.1.1 e 255 nei 6.6.6.6 remote 645 nei 6.6.6.6 up l 0 end Router6 conf t host Router6 int l 0 ip ad 6.6.6.6 255.255.255.255 int 1 ip ad 189.168.82.1 255.255.254.0
int l2 ip ad 189.168.84.1 255.255.254.0 int l3 ip ad 189.168.86.1 255.255.254.0 int l4 ip ad 189.168.88.1 255.255.254.0 int s2/1 ip ad 10.2.2.3 255.255.255.0 encap f no arp f no frame inver frame map ip 10.2.2.1 612 b frame map ip 10.2.2.2 613 b no shut router rip ver 2 net 6.0.0.0 net 10.0.0.0 router bgp 645 bgp router-id 6.6.6.6 no au no sy nei 2.2.2.2 remote 645 nei 2.2.2.2 up l 0 nei 3.3.3.3 remote 645 nei 3.3.3.3 up l 0 nei 2.2.2.2 route-reflector-client nei 3.3.3.3 route-reflector-client net 189.168.82.0 mask 255.255.254.0 net 189.168.84.0 mask 255.255.254.0 net 189.168.86.0 mask 255.255.254.0 net 189.168.88.0 mask 255.255.254.0 end 1,修改origin来影响BGP路径选择 Wills#sh ip route bgp | include 189 189.168.0.0/23 is subnetted, 17 subnets B 189.168.84.0 [20/0] via 2.2.2.2, 01:44:47 B 189.168.86.0 [20/0] via 2.2.2.2, 01:44:47 B 189.168.82.0 [20/0] via 2.2.2.2, 01:44:47 B 189.168.88.0 [20/0] via 2.2.2.2, 01:44:47 从Wills的路由表状态可以看出,到达189.168.0.0/16网段是从Amold学到,若想从Kimberly学到,有几种方法,先讲根据origin来影响 Wills access-list 1 permit 189.168.0.0 0.0.255.255 route-map ORIGIN permit 10 match ip ad 1 set origin incomplete router bgp 2001 nei 2.2.2.2 route-map ORIGIN incomplete end 这时,Wills上路由表的状态 Wills(config-router)#do sh ip route bgp | include 189 189.168.0.0/23 is subnetted, 17 subnets B 189.168.84.0 [20/0] via 3.3.3.3, 00:00:07 B 189.168.86.0 [20/0] via 3.3.3.3, 00:00:07 B 189.168.82.0 [20/0] via 3.3.3.3, 00:00:07 B 189.168.88.0 [20/0] via 3.3.3.3, 00:00:07 很明显,从Wills到189.168.0.0/16网段,要走路由器Kimberly。 Wills上BGP表状态 Wills(config-router)#do sh ip bgp | include 189 BGP table version is 63, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path
*> 189.168.82.0/23 3.3.3.3 0 645 i * 2.2.2.2 0 645 ? *> 189.168.84.0/23 3.3.3.3 0 645 i * 2.2.2.2 0 645 ? *> 189.168.86.0/23 3.3.3.3 0 645 i * 2.2.2.2 0 645 ? *> 189.168.88.0/23 3.3.3.3 0 645 i * 2.2.2.2 0 645 ? 从邻居2.2.2.2学到的BGP条目的origin为incomplete,所以Origin Codes 标识为“?”根据BGP路径优先的选择进程,Wills将从Kimberly到达189.168.0.0/16网段 2,使用AS path属性影响BGP路径选择 上例中,我们通过BGP的origin属性来影响BGP路径选择,本例讲到达189.168.0.0/16网段是从Amold学到,若想从Kimberly学到的第二种方法 Wills
access-list 2 permit 189.168.0.0 0.0.255.255 route-map ASPATH permit 10 match ip ad 2 set as-path prepend last-as 2 或者 set as-path prepend 123 1234 router bgp 2001 nei 2.2.2.2 route-map ASPATH in end 第一个set命令是收到路由条目所经过的最后一个AS显示的次数,第二个set命令是加入预先设定的AS值。因为BGP路径选择时会比较AS path,BGP会选择经过AS path少的路径 Wills上BGP表的状态
Wills#sh ip bgp BGP table version is 46, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path
* 189.168.82.0/23 2.2.2.2 0 123 1234 645 645 645 i *> 3.3.3.3 0 645 i * 189.168.84.0/23 2.2.2.2 0 123 1234 645 645 645 i *> 3.3.3.3 0 645 i * 189.168.86.0/23 2.2.2.2 0 123 1234 645 645 645 i *> 3.3.3.3 0 645 i * 189.168.88.0/23 2.2.2.2 0 123 1234 645 645 645 i *> 3.3.3.3 0 645 i CISCO IOS提供了一条隐藏的命令,可以使得BGPpath选择时忽略AS path的长短
Wills router bgp 2001 bgp bestpath as-path ignore end 这时,在Wills上BGP表的状态 Wills#sh ip bgp BGP table version is 46, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path
* 189.168.82.0/23 3.3.3.3 0 645 i *> 2.2.2.2 0 123 1234 645 645 645 i * 189.168.84.0/23 3.3.3.3 0 645 i *> 2.2.2.2 0 123 1234 645 645 645 i * 189.168.86.0/23 3.3.3.3 0 645 i *> 2.2.2.2 0 123 1234 645 645 645 i * 189.168.88.0/23 3.3.3.3 0 645 i *> 2.2.2.2 0 123 1234 645 645 645 i 这里可以看出,配置bgp bestpath as-path ignore后,将不再比较AS path的值。通过routerID去选择路径了。 3,使用AS path属性过滤BGP路由
使用AS path属性过滤掉从Amold上发送的经过AS645的路由条目,要使用正则表达式 Wills ip as-path access-list 1 deny _645_ ip as-path access-list 1 permit .* route-map FILTER permit 10 match as-path 1 router bgp 2001 nei 2.2.2.2 route-map FILTER in end 这时Wills上BGP表的状态
Wills(config-router)#do sh ip bgp | include 189 *> 189.168.82.0/23 3.3.3.3 0 645 i *> 189.168.84.0/23 3.3.3.3 0 645 i *> 189.168.86.0/23 3.3.3.3 0 645 i *> 189.168.88.0/23 3.3.3.3 0 645 i 说明从Amold上发送的路由条目已经被过滤了 还可以使用filter-list 进行AS path过滤,建立as-path列表的步骤一样,不过就是不用建立route-map了 Wills router bgp 2001 nei 2.2.2.2 filter-list 1 in end 用这个方法要比使用route-map简便许多,也同时能起到过滤AS path的作用
PS:正则表达式比较麻烦,需要多多练习
4,使用MED属性选择BGP最佳路径 默认情况下Wills要189.168.0.0/16网段要走Amold,下面通过修改Amold和Kimberly的mertic值来改变Wills到达189.168.0.0/16网段要走的路径 Amold access-list 1 permit 189.168.0.0 0.0.255.255 route-map METRIC permit 10 match ip ad 1 set metric 100 route-map METRIC permit 20 router bgp 645 nei 1.1.1.1 route-map METRIC out end 把从Amold发出的189.168.0.0/16网段的metric设为100(默认为0),这时Wills的BGP表状态 Wills(config-router)#do sh ip bgp BGP table version is 63, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path
*> 189.168.82.0/23 3.3.3.3 0 645 i * 2.2.2.2 100 0 645 i *> 189.168.84.0/23 3.3.3.3 0 645 i * 2.2.2.2 100 0 645 i *> 189.168.86.0/23 3.3.3.3 0 645 i * 2.2.2.2 100 0 645 i *> 189.168.88.0/23 3.3.3.3 0 645 i * 2.2.2.2 100 0 645 i 很明显,Wills将选择metric小的路径到达目的网段 <注>本例中没有提到的一种情况就是,BGP默认并不比较通过多个AS到达目的网段的metric值,也就是说,如果Amold和Kimberly不在同一个AS中时,BGP并不比较这两个AS的mertric值。这样就有可能到达目的网段并不是走最佳路径,CISCO IOS提供了一条命令可以比较多个AS的metric值,以达到最佳路径的目的 router bgp <AS> bgp always-compare-med 这样可以比较多个AS的metric值了 5,通过修改local_pref来选择网络出口
Wills acccess-list 1 permit 189.168.0.0 0.0.255.255 route-map LOCAL_PREF permit 10 match ip ad 1 set local-preference 1000 router bgp 2001 nei 3.3.3.3 route-map LOCAL_PREF in end Wills上BGP表的状态
Wills(config-router)#do sh ip bgp BGP table version is 46, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 189.168.82.0/23 2.2.2.2 0 645 i *> 3.3.3.3 1000 0 645 i * 189.168.84.0/23 2.2.2.2 0 645 i *> 3.3.3.3 1000 0 645 i * 189.168.86.0/23 2.2.2.2 0 645 i *> 3.3.3.3 1000 0 645 i * 189.168.88.0/23 2.2.2.2 0 645 i *> 3.3.3.3 1000 0 645 i 因为Wills到Kimberly的local_pref高,所以BGP选择Kimberly到达目的网段 本文出自 “穿过地狱去看海” 博客,谢绝转载! 本文出自 51CTO.COM技术博客 |




cj231210
博客统计信息
热门文章
最新评论
友情链接

