一、实验拓扑
二、实验需求
1、按照需求配置IP地址,R1和R4配置环回口模拟业务网段,R2和R3配置Loopback0口地址作为OSPF的Router-id和IBGP邻居地址。
2、AS 200 内部配置OSPF,仅用于实现BGP的TCP可达,不允许宣告业务网段。
3、配置BGP,R1和R2/R3 建立EBGP 邻居,R4和R2/R3建立IBGP邻居,R1和R4分别把业务网段宣告进BGP
4、通过修改MED使R1到达192.168.2.0/24网段的路由经过R3
5、通过修改Preferred-value属性,使R4 到达 192.168.0.0/24网段的路由经过R3
6、通过修改AS_path属性,使R1到达192.168.3.0/24网段的路由经过 R3
7、通过修改Local-pref属性,使R4到达192.168.1.0/24网段的路由经过 R3
三、实验步骤
1、配置 IP 地址
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 100.1.1.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 100.3.3.1 24
[R1]int l0
[R1-LoopBack0]ip add 192.168.0.1 24
[R1-LoopBack0]int l1
[R1-LoopBack1]ip add 192.168.1.1 24
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 100.1.1.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 100.2.2.2 24
[R2-GigabitEthernet0/0/1]int l0
[R2-LoopBack0]ip add 2.2.2.2 32
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 100.3.3.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 100.4.4.3 24
[R3-GigabitEthernet0/0/1]int l0
[R3-LoopBack0]ip add 3.3.3.3 32
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 100.2.2.4 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 100.4.4.4 24
[R4]int l0
[R4-LoopBack0]ip add 4.4.4.4 32
[R4-LoopBack0]int l1
[R4-LoopBack1]ip add 192.168.2.1 24
[R4-LoopBack1]int l2
[R4-LoopBack2]ip add 192.168.3.1 24
2、配置OSPF部分,除了L0口作为router-id,不允许宣告业务网段
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 100.2.2.2 0.0.0.0
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 100.4.4.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 100.2.2.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 100.4.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
3、配置BGP基本部分
(1)R1和R2/R3建立EBGP邻居,R4和R2/R3建立IBGP邻居
[R1]bgp 100
[R1-bgp]peer 100.1.1.2 as-number 200
[R1-bgp]peer 100.3.3.3 as-number 200
[R2]bgp 200
[R2-bgp]peer 100.1.1.1 as-number 100
[R2-bgp]peer 4.4.4.4 as-number 200
[R2-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[R2-bgp]peer 4.4.4.4 next-hop-local
[R3]bgp 200
[R3-bgp]peer 100.3.3.1 as-number 100
[R3-bgp]peer 4.4.4.4 as-number 200
[R3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[R3-bgp]peer 4.4.4.4 next-hop-local
[R4]bgp 200
[R4-bgp]peer 2.2.2.2 as-number 200
[R4-bgp]peer 3.3.3.3 as-number 200
[R4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[R4-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R4-bgp]peer 2.2.2.2 next-hop-local
[R4-bgppeer 3.3.3.3 next-hop-local
(2)R1和R4分别把业务网段宣告进BGP
[R1-bgp]network 192.168.0.1 24
[R1-bgp]network 192.168.1.1 24
[R4-bgp]network 192.168.2.1 24
[R4-bgp]network 192.168.3.1 24
4、通过修改MED使R1到达192.168.2.0/24网段的路由经过R3
分析:按照BGP选路规则,在其他属性都一致的情况下,路由器优选IP地址最小的邻居发布的路由,R1到达192.168.2.0/24网段的路由会优选 R2
这里要求通过修改MED使R1优选R3。MED类似IGP中的Cost,越小越优先,由network命令产生的BGP路由默认MED为0。把R2传递至R1的该网段路由MED改大即可实现效果
步骤1:在R2上创建ACL抓取192.168.2.0/24网段路由
[R2]acl 2000
[R2-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255
步骤 2:在R2上创建路由策略,匹配上一步创建的ACL,修改MED为100,并创建空节点用于放行其他路由
[R2]route-policy med permit node 10
[R2-route-policy]if-match acl 2000
[R2-route-policy]apply cost 100
[R2]route-policy med permit node 20
步骤3:在R2上对R1的EBGP邻居中调用上一步创建的路由策略,应用方向为出方向
[R2]bgp 200
[R2-bgp]peer 100.1.1.1 route-policy med export
5、通过修改Preferred-value属性,使R4到达192.168.0.0/24网段的路由经过R3。
分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选IP地址最小的邻居发布的路由,R4到达192.168.0.0/24网段的路由会优选R2
这里要求通过修改Preferred-value使R4优选R3。Preferred-value是私有属性,越大越优先,默认Preferred-value为0。把R4从R3学习的该网段路由Preferred-value改大即可实现效果
步骤1:在R4上创建ACL抓取192.168.2.0/24网段路由。
[R4]acl 2000
[R4-acl-basic-2000]rule permit source 192.168.0.0 0.0.0.255
步骤2:在R4上创建路由策略,匹配上一步创建的ACL,修改 preferred-value为200,并创建空节点用于放行其他路由
[R4]route-policy PV permit node 10
[R4-route-policy]if-match acl 2000
[R4-route-policy]apply preferred-value 200
[R4-route-policy]quit
[R4]route-policy PV permit node 20
步骤3:在R4上对R3的IBGP邻居中调用上一步创建的路由策略,应用方向为入方向
[R4]bgp 200
[R4-bgp-af-ipv4]peer 3.3.3.3 route-policy PV import
6、通过修改AS_path属性,使R1到达192.168.3.0/24网段的路由经过 R3
分析:按照BGP选路规则,在其他属性都一致的情况下,路由器优选IP地址最小的邻居发布的路由,R1到达192.168.3.0/24网段的路由会优选R2
这里要求通过修改 AS_path使R1优选R3。AS_path属性用于描述该路由传递所经过的 AS 路径,越短越优先,R1收到的该网段路由从AS 200 始发,然后进入本 AS,所以AS_path属性为100。把 R1从R2学习的该网段路由AS_path改长即可实现效果
步骤1:在R1上创建ACL抓取192.168.3.0/24网段路由
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.3.0 0.0.0.25
步骤2:在R1上创建路由策略,匹配上一步创建的ACL,添加200到AS_path,并创建空节点用于放行其他路由
[R1]route-policy AS-PATH permit node 10
[R1-route-policy]if-match acl 2000
[R1-route-policy]apply as-path 200 additive
[R1]route-policy AS-PATH permit node 20
步骤3:在R2上对R1的EBGP邻居中调用上一步创建的路由策略,应用方向为入方向
[R1]bgp 100
[R1-bgp]peer 100.1.1.2 route-policy AS-PATH import
7、 通过修改Local-pref属性,使R4到达192.168.1.0/24网段的路由经过 R3
分析:按照BGP选路规则,在其他属性都一致的情况下,路由器优选IP地址最小的邻居发布的路由,R4到达192.168.0.0/24网段的路由会优选R2
这里要求通过修改Local-pref使R4优选R3。Local-pref越大越优先,默认值为100。把R3向R4发布的该网段路由Local-pref改大即可实现效果
步骤1:在R3上创建ACL抓取192.168.1.0/24网段路由
[R3]acl 2000
[R3-acl-basic-2000]rule permit source 192.168.0.0 0.0.0.255
步骤2:在R3上创建路由策略,匹配上一步创建的ACL,修改 Local-pref为150,并创建空节点用于放行其他路由
[R3]route-policy LP permit node 10
[R3-route-policy]if-match acl 2000
[R3-route-policy]apply local-preference 150
[R3]route-policy LP permit node 20
步骤3:在R3上对R4的EBGP邻居中调用上一步创建的路由策略,应用方向为出方向
[R3]bgp 200
[R3-bgp]peer 4.4.4.4 route-policy LP export