目录
BGP的基本配置
1.BGP建邻的基本配置
2.IBGP对等体关系之间的环回建邻
3.EBGP对等体关系之间的非直连建邻
2.发布路由
1.network——在BGP中只能用来发布路由条目信息
2.重发布
.BGP的路由聚合
1.自动聚合
2.手工聚合——一种更加精准的汇总
1.EBGP对等体关系建立
[r1]bgp 1——启动BGP进程 ——这里的1是配置路由器所在AS的编号,
一台设备只能启动一个BGP进程
[r1-bgp]router-id 1.1.1.1 ——配置RID
[r1-bgp]peer 12.0.0.2 (邻居接口的IP地址) as-number 2 (AS号)——指定对等关系(双向)
[r2-bgp]peer 12.0.0.1 as-number 1(双向指定)
[r1]display bgp peer——查看BGP邻居表的命令
由于IBGP邻居处于同一个AS中,一般情况下,一个AS中存在大量的备份路径,
若使用物理接口建邻,将浪费这些备份或者负载均衡资源,
故建议使用环回接口建立IBGP对等体关系
[r2-bgp]peer 2.2.2.2 as-number 2——使用环回接口建邻
但此时手工建立邻居关系的时候所指定的建邻的ip地址必须和收到的数据包中的源ip地址不相同
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0 ——指定在给.3.3.3.3发包时使用的源ip,使用环回地址建邻的时候使用
地址位环回接口0的ip地址——记得要是双向的
注意:砸使用环回接口建立对等关系的时候,一定要修改发送接口
在EBGP对等体关系之间,一般是不具备非直连建邻的路由基础,所以需要先保证双向可达
[r4-bgp]peer 5.5.5.5 ebgo-max-hop 2 ——因为在EBGP中的TTl值是1,想要非直连建邻,则需要将这个值改大——默认255
[r1]network 1.1.1.0 24 ——必须保证发布的信息和路由表中一致
注意:只要是路由表中存在的路由条目信息,BGP都可以
查看BGP表——[r1]display bgp routing-table
Network ——目标网段信息及掩码
Nexthop ——BGP的一个路径属性,谁发的路由信息,下一跳就是谁,如果是自己发的,则下一跳为0.0.0.0
状态码
*————代表可用——设备收到一条路由信息,都会检查其下一跳的可达性,根据下一跳在路由表中递归查询,只要可达,修改路由信息可用
>------------代表优选——当收到到达相同网段存在多条路由信息时,BGP将在其中根据属性优选出一条加载到路由表中,这条优选路由将会赋予这个标记
i————代表从IBGP对等体那学来的
S————代表抑制路由条目的传递
注意:只有一条路由条目是可用且优选的,它才能被加载到路由表中,传递给其他BGp对等体
因为在AS内部存在AS-BY-AS规则,所以默认情况下传递的属性是一致的,因为下一跳也属于路径属性之一,默认情况下也不会传递,可能会导致路由传递失败
[r3-bgp]peer 3.3.3.3 next-hop-local ——将去往3.3.3.3下一跳地址改为本地
通过EBGP学来的路由信息,其标记为EBGP,默认优先级为255
通过IBGP学来的路由信息,其标记为IBGP,默认优先级为255,其下一跳为路径属性中
OGN——起源码——表示路由条目的来源
i——代表该路由信息起源于IGP(在路由表中可以发布的所有,包括静态和直连这些),代表该路由起源于AS内部
E——该路由信息起源于EGP协议——EGP指的是BGP之前使用的外部网关协议,就是小的那个EGP
?——通过除了以上两种方式学习到的路由
[r3-bgp]import route ospf 1 ——将OSPF路由信息导入到BGP中
1.该方法只能针对重发布发布的路由生效
2.只能按照主类进行聚合,会造成巨大的路由黑洞
所以华为设备BGP的自动聚合功能是默认关闭的
1.抓取流量
[r1]ip ip-prefix aa permit 172.16.0.0 22 greater-equal 24 less-equal 24
2.做路由策略
[r1]route-policy aa permit node 10
[r1]if match ip-prefix aa
3.在重发布中导入路由策略
[r1-bgp]import-route direct route-policy aa
4.开启自动聚会
[r1]summary automatic
状态码——S——代表抑制路由条目的传递
通过自动聚合会发布一条新的汇总路由,不携带子网掩码
通过聚合发布的路由信息的下一跳为 127.0.0.1
自动聚合之后发布你的汇总路由会自动产生一条null0口,自动防环
[r1-bgp]aggregate 172.16.0.0 22 ——手工汇总
手工聚合后发布的路由条目将携带掩码信息,其下一跳也是指向 127.0.0.1
并且也会自动生成一条汇总指向空接口的路由防环
但是吧,手工聚合
1.发布聚合路由的情况下,不会一直明细路由,导致汇总操作并没有减少路由条目,反而增加了
2.在进行汇总的时候,发布的汇总路由不会继承明细路由的属性,尤其是AS_PATH属性,会导致汇总路由部分属性缺失,甚至可能出现环路
为了避免以上两个问题的产生,我们必须在配置过程中增加细节
1.在发布手工汇总路由时抑制所有的明细
[r1-bgp]aggregate 172.16.0.0 22 detail-suppressed
因为BGP协议的一些特殊性,我们往往不能将其所有的明细路由全部抑制
只能抑制部分的路由信息,我们需要使用到一种抑制策略——suppressed-policy
1.抓取流量,使用前缀列表
[r4]ip ip-prefix aa permit 172.16.1.0 24
2.使用路由策略匹配流量
[r4]route-policy aa permit node 10
[r4]if match ip-prefix aa
3.使用抑制策略调用路由策略 这玩意只能调用路由策略,不能调用前缀策略
[r4-bgp]aggregate 172.16.0.0 22 suppress-policy aa
对于第二个问题我们专门设计了一个AS_SET关键字,如果在配置命令的时候,将这个关键字记过,则BGP在汇总路由时,将携带上明细的AS_PATH来防环
如果明细路由携带的AS_PATH属性不一样,则在激活了AS_SET属性后,汇总路由将会把明细路由的AS号都携带上,并用 ( ) 括起来,在进行防环的时候,里面所有的AS号都生效,都不能回传,但是再使用AS_PATH属性进行选路的时候,当做一个AS来看待
因为聚合后的路由信息存在属性丢失问题,所以,这样的汇总路由需要格外的关注
为此我们专门引入两个属性
1.ATOMIC_AGGREGATE——预警属性——在所有明细路由都被抑制之后出现
2.AGGREGATOR——携带汇总信息——1.汇总者的RID和其所在的AS号
[r4]display bgp routing-table 网段——查看一条路由的详细情况