·拓扑
·需求
1、所有同AS相互环回建立IBGP邻居,AS边界接口建立EBGP邻居。
2、选路需求:
AS1去AS2 ,走R1-R3
AS2去AS1 ,走R4-R2
AS1去AS3 ,走R2-R6
AS3去AS1 ,走R5-R2
AS2去AS3 ,走R4-R5
AS3去AS2 ,走R6-R4
·实现
一、规则
1、接口ip命名:10.0.X.Y X:路由器设备号由小到大号数字顺序;Y:接口小为1,接口大为2
2、环回建IBGP邻:10.X.1.1 X:路由器设备号
3、测试的环回地址:10.X.1.2 X:路由器设备号
二、配置
(一)全网可达
1、IP配置,我们以R5为例:
2、想要建立IBGP邻居,我们需要AS内路由可达,我们可以选择底层跑RIP、OSPF等协议,也可以写静态,这里我们选择OSPF协议,依旧以R5为例:
OSPF配置:
邻居关系:
3、起BGP协议,并建立EBGP、IBGP邻居关系,我们继续以R5为例:
BGP配置:
邻居关系:
4、宣告我们的测试环回,我们还是以R5为例:
BGP路由表:
公有路由表:
我们用R1的测试环回pingR7,可以通,目前我们已经做到全网可达。接下来我们就需要按照要求干预选路了。
(二)选路
1、AS1去AS2 ,走R1-R3,通过增大local-preference值,默认为100,在R2-R4的入向做
###抓取AS1的流量
[r2]ip ip-prefix 12 permit 10.1.0.0 24 greater-equal 25
[r2]ip ip-prefix 12 permit 10.2.0.0 24 greater-equal 25
###增大local-preference值,默认为100
[r2]route-policy 12 permit node 10
Info: New Sequence of this List.
[r2-route-policy]if-match ip-prefix 12
[r2-route-policy]apply local-preference 150
[r2]route-policy 12 permit node 20
[r2-route-policy]q
###在邻居中调用
[r2]bgp 1
[r2-bgp]peer 10.0.24.1 route-policy 12 import
测试:
R1
R2
2、AS2去AS1 ,走R4-R2,增加MED值,在R3-R1的入向做
###抓取AS2的流量
[r3]ip ip-prefix 21 permit 10.4.0.0 24 greater-equal 25
[r3]ip ip-prefix 21 permit 10.3.0.0 24 greater-equal 25
###增大MED值,默认为0
[r3]route-policy 12 permit node 10
Info: New Sequence of this List.
[r3-route-policy]if-match ip-prefix 21
[r3-route-policy]apply cost + 100
[r3]route-policy 12 permit node 20
[r3-route-policy]q
###在邻居中调用
[r3]bgp 2
[r3-bgp]peer 10.0.13.1 route-policy 21 import
测试:
R3
R4
3、AS1去AS3 ,走R2-R6;增加as-path 8,9,在R2-R5的入向做
###抓取AS1的流量
[r2]ip ip-prefix 13 permit 10.1.0.0 24 greater-equal 25
[r2]ip ip-prefix 13 permit 10.2.0.0 24 greater-equal 25
###增加as-path 8,9
[r2]route-policy 13 permit node 20
Info: New Sequence of this List.
[r2-route-policy]if-match ip-prefix 13
[r2-route-policy]apply as-path 8.9 additive
[r2]route-policy 13 permit node 30
[r2-route-policy]q
###在邻居中调用
[r2]bgp 1
[r2-bgp]peer 10.0.25.1 route-policy 13 import
测试:
R1
R2
4、AS3去AS1 ,走R5-R2;修改下一跳,在R6-R2的入向做
###抓取AS3的流量
[r6]ip ip-prefix 31 permit 10.5.0.0 24 greater-equal 25
[r6]ip ip-prefix 31 permit 10.6.0.0 24 greater-equal 25
[r6]ip ip-prefix 31 permit 10.7.0.0 24 greater-equal 25
###修改下一跳
[r6]route-policy 13 permit node 20
Info: New Sequence of this List.
[r6-route-policy]if-match ip-prefix 31
[r6-route-policy]apply ip-address next-hop 10.5.1.1
[r6]route-policy 13 permit node 30
[r6-route-policy]q
###在邻居中调用
[r6]bgp 3
[r6-bgp]peer 10.0.26.2 route-policy 31 import
测试
R5
R6
R7
5、AS2去AS3 ,走R4-R5;修改origin起源属性,在R6-R4中R4的入向做
###抓取AS2的流量
[r4]ip ip-prefix 23 permit 10.5.0.0 24 greater-equal 25
[r4]ip ip-prefix 23 permit 10.6.0.0 24 greater-equal 25
[r4]ip ip-prefix 23 permit 10.7.0.0 24 greater-equal 25
###修改origin起源属性
[r4]route-policy 23 permit node 20
Info: New Sequence of this List.
[r4-route-policy]if-match ip-prefix 23
[r4-route-policy]apply apply origin egp 3
[r4]route-policy 23 permit node 30
[r4-route-policy]q
###在邻居中调用
[r4]bgp 2
[r4-bgp]peer 10.0.46.1 route-policy 32 import
测试
R3
R4
6、AS3去AS2 ,走R6-R4;修改preferred-value,在R5-R6的入向做
###抓取AS2的流量
[r5]ip ip-prefix 32 permit 10.4.0.0 24 greater-equal 25
[r5]ip ip-prefix 32 permit 10.3.0.0 24 greater-equal 25
###修改preferred-value
[r5]route-policy 32 permit node 20
Info: New Sequence of this List.
[r5-route-policy]if-match ip-prefix 32
[r5-route-policy]apply preferred-value 4
[r5]route-policy 32 permit node 30
[r5-route-policy]q
###在邻居中调用
[r5]bgp 3
[r5-bgp]peer 10.6.1.1 route-policy 32 import
测试
R5
R6
R7
(三)成果路由表展示
到这里我们就配置和测试完成了,最后我们将各AS的路由器的路由表截取下来:
AS1
R1
R2
AS2
R3
R4
AS3
R5
R6
R7
到这里我们就结束了。