一、Lab考试中的基本BGP配置:
首先是在单个AS中,若路由器之间不是全网状互联,则应该配置路由反射器(RR)
如图:
R1和R4连接到其他AS
根据路由反射器规则,RR通过这三条规则来决定将路由公布给谁:
如果路由是从非客户的IBGP对等学习到的,只将它反射给客户。
如果路由是从客户处学习到的,将它反射给除了发起该路由的客户外的所有非客户以及客户。
如果路由是从EBGP对等处学习到的,将它反射给所有的客户和非客户
所以在这个例题中,有两种配置方式:
- R2配置为R1的路由反射器,R3配置为R4的路由反射器
- R2配置为R3的路由反射器,R3配置为R2的路由反射器
二、基本的BGP选路原则:
先说下选路顺序:
- Weight (highest)
- Local-Preference (highest)
- Locally Originated
- AS-Path (shortest)
- Origin (IGP > EGP > ?)
- MED (lowest)
而为了控制选路顺序,我们一般修改下面几个属性:
| 修改的属性 | 应用的方向 | 影响流量的方向 |
| Weight | Inbound | Outbound |
| Local-Preference | Inbound | Outbound |
| AS-Path | Outbound | Inbound |
| MED | Outbound | Inbound |
权重(Weight)和本地优先级(Local-Preference)会影响出站的流量,一般使用neighbor ip_addr route-map ROUTE_MAP in 来修改属性,但是这两个属性略有不同:
- Weight的值只对同一台路由器有效,在同一个AS之内也不会传递
- Local-Preference属性能够在同一个AS内传递
AS-Path和MED会影响进站的流量,一般使用neighbor ip_addr route-map ROUTE_MAP out 来修改属性,但是这两个属性略有不同:
- AS-Path一般用来增加路径上AS的条数,使本线路成为次选,通过set as-path prepend {AS_PATH|last-as X}来附加AS,注意,若路由条目是本AS始发的,就不能使用添加last-as,只能附加其他AS,并且不能向IBGP邻居添加ASpath
- MED,从EBGP学到的路由,MED为0的,所以推荐在两边都修改进站流量的线路,为每个进站口的流量分别设置MED,MED值低的成为首选流量入口,但是从EBGP学到的MED不会传送给EBGP对端,如果只是一边设置,则添加MED的一边,成为次选入口(没修改的那一边默认MED为0,优选)
拓扑:
R2配置为路由反射器,R4通过BGP,network 150.4.4.0 mask 255.255.255.0,R5通过BGP,network 150.5.5.0 mask 255.255.255.0
要求:通往AS54的流量走R3-R5的线路,当R3到R5的线路down掉后,走R1-R4的线路
题目要求调整出站流量的方向,应该修改本地优先级或者权重。由于R1和R3都有路由到达AS54,由于权重不能在AS内传递,这里应该修改本地优先级,应用在进站方向,影响出站的流量,由于要优先走R3-R5的线路,则应该修改R3学到的路由的本地优先级(因为默认从ibgp学到的路由的本地优先级为100,而从ebgp学到的路由没有本地优先级,所以这里应该为ebgp学到的路由设置本地优先级,使从R5学到的路由的本地优先级大于100):
| ip as-path access-list 1 permit _54$ |
其他的选路方法:
使用unsuppress-map,向一端发送更加具体的路由,从而影响进站的线路
R2:
router bgp 100
network 187.1.235.0 mask 255.255.255.0
aggregate-address 187.1.0.0 255.255.0.0 summary-only
neighbor 204.12.1.254 unsuppress-map UNSUPPRESS
!
ip prefix-list NETWORK_235 seq 5 permit 187.1.235.0/24
!
route-map UNSUPPRESS permit 10
match ip address prefix-list NETWORK_235

