拓扑图
这里有一个简单的环境,两台路由器 A B 运行EBGP,在B上创建两个环回口 8 9分别配置IP 172.16.8.1/24 、172.16.9.1/24
然后通过手工汇总的方式,把这两条路由合并成172.16.8.0/23
这里为什么讲手工汇总不讲自动汇总,因为自动汇总就是个辣鸡,没鸟用
先把基础配置配好
A
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0 //配置接口IP
bgp 1 //启用BGP进程,设置本地AS号为1
route-id 1.1.1.1 //设置路由器ID
peer 12.1.1.2 as-number 2 //指定BGP对等体更新源地址,指定对等体所属AS
ipv4-family unicast
undo synchronization //关闭同步功能
peer 12.1.1.2 enable //启用对等体邻居建立功能
B
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
bgp 2
router-id 2.2.2.2
peer 12.1.1.1 as-number 1
ipv4-family unicast
undo synchronization
peer 12.1.1.1 enable
在路由器B上创建环回口8,9
interface LoopBack8
ip address 172.16.8.1 255.255.255.0
interface LoopBack9
ip address 172.16.9.1 255.255.255.0
手工汇总方法一
通过创建一条指向NULL 0 接口的汇总静态路由,然后把该路由通告进BGP
ip route-static 172.16.8.0 23 NULL 0
此时查看路由表可以看到一条172.16.8.0 23并且下一跳是指向NULL 0接口的静态路由
然后把这条路由通告进BGP进程中
bgp 2
router-id 2.2.2.2
peer 12.1.1.1 as-number 1
ipv4-family unicast
undo synchronization
network 172.16.8.0 255.255.254.0
peer 12.1.1.1 enable
然后软清一下BGP进程
refresh bgp all export
查看路由器A,B的bgp表以及路由表
B
A
可以看到路由是正常获取到了,但是如果通过这种非BGP正常手段汇总的路由会出现一些问题。
通过BGP正常汇总方式汇总的路由优先级会比非汇总的路由高,而这种方式虽然是汇总了路由条目,但是对于BGP而已,也只是通告了一条非汇总路由而已
BGP正常汇总的路由条目,其原子聚合属性会被置位,而通过这种方式汇总的路由原子聚合属性不会被置位,也就是说对于BGP而已这条路由并不是一条汇总路由,尽管通过这种方式可以访问目的地址
方法二,通过BGP协议正常汇总
先把上一个实验的NULL0路由以及通告进BGP的汇总路由undo掉
[B]undo ip route-static 172.16.8.0 23 NULL 0
[B]bgp 2
[B-bgp]ipv4-family unicast
[B-bgp-af-ipv4]undo network 172.16.8.0 23
然后把换回口8,9正常24位路由通告进BGP中
[B-bgp-af-ipv4]network 172.16.8.0 24
[B-bgp-af-ipv4]network 172.16.9.0 24
然后软清一下BGP进程
refresh bgp all export
此时路由器A上就能收到这两条24位的路由条目了
可以看到没有问题,然后在路由器B上做汇总操作
bgp 2
router-id 2.2.2.2
peer 12.1.1.1 as-number 1
ipv4-family unicast
undo synchronization
aggregate 172.16.8.0 255.255.254.0 detail-suppressed //汇总172.16.8.0,172.16.9.0的路由,并抑制掉明细路由
network 172.16.8.0 255.255.255.0
network 172.16.9.0 255.255.255.0
peer 12.1.1.1 enable
然后软清一下BGP进程
refresh bgp all export
此时在路由器A上查看,就能看到正常汇总的BGP路由了,并且抑制了明细路由
ping 检测一下
可以看到,完全没有问题