基本配置
IBGP::用回环建邻
直连:(物理接口)
router bgp 200–启用bgp
bgp router-id 4.4.4.4–手工指定bgp router id
neighbor 12.1.1.1 remote-as 200 手动建立bgp邻居
network 12.1.1.0 mask 255.255.255.0 //宣告依赖路由表;被宣告路由必须在路由表中;被宣告路由必须与路由表中前缀掩码一致;
非直连:–首先环回要通路–TTL=255
router bgp 200–启用bgp
bgp router-id 4.4.4.4–手工指定bgp router id
neighbor 3.3.3.3 remote-as 200 手动建立bgp邻居
neighbor 3.3.3.3 update-source loopback0–修改更新源
show ip bgp summery 查看邻居
show ip bgp //查看bgp路由表
BGP的路由传递 ,传递的是BGP路由表(非全局路由表)的路由信息,只传最优
BGP的路由表在收到路由以后,检验该路的下一跳是否可达,不可达则一定不优
EBGP:用直连建邻;如果使用非直连,修改跳数
直连:
router bgp 2–启用bgp
bgp router-id 2.2.2.2–手工指定bgp router id
neighbor 12.1.1.1 remote-as 1 手动建立bgp邻居
非直连:–不同AS,无IGP,不能直接学习环回,只允许直连建立;
非直连建立需关闭直连检测或修改TTL值 默认TTL=1
router bgp 200–启用bgp
bgp router-id 4.4.4.4–手工指定bgp router id
neighbor 3.3.3.3 remote-as 200 手动建立bgp邻居
neighbor 5.5.5.5 remote-as 300
neighbor 5.5.5.5 update-source loopback0–修改更新源
neighbor 3.3.3.3 update-source loopback0–修改更新源
neighbor 3.3.3.3 disable-connected-check–关闭直连检测–两端都关闭
neighbor 5.5.5.5 ebgp-multihop 2–修改BGP多跳–两端都做
在建立邻居过程中,存在大量相似命令可以使用peer-group(型对等组),减少命令配置条数
router bgp 200
bgp router-id 4.4.4.4
neighbor ccie peer-group–建立
neighbor ccie remote-as 200
neighbor ccie update-source loopback 0–配置
neighbor 3.3.3.3 peer-group ccie–将邻居划入
BGP属性
3个选路(weight影响自己;local影响as内;med影响as间),2个汇总(Atomic-aggregate汇总,会丢失属性;aggregator,标记汇总者),2个反射器防环(originator-id标记起源;cluster-list加入路经的rid),1个防环(as),1个标记起源(origin),1个指出下一跳(next-hop),1个团体属性(community){四个子属性:1. Internet不做任何;2. no-export as之内传递,可以在联盟内传递, 3. no-advertise 不在ibgp,ebgp邻居间传递,禁止传递给其他邻居4. local-as 不向任何ebgp邻居发送,包括联盟的ebgp邻居
}
-
Weight:选路,默认不传递,大优选
Weight有两种改法:修改只能影响本路由器,不能影响到其他路由器,意味着如果as只有一个出口路由器,weight是适用的,多个出口路由器不适用- router bgp 2
neighbor 10.1.34.3 weight 1 //修改该邻居所有传递过来的路由- ip prefix-list a permit 10.1.1.1/32
Route-map a permit 10
Match ip add prefisx-list a
Set weight 1
Route-map a permit 20
Router bgp 2
neighbor 10.1.34.3 route-map a in //只针对一个路由修改weight,注意只能用in方向
- ip prefix-list a permit 10.1.1.1/32
- router bgp 2
-
Origin:标识路由的来源方式;该属性可用来选路,但一般不用于选路
修改方式:route-map
-
AS-path:顺序是最近经过的排前面,一个AS的路由器拒绝接受携带自己AS号的路由,可用来防环;也可用来选路,AS-path短的优先;
修改方法:router-map
我们一般在选路中会重复添加已经历的as,一般不会添加未经过的;适用于ebgp邻居之间,in/out都行
-
Next-hop:IBGP之间传递路由不会更新next-hop(只有next-hop为0.0.0.0的情况才会更新,或者建立邻居时输入 neighbor x.x.x.x next-hop-self 更新为自己的更新源地址);EBGP之间传递路由会更新next-hop为自己的更新源地址
下一跳为0的优于其他路径
修改:方向邻居无所谓,都可以
-
Local pref:与weight一样,选路属性;
不能在ebgp邻居之间传递,可以在ibgp邻居之间传递;值越高越优(默认100),当本as有多个出口路由器时,选择拥有local值大的路由器作为出口路由器。也可以是到达一个网段有多个出口路径时,选择local值大的路径。
修改方法:
1.修改路由器的默认local-pref值,该路由器通告给ibgp邻居的路由都会携带改之后的local值
Router bgp 1
Bgp default local-preference 200
2.通过route-map修改某路由的local-pref值,EBGP只能在in方向,IBGP可以在in/out方向
-
MED:选路属性;本质就是metric,默认为0,一般只能用于自同一个as发出路由的不同路径med值比较;
用于流入as的入口路由器,只能在两个as之间传递,不能传递给第三个as。
一般用于影响对方as,如果在本as使用,和local-pref等同(注意med不能在路由器上修改默认值)。
参数修改:
bgp always-compare-med //开启比较不同as的med -
Atomic-aggregate:汇总属性 aggregate-address
加As-set,继承明细as属性,防环
加summary only 只显示汇总
加advertise-map 显示某些属性
加attribute-map 为聚合后的添加某些属性
8. aggregator:通告汇总路由的汇聚路由器BGP-ID (Cisco)
寻找汇总者方便‘’
- community:团体属性,为了更好的标志bgp路由,标识格式为x:y
团体值的设置不能在ebgp之间,他的传递可以在ibgp或ebgp之间
标记设置:
设置必须在ibgp之间,可以在in/out
匹配设置:
ip bgp-community new-format //开启扩展格式匹配
ip community-list expanded k permit *:111(正则表达式)
用community-list匹配完成之后,用route-map匹配即可
传递设置:
neighbor 10.1.4.4 send-community both //团体属性需传递必须开启该指令
查看设置:
show ip bgp 10.1.1.1 //查看路由详情可以看到团体值
show ip bgp community //该命令查看所有具有团体值的路由条目
show ip bgp community 111 //查看某团体值的所有路由
子属性:
- Internet 默认属性,可以给任何bgp发送,不对携带团体值的路由做任何限制
- no-export 只能在一个as之内传递,可以在联盟内传递,该属性就是限制携带团体值的路由传递给ebgp邻居,联盟ebgp除外
- no-advertise 不在ibgp,ebgp邻居间传递,禁止传递给其他邻居
- local-as 不向任何ebgp邻居发送,包括联盟的ebgp邻居
反射器:中转,非客户端不能相互反射
neighbor 10.2.2.2 router-reflector-client //只在服务端配置,指定客户端
反射器可以反射客户端之间,客户端与非客户端之间的路由,但不可以反射非客户端之间的路由
优点:不用挨个建立邻居
缺点:反射器收到两个或两个以上到达同一目标路径时,bgp只传递最优路径,从而,客户端与非客户端丧失了多条路径判断最优的权利。
-
originator-id :反射服务器收到路由后,将起源者的rid标记,后面的路由器看到自己的rid,不收
-
cluster-list :反射服务器反射出去的路由,会生成列表,加入自己的rid,沿途反射的均加入自己的rid,等收到后,若列表中有自己的rid,忽略