BGP基础配置

一、BGP的基础配置
【1】建立邻居关系—BGP基于单播进行建邻和沟通,故需要管理员手工指

定邻居的ip地址;
1)使用直连接口ip地址来建立EBGP邻居关系
	[r1]bgp 1   启动时需要定义真实的AS号,没有多进程概念
	[r1-bgp]router-id 1.1.1.1  建议手工配置RID,--手工—环回最大值---物理接口最大值
	[r1-bgp]peer 12.1.1.2 as-number 2   对端IP地址,及对端所在的AS号
2)实际工程中,一个AS的内部正常具有较为复杂的网络拓扑结构,设备到设备间存在大量的备份和负载均衡;因此建立IBGP邻居关系时,建议使用双方的环回接口来作为源/目IP地址;
	[r3]bgp 2 
	[r3-bgp]router-id 3.3.3.3
	[r3-bgp]peer  2.2.2.2 as-number 2  一旦使用环回接口作为目标ip地址时,也应该修改源为本地的环回接口ip地址
	[r3-bgp]peer  2.2.2.2 connect-interface LoopBack 0
3)若EBGP邻居间存在多条直连链路时,也建议使用环回接口来建立;
「1」IP可达
	[r4]ip route-static 5.5.5.0 24 45.1.1.2
	[r4]ip route-static 5.5.5.0 24 54.1.1.2
「2」建立BGP邻居关系
	 [r5]bgp  3 
	 [r5-bgp]router-id 5.5.5.5
	 [r5-bgp]peer  4.4.4.4 as-number 2 
	 [r5-bgp]peer  4.4.4.4 connect-interface LoopBack 0
	 [r4-bgp]peer  5.5.5.5 ebgp-max-hop 2   
	 BGP规定EBGP邻居间默认所有的BGP数据包TTL值为1,导致环回建立邻居关系服务正常
当两端邻居建立配置完成后,将进行tcp的三次握手,建立TCP的会话;
	[r1]display tcp status
	TCPCB    Tid/Soid Local Add:port        Foreign Add:port      VPNID  State
	b4ca4bc8 164/8    12.1.1.1:179          12.1.1.2:50042        0      Established

当TCP会话建立后,BGP协议基于会话收发一次open报文,建立邻居关系,生成邻居表:
[r1]display  bgp peer 
 BGP local router ID : 1.1.1.1
 Local AS number : 1
 Total number of peers : 1                Peers in established state : 1
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv
  12.1.1.2        4           2        6        7     0 00:04:29 Established       0

二、BGP的路由宣告

BGP协议本身不计算生成路由条目;负责转发从其他BGP邻居传递过来的路由条目;
同时可以将本地路由表中任意路由宣告到BGP协议中来;
BGP宣告配置时,只能宣告本地路由表中的路由条目,且宣告配置中网络号的掩码必须和路由表中的记录完全的一致;
	[r1]bgp 1 
	[r1-bgp]network 1.1.1.0 24

当BGP设备进行宣告配置后,本地生成BGP表:装载本地发出及接收到所有BGP路由
[r1]display  bgp routing-table 
 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete
 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   1.1.1.0/24           0.0.0.0          0                      0       i
状态   目标网络号                          属性
*表示可用    >表示条目优秀—可以加表,可以传递(共享给本地的其他邻居)
状态处的i表示该条目通过IBGP邻居关系学习
不优的原因:1、下一跳不可达(因为AS-BY-AS
[r2]bgp 2 
[r2-bgp]peer  3.3.3.3 next-hop-local) 
将BGP路由传输给邻居3.3.3.3时修改下一跳属性为本地(2.2.2.2)条目传递给本地的ebgp邻居,自动修改属性,包括下一跳为本地;
一、关闭自动汇总—在BGP协议中,自动汇总功能默认被关闭;
	切记:在RIP/EIGRP这些IGP中的DV型路由协议中,开启自动汇总,将导致邻居间传递的所有路由条目携带主类的子网掩码
	但在BGP协议中,自动汇总功能对正常的BGP宣告路由无意义,进针对重发布进入BGP协议的路由起效;
	开启自动汇总时:不携带原有掩码,使用主类;不携带cost值;故不建议开启
	[r2-bgp] summary automatic   开启命令
	BGP协议中的宣告可以理解为逐条的重发布;重发布IGP到BGP可以理解为批量的宣告;但两者产生的路由,其起源属性不同,宣告路由由于重发布路由;因此建议若使用重发布,也可宣告一样,每台存在EBGP邻居的BGP路由器均考虑进行一次重发布;

二、手工汇总—BGP称为聚合

【1】 不是BGP的正常聚合配置,利用了BGP的宣告的特征—本地路由表中的路由条目无论来源,无论去向(缺省除外); 先在本地路由表中静态添加一条指向汇总地址的空接口防环路由,然后再在BGP协议中宣告这条空接口路由,减少了宣告明细部分的操作量;
  注:BGP工作在互联网环境下,控制选路的情况十分常见,AS间可以在传递聚合条目的同时,让部分路由器来传递明细路由,可以实现干涉选路的功能;

【2】标准的BGP协议聚合配置; --先逐条宣告本地所有明细路由,再进行聚合配置
	[r1-bgp]aggregate 20.1.0.0 22   配置完成后,本地自动生成空接口防环路由
	此时明细和聚合条目同时发出
	[r1-bgp]aggregate 20.1.0.0 22 detail-suppressed  仅发送聚合条目,不转发明细条目;

