要求:
目录
4.3.2 宣告5.5.5.5/24环回,我们发现在R4上5.5.5.0/24是不优秀
4.4 宣告R4的环回,在R4中同样是不优秀;解决办法方法一样
1、拓扑图及IP配置
2、在R2/3/4上启动OSPF协议
R2:
[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 23.1.1.1 0.0.0.0
R3:
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 23.1.1.2 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 34.1.1.1 0.0.0.0
R4:
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]are 0
[r4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.0]network 34.1.1.2 0.0.0.0
查看邻居表
3、BGP的配置
3.1 R1和R2之间直连的EBGP邻居关系建立
[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.1.1.2 as-number 2
[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.1.1.1 as-number 1
查看邻居表
3.2 R2/3/4的IBGP邻居关系建立。
在一个AS内部,拓扑正常较为复杂;建议使用环回接口地址作为源、目标ip地址;存在备份链路,同时可以多条物理链路传递;
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r2-bgp]peer 4.4.4.4 as-number 2
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0
//切记:一旦使用环回接口建立BGP的邻居关系;必须将源地址也修改为环回接口
[r3]bgp 2
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 2
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[r3-bgp]peer 4.4.4.4 as-number 2
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r4]bgp 2
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 3.3.3.3 as-number 2
[r4-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r4-bgp]peer 2.2.2.2 as-number 2
[r4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
查看邻居表
3.3 R4和R5建立EBGP
邻居间存在多条物理链路时,也建议使用环回接口地址来建立:
{1}IP可达,建议静态路由
[r4]ip route-static 5.5.5.0 24 45.1.1.2
[r4]ip route-static 5.5.5.0 24 54.1.1.2
[r5]ip route-static 4.4.4.0 24 45.1.1.1
[r5]ip route-static 4.4.4.0 24 54.1.1.1
{2}正常环回做为源、目ip地址建立邻居关系
{3}默认IBGP邻居间数据包的TTL值为255,EBGP邻居间TTL为1;故一旦使用环回建立ebgp邻居关系,必须修改TTL值,否则无法建立
[r4]bgp 2
[r4-bgp]peer 5.5.5.5 as-number 3
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2 //修改TTL值
[r5]bgp 3
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4.4.4.4 as-number 2
[r5-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2
查看邻居表
4、BGP的宣告
4.1宣告R1的环回
[r1-bgp]network 1.1.1.0 24
我们查看R1/2/3//4/5的路由表,发现1.1.1.0/24在R1和R2路由表中是优秀,但是在R3/4中不是,只是i,在R5中则没有(优秀的条件:1、同步问题(默认不关注) 2、下一跳可达; 状态处若出现i代表该条目是本地通过IBGP邻居学习到的)
这是因为基于AS-BY-AS规则,条目在一个AS内部传递时将不修改条目属性;导致通过IBGP邻居学习到的BGP路由可能出现下一跳不可达,导致条目不优;
解决办法:因为R1和R2不属于一个AS了,违背了AS-BY-AS规则,所以是在R2传递给R3、R4的过程开始变为了不优秀,所以在R2修改BGP路由传递给本地的邻居3.3.3.3、4.4.4.4时修改下一跳地址为本地与3.3.3.3、4.4.4.4建立邻居关系的源ip地址(这里源IP则是环回本身,所以直接为local)
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 next-hop-local
[r2-bgp]peer 4.4.4.4 next-hop-local
再查看路由表,R3/4的1.1.1.0/24变为了优秀,R5中也出现1.1.1.0/24并且变为了优秀
4.2宣告R2/3的环回,所有路由表中均为优秀
[r2]bgp 2
[r2-bgp]network 2.2.2.0 24
[r3]bgp 2
[r3-bgp]network 3.3.3.0 24
4.3宣告R5的环回
4.3.1 宣告99.1.1.1的环回
[r5]bgp 3
[r5-bgp]network 99.1.1.0 24
[r5-bgp]network 5.5.5.0 24
[r4]bgp 2
[r4-bgp]peer 3.3.3.3 next-hop-local
[r4-bgp]peer 2.2.2.2 next-hop-local
//R4和R5不属于一个AS,将BGP路由传递给本地的邻居时修改下一跳地址为本地与建立邻居关系的源ip地址
4.3.2 宣告5.5.5.5/24环回,我们发现在R4上5.5.5.0/24是不优秀
因为我们在AS之间用环回建立邻居,然而因为路由不可达,所以我们写了到两边环回的静态路由,这样,我们在R4和R5的路由表中都可以看到R4和R5的环回地址的路由条目。所以在BGP协议中,若通过本地传递过来的路由条目,与本地路由表中已经存在且用于建立BGP邻居关系的路由相同时,该条目将不能优秀;
解决办法:删掉在R4的5.5.5.0/24的静态路由,让R4和R5之间建立邻居的和传递的环回不是同一个
[r4]undo ip route-static 5.5.5.0 24
[r4]ip route-static 5.5.5.5 32 45.1.1.2
[r4]ip route-static 5.5.5.5 32 54.1.1.2
4.4 宣告R4的环回,在R4中同样是不优秀;解决办法方法一样
[r4-bgp]network 4.4.4.0 24
//让与R5建邻居与传递的不是同一条路由
[r5]undo ip route-static 4.4.4.0 24
[r5]ip route-static 4.4.4.4 32 45.1.1.1
[r5]ip route-static 4.4.4.4 32 54.1.1.1