推荐一下这个博主比较了不同厂商对于BGP命令上的区别
https://cshihong.github.io/2020/04/18/BGP%E7%9F%A5%E8%AF%86%E6%89%8B%E5%86%8C-%E5%8D%8E%E4%B8%BA-%E5%8D%8E%E4%B8%89-%E6%80%9D%E7%A7%91/
结合之前的那篇基础的中的内容,配合实验,看看具体是如何影响选路。
BGP路由优选原则 唯一优选>
BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:
- 该路由目的地的唯一路由,直接优选。
- 对到达同一目的地的多条路由,优选优先级最高的。(思科Weight仅本地路由器有效)


- 对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。
一般来说,BGP计算路由优先级的规则如下:
- 丢弃下一跳不可达的路由。Next Hop 不可达 直接丢弃
- 优选Preference_Value值最高的路由(私有属性, 仅本地AS有效)。
- 优选本地优先级(Local_Preference)最高的路由。
- bgp default local-preference 200
- 优选手动聚合>自动聚合>network>import>从对等体学到的。
- 优选AS_Path短的路由
- 默认起源类型IGP>EGP>Incomplete。
- 对于来自同一AS的路由,优选MED值小的。
- bgp always-compare-med
- bgp deterministic-med
- default-metric 50
- 优选从EBGP学来的路由(EBGP>IBGP:20>200)
- 优选AS内部IGP的Metric最小的路由。
- 优选Cluster_List最短的路由。
- 优选Orginator_ID最小的路由。
- 优选Router_ID最小的路由器发布的路由。
- router-id相同,优选具有较小IP地址的邻居学来的路由。
- R1到R9 9.9.9.9 优选AS_Path短的路由 IBGP 大于EBGP

- 其他的优选从EBGP学来的路由(EBGP>IBGP:20>200)
- EBGP next hop 下跳不可达 我单独写了静态保证路由可达 如果不写的话
- 直接就是丢弃下一跳不可达的路由。Next Hop 不可达 直接丢弃

比如现在 我们想要修改去R3 的 路径 不走R4 走R2
那么 我们只需在R1 修改和R2IBGP邻居的weight即可
neighbor 192.168.12.2 weight 10
clear ip bgp *

可以看出weight 优先级最高


可以看出 weight 本地属性不具有全局特点 只在本地路由器上影响。对于相同AS内的其他路由器不影响。
只想修改R1到R3 走 R2可以利用route map
可以在R2向R1宣告网络设置local-preference
- route-map PBR permit 10
- match ip address 10
- set local-preference 150!
- !
- access-list 10 permit 3.3.3.3
- !
- router bgp 100
- bgp router-id 2.2.2.2
- bgp log-neighbor-changes
- neighbor 192.168.12.1 remote-as 100
- neighbor 192.168.12.1 route-map PBR out
- neighbor 192.168.23.3 remote-as 200

也可以在 R1 上in方向上调用策略

团体属性
- set community community-number [additive] [well-known-community]
- no-export—Do not advertise to eBGP peers. Keep this route within an AS.
- 携带此属性的路由不会传出本AS外,只会传给IBGP。(联盟内公有AS内会传递)。
- no-advertise—Do not advertise this route to any peer, internal or external.
- 携带此属性的路由不会通告给任何BGP邻居。也就是说只传达给一个邻居
- internet—Advertise this route to the Internet community. Any router belongs to this community.
- 携带此属性的可以任意传播不受AS的限制
- local-as—Use in confederation scenarios to prevent the transmit of packets outside the local AS.
- 携带此属性的路由只会在联盟内的私有AS内传递。
- 配置参考PBR

反射器
为了使AS200可以正常传递BGP路由 我一开始将AS200内所有IBGP邻居手动指定.每个router都是4条neighbors非常的繁琐 。现在我使用时反射器,只需将选定一个反射器RR5,其他的路由器只需和R5起IBGP邻居即可。
neighbor IP地址 route-reflector-client
BGP 路由反射器 简介 - Rjzr - 博客园
AS内部同步路由

