要求所有设备间环回可以相互访问
一、拓扑构建
二、配置底层地址(即简单的I地址)
三、配置IGP(OSPF)
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
其他AS2区域设备配置同上
四、配置BGP邻居
1、单链路的EBGP邻居
[R1]bgp 1
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 12.1.1.2 as-number 2
2、联邦EBGP邻居
[R2]bgp 64512
[R2-bgp]router-id 2.2.2.2
[R2-bgp]confederation id 2
[R2-bgp]peer 12.1.1.1 as-number 1
[R2-bgp]peer 3.3.3.3 as-number 64512
[R2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R3]bgp 64512
[R3-bgp]router-id 3.3.3.3
[R3-bgp]confederation id 2
[R3-bgp]confederation peer-as 64513
[R3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[R3-bgp]peer 2.2.2.2 as-number 64512
[R3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[R3-bgp]peer 4.4.4.4 as-number 64513
[R3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[R3-bgp]peer 4.4.4.4 ebgp-max-hop 2
[R4]bgp 64513
[R4-bgp]router-id 4.4.4.4
[R4-bgp]confederation id 2
[R4-bgp]confederation peer-as 64512
[R4-bgp]peer 3.3.3.3 as-number 64512
[R4-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R4-bgp]peer 3.3.3.3 ebgp-max-hop 2
[R4-bgp]peer 5.5.5.5 as-number 64513
[R4-bgp]peer 5.5.5.5 connect-interface LoopBack 0
[R5]bgp 64513
[R5-bgp]router-id 5.5.5.5
[R5-bgp]confederation id 2
[R5-bgp]peer 4.4.4.4 as-number 64513
[R5-bgp]peer 4.4.4.4 connect-interface LoopBack 0
3、多链路的EBGP邻居
[R5]ip route-static 6.6.6.0 24 56.1.1.2
[R5]ip route-static 6.6.6.0 24 65.1.1.2
[R6]ip route-static 5.5.5.0 24 56.1.1.1
[R6]ip route-static 5.5.5.0 24 65.1.1.1
先写静态,保证5、6能通。
[R5]bgp 64513
[R5-bgp]peer 6.6.6.6 as-number 3
[R5-bgp]peer 6.6.6.6 connect-interface LoopBack 0
[R5-bgp]peer 6.6.6.6 ebgp-max-hop 2
[R5-bgp]q
[R6]bgp 3
[R6-bgp]router-id 6.6.6.6
[R6-bgp]peer 5.5.5.5 as-number 2
[R6-bgp]peer 5.5.5.5 connect-interface LoopBack 0
[R6-bgp]peer 5.5.5.5 ebgp-max-hop 2
五、检查邻居关系
按理说所有邻居关系要正常建立即可
六、宣告BGP路由
[R1]bgp 1
[R1-bgp]network 1.1.1.1 32
[R1-bgp]q
一路检测过去,发现到R3开始,路由不优,不再传递。(AS-BY-AS特征)
需要R2传给3的时候改一下‘
[R2]bgp 64512
[R2-bgp]peer 3.3.3.3 next-hop-local
修改完之后全部都可以变成优的而且可传递——联邦内EBGP传递不修改属性。
[R6]bgp 3
[R6-bgp]network 6.6.6.6 32
[R6-bgp]q
此时,出现问题,6.6.6.6到R5不优,4学不到路由。分析如下:
5,6间存在逻辑悖论
5到6之间有静态路由,还用这条路由建立BGP邻居关系。
为了建邻写静态,但建邻又是为了传这条路由
静态路由不能删不然邻居建不起来,只能用精确路由
解决方案:
将R5/6环回配成24位掩码的,然后将静态路由改为32位掩码的,最后将宣告改为24位的即可。
[R5]bgp 64513
[R5-bgp]peer 4.4.4.4 next-hop-local
让R1/6知道R2/3/4/5的环回有两种方法:
1、自己各自宣告自己的——但是因为实验环境的特殊性,每台设备都跑BGP(实际工程不可实现)
2、R2/5代为宣告,但是他们的路由表里其他人的环回都是32位的,返回给环回所在路由器的时候还要学一下,所以建议将环回的工作方式改一改,改成broadcast。
[R2-LoopBack0]ospf network-type broadcast
[R2]bgp 64512
[R2-bgp]network 2.2.2.0 24
[R2-bgp]network 3.3.3.0 24
[R2-bgp]network 4.4.4.0 24
[R2-bgp]network 5.5.5.0 24
但是到2.2.2.2到R3之后就不优了(逻辑悖论)。
[R5]bgp 64513
[R5-bgp]network 2.2.2.2 24
[R5-bgp]network 3.3.3.3 24
[R5-bgp]network 4.4.4.4 24
[R5-bgp]network 5.5.5.5 24
这样子逻辑悖论就不影响了。