基于需要,需要在传递聚合条目的同时,再转发部分的明细路由
1、抑制列表—定制抑制列表,在传递路由过程中,对部分不希望传递的条目进行抑制
	[r1]ip ip-prefix a permit 20.1.1.0 24
	
	[r1]route-policy a permit node 10
	[r1-route-policy]if-match ip-prefix a
	[r1-route-policy]q
	
	[r1]bgp 1 
	[r1-bgp]aggregate 20.1.0.0 22 suppress-policy a   使用抑制规则调用route-policy时,被匹配允许的流量最终被抑制传递

2、分发列表
	[r1]bgp 1   
	[r1-bgp]aggregate 20.1.0.0 22
	
	[r1]ip ip-prefix b deny 20.1.1.0 24
	[r1]ip ip-prefix b permit 0.0.0.0 0 le 32
	
	[r1]bgp 1 
	[r1-bgp]filter-policy ip-prefix b export

3、route-map  在bgp协议中直接调用route-map;
	[r1]bgp 1 
	[r1-bgp]aggregate 20.1.0.0 22
	
	[r1]ip ip-prefix c permit 20.1.1.0 24
	
	[r1]route-policy c deny node 10
	[r1-route-policy]if-match ip-prefix c
	[r1-route-policy]q
	[r1]route-policy c permit node 20
	[r1-route-policy]q
	
	[r1]bgp 1 
	[r1-bgp]peer  12.1.1.2 route-policy c export


4、直接调用前缀列表实现分发
	[r1]bgp 1 
	[r1-bgp]aggregate 20.1.0.0 22
	
	[r1]ip ip-prefix d deny 20.1.1.0  24
	[r1]ip ip-prefix d permit 0.0.0.0 0 le 32
	[r1]bgp 1 
	[r1-bgp]peer 12.1.1.2 ip-prefix d export
三、认证  邻居间保证更新安全
[r1-bgp]peer  12.1.1.2 password  cipher  cisco123   两端的邻居配置需要一致
四、有条件的打破IBGP的水平分割;
IBGP水平分割---避免IBGP环路---从一个IBGP邻居处学习到的路由条目不能传递给本地的其他IBGP邻居;
因为BGP可以非直连建邻,故正常一台运行了BGP协议的路由器,均存在EBGP邻居,需要从其他AS学习路由条目,再共享到内部AS时,由于水平分割的现在,需要和本地AS内所有的BGP设备建立IBGP邻居关系;IBGP邻居关系的数量成指数上升;
有条件打破IBGP水平分割--- 有条件 – 在管理员确定网络无环的前提下,人为的打破水平分割限制建设邻居关系的数量;   
无环的核心思想为AS-BY-AS规则;一条条目在AS内部传递时其属性默认不变化;

【1】路由反射器

3种角色,RR(反射器) 客户端    非客户端     
3者构建一个簇;可以理解为RR为中心站点,客户端或非客户端是分支站点
要求所有分支与中心必须是IBGP邻居关系;
在一个簇中至少存在一台客户端;

规则:
1、RR从一台EBGP邻居处学习到的路由可以传输给本地的客户端、非客户端、其他EBGP邻居
2、RR从一台客户端邻居处学习到的路由,可以传输给本地的其他客户端、非客户端、其他EBGP邻居
3、RR从一台非客户端邻居处学习到的路由条目,可以传输给本地的客户端,其他EBGP邻居;不得传输给本地的其他非客户端;
注意:若路由条目不优,不具有传递性;反射器也无法反射路由;
[r3-bgp]peer 2.2.2.2 reflect-client
该指令的作用,是让2.2.2.2成为本地的客户端,同时本地成为路由反射器;
反射器的防环机制:
1、originator_id:可选非传递属性,若果路由反射器学到的路由反射给他,若果带originator_id,则保留,否则将会给添加一个,并将属性值设为该AS内的router-id值当路由器从对等体学习到IBGP路由时,发现orginator_id和自己的router-id一样则会忽略此路由
2、Cluster_List
当一条可选非传递属性当一条BGP路由被反射器执行了反射,如果存在Cluster_List,那么将本地的附加给Cluster_list若不存在则将自己本地的添加给Cluster_list,当一台路由器收到BGP反射来的路由查看存在Cluster_list则忽略此路由

【2】联邦

将一个真实的大AS,逻辑的分为多个小AS;小AS的编号建议为私有编号;
小AS间构建联邦内的EBGP邻居关系,可以向真实EBGP关系一样传递路由条目,但不修改属性; 对于该大AS外的其他AS,是不知道内部的小AS情况;
1)所有配置全部基于小as号进行
[r3]bgp 64512
 [r3-bgp]router-id 3.3.3.3
 [r3-bgp]pe 2.2.2.2 as-number 64512
 [r3-bgp]pe 2.2.2.2 connect-interface LoopBack 0
 [r3-bgp]pe 4.4.4.4 as-number 64513
 [r3-bgp]pe 4.4.4.4 connect-interface LoopBack 0
 [r3-bgp]peer 4.4.4.4 ebgp-max-hop 2

2)联邦内所有运行BGP协议的设备均声明自己所在的大AS号
[r2]bgp 64512
[r2-bgp]confederation id  2
3)小AS间互指peer;在联邦内的ebgp邻居关系间的两台设备,互相定义对端的小AS号;
[r4-bgp]confederation peer-as 64512
切记:华为设备,必须先定义联邦的id,和互相小AS号后再配置邻居关系建立的命令;
在实际的工程案例中,联邦和反射器是同时被使用,降低配置量;
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值