1.实验要求:
2.实施——拓扑搭建
3.配置所有设备
3.1所有底层设备均拥有合理IP地址
sysname R1
#
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 192.168.1.1 255.255.255.0
#
interface LoopBack1
ip address 10.1.1.1 255.255.255.0
sysname R2
#
interface GigabitEthernet0/0/0
ip address 172.16.1.1 255.255.255.252
#
interface GigabitEthernet0/0/1
ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 172.16.1.21 255.255.255.252
#
interface LoopBack0
ip address 172.16.2.1 255.255.255.0
sysname R3
#
interface GigabitEthernet0/0/0
ip address 172.16.1.5 255.255.255.252
#
interface GigabitEthernet0/0/1
ip address 172.16.1.2 255.255.255.252
#
interface LoopBack0
ip address 172.16.3.1 255.255.255.0
sysname R4
#
interface GigabitEthernet0/0/0
ip address 172.16.1.9 255.255.255.252
#
interface GigabitEthernet0/0/1
ip address 172.16.1.6 255.255.255.252
#
interface LoopBack0
ip address 172.16.4.1 255.255.255.0
sysname R7
#
interface GigabitEthernet0/0/0
ip address 172.16.1.13 255.255.255.252
#
interface GigabitEthernet0/0/1
ip address 172.16.1.10 255.255.255.252
#
interface GigabitEthernet0/0/2
ip address 78.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 172.16.7.1 255.255.255.0
#
sysname R6
#
interface GigabitEthernet0/0/0
ip address 172.16.1.17 255.255.255.252
#
interface GigabitEthernet0/0/1
ip address 172.16.1.14 255.255.255.252
#
interface LoopBack0
ip address 172.16.6.1 255.255.255.0
sysname R5
#
interface GigabitEthernet0/0/1
ip address 172.16.1.18 255.255.255.252
#
interface GigabitEthernet0/0/2
ip address 172.16.1.22 255.255.255.252
#
interface LoopBack0
ip address 172.16.5.1 255.255.255.0
sysname R8
#
interface GigabitEthernet0/0/2
ip address 78.1.1.2 255.255.255.0
#
interface LoopBack0
ip address 192.168.2.1 255.255.255.0
#
interface LoopBack1
ip address 10.1.2.1 255.255.255.0
3.2.1起协议(先起AS2 IBGP协议,再起BGP协议——EBGP协议承载于IBGP协议之上)
R2
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 172.16.0.0 0.0.255.255
R3
#
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 172.16.0.0 0.0.255.255
R4
#
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 172.16.0.0 0.0.255.255
R7
#
ospf 1 router-id 7.7.7.7
area 0.0.0.0
network 172.16.0.0 0.0.255.255
R6
#
ospf 1 router-id 6.6.6.6
area 0.0.0.0
network 172.16.0.0 0.0.255.255
R5
#
ospf 1 router-id 5.5.5.5
area 0.0.0.0
network 172.16.0.0 0.0.255.255
3.2.2起BGP协议
R1
#
bgp 1 启动时需要定义AS号,没有多进程概念;一台设备只能在一个AS中工作
router-id 1.1.1.1 建议配置RID;RID的生成规则同OSPF
peer 12.1.1.2 as-number 2 单链路的EBGP邻居关系
对端接口ip地址 对端所在的AS号
network 10.1.1.0 255.255.255.0
切记:BGP协议所宣告路由为本地路由表中任何来源产生的路由信息;
宣告时,所宣告的网络号必须和本地路由表中的记录完全一致
AS2内部使用环回建邻:建立IBGP邻居关系;--由于一个AS的内部大多拓扑冗余比较丰富,
若使用物理接口来作为源、目IP地址建立BGP邻居,将浪费冗余资源;建议使用环回接口作为
源/目ip地址;稳定/且可以同时使用多条链路资源
R2
#
bgp 64512
router-id 2.2.2.2
confederation id 2 声明本地的大AS号
confederation peer-as 64513 对端小AS号
peer 12.1.1.1 as-number 1
peer 172.16.3.1 as-number 64512
peer 172.16.3.1 connect-interface LoopBack0
切记:在使用环回地址作为源、目ip地址时;及要定义目标为对端的环回,
还需要修改本端的源为环回,否则将自动使用本地的物理出口作为源;
peer 172.16.5.1 as-number 64513
peer 172.16.5.1 ebgp-max-hop 2
peer 172.16.5.1 connect-interface LoopBack0
R3
#
bgp 64512
router-id 3.3.3.3
confederation id 2
peer 172.16.2.1 as-number 64512
peer 172.16.2.1 connect-interface LoopBack0
peer 172.16.4.1 as-number 64512
peer 172.16.4.1 connect-interface LoopBack0
peer 172.16.2.1 reflect-client 将R2视为R3的客户端
R4
#
bgp 64512
router-id 4.4.4.4
confederation id 2
confederation peer-as 64513
peer 172.16.3.1 as-number 64512
peer 172.16.3.1 connect-interface LoopBack0
peer 172.16.7.1 as-number 64513
peer 172.16.7.1 ebgp-max-hop 2
peer 172.16.7.1 connect-interface LoopBack0
R7
#
bgp 64513
router-id 7.7.7.7
confederation id 2
confederation peer-as 64512
peer 78.1.1.2 as-number 3
peer 172.16.4.1 as-number 64512
peer 172.16.4.1 ebgp-max-hop 2
peer 172.16.4.1 connect-interface LoopBack0
peer 172.16.6.1 as-number 64513
peer 172.16.6.1 connect-interface LoopBack0
peer 172.16.4.1 next-hop-local
peer 172.16.6.1 next-hop-local
R6
#
bgp 64513
router-id 6.6.6.6
confederation id 2
peer 172.16.5.1 as-number 64513
peer 172.16.5.1 connect-interface LoopBack0
peer 172.16.7.1 as-number 64513
peer 172.16.7.1 connect-interface LoopBack0
peer 172.16.7.1 reflect-client
R5
#
bgp 64513
router-id 5.5.5.5
confederation id 2
confederation peer-as 64512
peer 172.16.2.1 as-number 64512
peer 172.16.2.1 ebgp-max-hop 2
peer 172.16.2.1 connect-interface LoopBack0
peer 172.16.6.1 as-number 64513
peer 172.16.6.1 connect-interface LoopBack0
R8
#
bgp 3
peer 78.1.1.1 as-number 2
#
ipv4-family unicast
undo synchronization
network 10.1.2.0 255.255.255.0
R2
#
ip route-static 172.16.0.0 255.255.248.0 NULL0
#
bgp 64512
network 172.16.0.0 255.255.248.0
本实验当中R2/R7都连接了其他AS,所以R2宣告这条聚合路由,
R7也要宣告
R7
#
ip route-static 172.16.0.0 255.255.248.0 NULL0
#
bgp 64513
network 172.16.0.0 255.255.248.0
1)利用了BGP的宣告的特点,本地路由表中任意路由,不关注来源均可以宣告的BGP中;
不用逐一宣告明细路由,先本地手工静态一条指向汇总网段的空接口防环路由,
然后再将其宣告到BGP协议中来;从IGP表中宣告到BGP协议中的条目,
仅携带目标网络号和度量值;
聚合的缺点是将多个网络号合成一个,导致访问整个聚合网段时,仅存在唯一的路径;
若在多路径建邻的前提下,将无法精确的选路;故在大型的多链路的网络中为了更好
控制选路,必然在传递聚合条目的同时,再在最佳路径处传递部分的明细路由;
若需要在传递聚合条目的同时,传递部分明细路由,只需要在宣告的空接口路由后,
逐一宣告需要的明细路由即可;以上做法的缺点是不能携带原有明细路由的cost值,
因为宣告的是本地路由表中人为添加那条静态空接口路由;
3.3上面要求R1上的192.168.1.0/24不能宣告在任何协议当中,R8也是如此,
我们这里用的点到点GRE来解决192.168.1.0/24和192.168.2.0/24通讯问题
R1
#
interface Tunnel0/0/0
ip address 10.1.0.1 255.255.255.0
tunnel-protocol gre
source 10.1.1.1
destination 10.1.2.1
#
ip route-static 192.168.2.0 255.255.255.0 Tunnel0/0/0
R8
#
interface Tunnel0/0/0
ip address 10.1.0.1 255.255.255.0
tunnel-protocol gre
source 10.1.2.1
destination 10.1.1.1
#
ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/0
4.测试
在这里我们就不一一测试了
5.知识扩展:
我们在R7/R6上查看BGP路由表的时候能看到R7由两条10.1.1.0/24 路由这是什么原因呢?
请看下图:
R1将10.1.1.0 /24 这条路由宣告在BGP当中,到了R2上,R2向R3和R5各传一跳,到时这个过程中,R3/R5都不会优这条路由,因为下一跳不可达(在IBGP邻居间传递路由,其属性不变),所以我们在R2修改向R3/R5传递时的下一跳为本地,之后路由会优,R3优了以后也不传,因为IBGP水平分割的原因;R5会继续传一跳,到R6上以后优以后又不传了,原因是IBGP 水平分割,在这里我们需要调反射器了,在R3上将R2调为R3的客户端,那么R4就是R3的非客户端,在R6上将R7调为R6的客户端,R5为R6的非客户端;这样路由可以继续传递了,到R4了,R4和R7为假EBGP就这样传给R7,R7优以后传给R6,那边还有R5也优了从R2传给R5 的10.1.1.0/24 路由,这样R6上到底优了R7的那条还是优了R5的那条呢?
请看上面,我用红笔画的就是从R7那边学到的bgp路由,蓝笔是从R5那边学到的bgp路由
* 可用
> 优秀
从上面可以看出R6是优了从R5那里学到的那条路由
[R6]dis bgp routing-table peer 172.16.5.1 received-routes
这条命令是查看从R5那里学到的BGP路由
[R6]dis bgp routing-table peer 172.16.5.1 advertised-routes
这条命令是查看给R5发出的BGP路由
其实这个实验道中还有从R8发出10.1.2.0/24BGP路由其实在R2上也有这种情况咱们在做的时候可以多探索一下