当前位置: 首页> 娱乐> 八卦 > 第六章 BGP选路

第六章 BGP选路

时间:2025/7/12 17:58:33来源:https://blog.csdn.net/CloudyZfly/article/details/140698282 浏览次数:0次

第6章 BGP选路

一、BGP选路

BGP路径属性

属性名称作用传递规则默认值
PV --- 权重选路不传递,越大越优0
LP --- 本地优先级选路IBGP对等体之间,越大越优100
  • PV值(Preferred Value):

    • 华为体系“独有”的属性,指代一条路由的权重,权重越大该路由越优先,默认值为0,是用来干涉设备自身选路最常用的属性。

    • 作用:方便人为干涉路由的选举

    • 特点:只能针对自身学习到的路由信息,不能传递

  • LP值(Local Preference):

    • 本地优先级属性,同样越大越优,默认值为100

    • 特点可以传递,但是只能在IBGP对等体之间传递。可以在任意IBGP对等体上配置。

  • MED多出口鉴别属性)

    • MED常用在干涉对端AS中设备访问本AS的路径。

    • AS内部,设备去往目标网段的Cost就是BGP路径属性中默认的MED,等同于路由表中去往该网段Cost的数值。

    • 对于AS内部的用户网段,如果需要在BGP设备中宣告(同时AS存在多个运行BGP的边界设备),那么需要在所有BGP设备中宣告。

    • 特点:MED属性会传递,但是如果由IBGP路由携带该属性,在传递给自身的EBGP对等体是会清除该属性

路由优选

当达到同一个目的网段存在多条路由时,BGP通过以下的次序进行路由优选

  • 丢弃下一跳不可达的路由。

  1. 优选Preferred-Value属性值最大的路由。

  2. 优选LocalPreference属性值最大的路由

    • 以上规则取值越大越优

  3. 本地始发的BGP路由优于从其他对等体学习到的路由。

    • 本地始发的路由优先级优选手动聚合>自动聚合>network>import>从对等体学到的路由。

  4. 优选AS_Path属性值最短的路由。

    • 当一条路由信息发出本AS时会由边界路由器添加该属性

    • 当路由器去往同一目标网段前三条选路规则一致,那么AS_PATH属性短的路由更优

  5. 优选Origin属性最优的路由。

    • Origin属性值按优先级从高到低的排列量:IGP、EGP及Incomplete。

  6. 优选MED属性值最小的路由。

  7. 优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)。

  8. 优选到Next_Hop的IGP度量值最小的路由。

    • 当前8条属性全部相同时可以形成路由负裁分担

  9. 优选Cluster_List簇列表最短的路由(反射器)。

  10. 优选RouterID/Orginator_ID最小的设备通告的路由

  11. 优选具有最小IP地址的对等体通告的路由。

    • 以上规则取值越小越优

前提:只有可用的路由信息才会参与这11条规则选举,从上往下依次比较,一旦选举出来就不再看剩下的规则。

命令

权重值PV

  • 路由PV属性干涉选举

    • 注意该属性只能影响自身,不能传递

    • peer [RID] preferred-value [权重值]

    • 撤销命令,不用加权重值

    • undo peer [RID] preferred-value

  • 利用路由策略做到更加精确的选路

    • if-match ip-prefix pv

    • 路由策略修改路由中的参数

    • apply preferred-value [权重值]

    • 必须添加空表去放通剩下没有修改参数的路由

    • 编号值要足够大

    • route-policy pv permit node [编号]

本地优先级LP

  • 发送路由信息时修改本地优先级

    • default local-preference [优先级]

    • 撤销命令,不用加优先级

    • undo default local-preference

  • 路由策略中修改参数

    • apply local-preference [LP值]

优选AS_Path值短的路由

  • 添加AS号,可以添加多个

    • 在原来AS号基础上添加(更好)

    • apply as-path [AS1] [AS2] [ASn] additive

    • 将原来AS号覆盖再添加

    • apply as-path [AS1] [AS2] [ASn] overwrite

  • 调用路由策略,注意方向

    • 如果是出向修改 添加AS号在最前面

      如果是入向修改 添加AS号在最后面

    • peer [RID/IP] route-policy [策略名] export

配置

首先进行基础IP和环回配置。

 # BGP配置,注意EBGP对等体用直连IP建立[R1-bgp]peer 12.0.0.2 as-number 200[R1-bgp]peer 13.0.0.2 as-number 200[R2-bgp]peer 12.0.0.1 as-number 100[R2-bgp]peer 4.4.4.4 as-number 200[R2-bgp]peer 4.4.4.4 connect-interface LoopBack 0[R3-bgp]peer 13.0.0.1 as-number 100[R3-bgp]peer 4.4.4.4 as-number 200[R3-bgp]peer 4.4.4.4 connect-interface LoopBack 0[R4-bgp]peer 2.2.2.2 as-number 200[R4-bgp]peer 3.3.3.3 as-number 200[R4-bgp]peer 45.0.0.2 as-number 300[R4-bgp]peer 2.2.2.2 connect-interface LoopBack 0[R4-bgp]peer 3.3.3.3 connect-interface LoopBack 0[R5-bgp]peer 45.0.0.1 as-number 200​# 修改下一跳属性[R2-bgp]peer 4.4.4.4 next-hop-local[R3-bgp]peer 4.4.4.4 next-hop-local[R4-bgp]peer 2.2.2.2 next-hop-local[R4-bgp]peer 3.3.3.3 next-hop-local​# R1宣告环回网段发布路由信息[R1]ip route-static 10.0.0.1 24 NULL 0[R1-bgp]network 1.1.1.0 24[R1-bgp]network 10.0.0.0 24​# 此时查表R4发现R1路由均选择上路R2,下路R3可用但不是最优[R4-bgp]display bgp routing-table
权重PV值

规则1:权重越大越优,只针对自身PV值,不会传递。

 ### 修改权重[R4-bgp]peer 3.3.3.3 preferred-value 1000​# 再次查表发现路由选择走下路R3,上路可用不优,但是这样分配并不合理,R3压力会变大,我们先撤回命令[R4-bgp]undo peer 3.3.3.3 preferred-value​### 路由策略,我们选择上路抓取1.0网段,下路抓取10.0网段# 创建前缀列表pv抓取10.0网段[R4]ip ip-prefix pv permit 10.0.0.0 24​# 创建路由策略pv[R4]route-policy pv permit node 10​# 匹配前缀列表[R4-route-policy]if-match ip-prefix pv​### 修改权重值,大于零即可[R4-route-policy]apply preferred-value 10​## 调用路由策略,注意是在进入方向修改权重[R4-bgp]peer 3.3.3.3 route-policy pv import​# 此时查表发现10.0网段成功选择下路R3,且有备用选路,当R3出问题时仍会选择走上路R2;但是1.0网段没有备用选路,因为路由策略只抓取了10.0网段[R4-bgp]display bgp routing-table​### 创建空表放通剩下流量,让1.0网段也有备用路线[R4]route-policy pv permit node 1000
本地优先级

规则2:越大越优,可以传递,但是只能在IBGP对等体之间传递。

 # 先删除路由策略还原路由环境[R4]undo route-policy pv​### 修改本地优先级,大于默认值100即可[R3-bgp]default local-preference 200​# 查表发现路由信息均选择走下路R3[R4]display bgp routing-table# 展开详细BGP表特定路由信息[R4]display bgp routing-table 1.1.1.0 24​# 这样并不合理,删除命令[R3-bgp]undo default local-preference​### 路由策略lp# 创建前缀列表lp[R3]ip ip-prefix lp permit 10.0.0.0 24[R3]route-policy lp permit node 10[R3-route-policy]if-match ip-prefix lp​### 修改本地优先级[R3-route-policy]apply local-preference 1000​## 创建空表放通剩下流量[R3]route-policy lp permit node 1000​# 调用路由策略,注意是发出方向[R3-bgp]peer 4.4.4.4 route-policy lp export​# 查表发现路由分路成功[R4]display bgp routing-table
规则验证
本地始发
 ##### 规则3### 本地始发路由优于从其他设备学习到的[R2]ip route-static 1.1.1.0 24 NULL 0[R2-bgp]network 1.1.1.0 24# 查表发现1.0网段有两条,本地宣告的可用且优且下一跳为0.0.0.0;R1传递的只有可用[R2-bgp]display bgp routing-table​### 手动聚合>自动聚合>network>import>从对等体学到的路由# 创建两条空接口静态并重发布[R1]ip route-static 172.16.0.0 24 NULL 0[R1]ip route-static 172.16.1.0 24 NULL 0[R1-bgp]import-route static# 手工聚合并明细抑制全部[R1-bgp]aggregate 172.16.0.0 23 detail-suppressed​# 这里也可以直接创建并宣告23网段,无需明细抑制[R1]ip route-static 172.16.0.0 23 NULL 0[R1-bgp]network 172.16.0.0 23​# 查表发现优选手动聚合>本地宣告>重发布[R1-bgp]display bgp routing-table
AS_Path最短
 ##### 规则4 ### 优选AS_Path属性值最短的路由# 先删除路由策略还原环境,此时路由均走上路R2[R3]undo route-policy lp​### 路由策略[R1]ip ip-prefix as permit 10.0.0.0 24[R1]route-policy as permit node 10[R1-route-policy]if-match ip-prefix as​### 在原来AS号基础上添加AS_Path值[R1-route-policy]apply as-path 1 2 3 additive# 这样写增加了新的AS号,容易造成路由传递的障碍,因为后续如果有新的AS号相同则设备不会学习传递的路由;如果想用AS修改选路,应选择添加相同的AS号,仅加长,不增加[R1-route-policy]apply as-path 100 100 100 additive​# 创建空表[R1]route-policy as permit node 1000​# 在发出方向调用路由策略[R1-bgp]peer 12.0.0.2 route-policy as export# 查表R4发现10.0网段优选下路R3,AS_Path值为100i[R4]display bgp routing-table
Origin最优

规则5

  • 对于本地始发的路由,network>egp>import。

MED最小
 ##### 规则6### 优选MED属性值最小的路由# 新建立一个环回并宣告[R2-LoopBack1]ip address 100.0.0.1 24[R2-ospf-1-area-0.0.0.0]network 100.0.0.0 0.0.0.255[R2-bgp]network 100.0.0.0 24​### 修改接口OSPF开销值便于观察[R2-LoopBack1]ospf cost 10### 修改OSPF网络类型,还原路由表环回掩码为24(原来是32)[R2-LoopBack1]ospf network-type broadcast### 我们选择在R4中宣告R2的环回,先撤回R2的宣告[R2-bgp]undo network 100.0.0.0 24[R4-bgp]network 100.0.0.0 24​# 此时查表发现MED值变为11,即R4到该网段的开销值[R4]display bgp routing-table​# R4宣告环回并查看R1[R4-bgp]network 4.4.4.0 24### 路由策略[R3]ip ip-prefix med permit 4.4.4.0 24[R3]route-policy med permit node 10[R3-route-policy]if-match ip-prefix med# 修改开销值并调用路由策略(出接口)[R3-route-policy]apply cost 10[R3-bgp]peer 13.0.0.1 route-policy med export## R2同理[R2]ip ip-prefix med permit 4.4.4.0 24[R2]route-policy med permit node 10[R2]route-policy med permit node 1000[R2-route-policy]if-match ip-prefix med# 这里选择修改开销值为20[R2-route-policy]apply cost 20[R2-bgp]peer 12.0.0.1 route-policy med export​# 查表发现R1到R4环回有两条路,优选MED值为10的下路R3[R1]display bgp routing-table
EBGP对等体
 ##### 规则7### 优选从EBGP对等体学来的路由# R1、R5分别建立同一个空接口静态路由并宣告[R1]ip route-static 200.0.0.0 24 NULL 0[R1-bgp]network 200.0.0.0 24[R5]ip route-static 200.0.0.0 24 NULL 0[R5-bgp]network 200.0.0.0 24​# 查表R4发现同一网段优选从EBGP对等体学习到的[R4]display bgp routing-table
IGP最小

规则8

  • 优选到Next_Hop的IGP度量值最小的路由

  • 即到达下一跳IGP的Cost值更小的路由会被优选。

Cluster_List最短

规则9

  • 优选反射器场景中簇列表最短的路由

  • 即在一个IBGP环境中有2条以上的路径,由EBGP对等体发送一条路由到对端另一个EBGP对等体,因为IBGP对等体的水平分割,需要将IBGP内部中间的设备配置为反射器RR来进行路由传递,那么对端EBGP设备会选择反射次数最少的那一条路径传递的路由。

RID/起源者ID最小

规则10

  • 从之前一系列练习发现,在没有其他配置下,路由均优选R2而非R3这条路径,因为R2的RID更小

  • 由于规则9只能优选反射器设备数量不同的情况,如果反射次数相同,则会优选起源者ID最小的路径,即反射路由来源设备Orginator_ID最小的路径。

  • 如图:这里中间R10、R11设备配置为反射器RR,R12会选择上路的路由,因为反射设备R10的起源者ID为R8的8.8.8.8比R9小。

最小IP地址对等体通告

规则11

  • 优选具有最小IP地址的对等体通告的路由

  • 即当反射设备起源者ID相同时(为同一设备),会优选最后反射设备的IP路由,即对端设备的对端路由最小的路径。

二、BGP社团属性

场景

如下图所示,AS 600内有大量的路由被发布到了BGP,这些路由所指向的目的网段分别用于办公及生产两种业务。AS 600的边界路由器将这些BGP路由通告给AS 23。现在AS 23内的路由器基于某种需求,需要分别对到达生产及办公网段的路由执行不同的路由策略,那么该如何匹配感兴趣路由呢?使用ACL或者前缀列表一条一条地匹配路由么?那样的话效率就太低了,因为路由的数量相当多,而且AS 23可能未必知道AS 600中究竟具体哪些网段用于生产业务,哪些用于办公业务。

Community属性能够很好地解决这个问题。

格式

Community属性是一个可选传递属性,它类似于路由的“标记”,我们可以针对特定的路由设置特定的Community属性值,而下游路由器在执行路由策略时,可以通过Community属性值来匹配目标路由

社团属性其本质是由32位二进制构成并且拥有多种表达格式

  • 直接使用十进制来标志,即 十进制 : 十进制

  • 十六位二进制 : 十六位二进制(前16位一般是本地AS的AS号,后16位是自定值)。

在一条路由条目中,我们可以给他标识多个社团属性

公认属性

BGP中定义了几个公认的社团属性,即给路由条目打上这样的社团属性,将必须按照BGP设定的动作来执行。

  • 0X00000000 --- internet --- 如果通过全0的社团属性来抓取流量,则将抓取到所有BGP的流量。 即BGP的所有流量缺省情况下都属于"internet"(全部传递)。

  • 0XFFFFFF02 --- no-advertise --- 如果给一条路由条目打上这个社团属性,则这条路由信息将无法发送给自己的IBGPEBGP对等体(不想传递)。

  • 0XFFFFFF01 --- no-export --- 如果给一条路由条目打上这个社团属性,则这条路由信息将可以发送给自己的IBGP对等体但是无法发送给自己的EBGP对等体不能离开这个AS),但是可以发送给自己的联邦EBGP对等体关系(限IBGP和联邦EBGP对等体)。

  • 0XFFFFFF03 --- no-export-subconfed --- 如果给一条路由条目打上这个社团属性,则这条路由信息可以发送给自己的IBGP对等体,但是无法发送给自己的EBGP对等体,包括自己的联邦EBGP对等体关系(限IBGP对等体)。

注意:目前大部分厂商在传递BGP路由信息时是默认不传递社团属性的,所以如果需要传递社团属性,需要通过命令开启。

命令

社团属性

  • 路由策略中选择社团属性

    • 抓取全部BGP流量

    • apply community internet

    • 不传递BGP路由信息

    • apply community no-advertise

    • 只传递IBGP和联邦EBGP对等体路由信息

    • apply community no-export

    • 只传递IBGP对等体路由信息

    • apply community no-export-subconfed

    • 清空社团属性

    • apply community none

  • 开启BGP传递社团属性功能

    • 设备默认关闭了社团属性的传递功能

    • peer [RID/IP] advertise-community

  • 删除社团属性配置

    • undo apply community

使用社团属性来抓取流量

  • 路由策略中设置社团属性标签

    • 可以用十进制或十六位二进制表示

    • apply community [十进制:十进制]

    • 匹配社团属性

    • if-match community-filter [编号]

  • 社团属性过滤器,抓取社团属性统一做策略

    • 允许/拒绝路由策略设置的社团属性标签

    • ip community-filter [编号] permit [十进制:十进制]

配置
公有社团属性

这里我们使用之前联邦实验的拓扑图(已经配置完全)。

 # 宣告发布网段[R1-bgp]network 1.1.1.0 24​# 路由策略[R1]ip ip-prefix aaa permit 1.1.1.0 24[R1]route-policy aaa permit node 10[R1-route-policy]if-match ip-prefix aaa# 创建空表放通剩余流量[R1]route-policy aaa permit node 1000​### 社团属性设置为不传递BGP路由[R1-route-policy]apply community no-advertise​# 调用路由策略[R1-bgp]peer 12.0.0.2 route-policy aaa export​### 开启传递社团属性[R1-bgp]peer 12.0.0.2 advertise-community​### 查看R1的BGP详细信息[R2]display bgp routing-table 1.1.1.0 24# 此时查看R3发现没有收到1.1.1.0网段证明修改成功[R3]display bgp routing-table​## 再创建一个空接口静态并发布[R1]ip route-static 10.0.0.0 24 NULL 0[R1-bgp]network 10.0.0.0 24# 此时查表发现1.0网段可以传递到R6### 修改社团属性为只传递IBGP和联邦EBGP对等体,正确的结果应该是1.0网段无法传递到R6,10.0网段可以[R1]route-policy aaa permit node 10[R1-route-policy]apply community no-export​### 注意要开启每个设备的社团属性传递功能[R2-bgp]peer 3.3.3.3 advertise-community[R3-bgp]peer 4.4.4.4 advertise-community[R4-bgp]peer 5.5.5.5 advertise-community# 查看详细BGP信息检查社团属性是否传递成功[R4]display bgp routing-table 1.1.1.0 24​# 这里我们已经配置过了,如果没有则需要修改R2的本地下一跳来传递路由# 查表发现10.0网段成功传递,而1.0网段没有[R6]display bgp routing-table

 # 前缀列表抓取10.0网段并创建路由策略[R1]ip ip-prefix bbb permit 10.0.0.0 24[R1]route-policy bbb permit node 10[R1-route-policy]if-match ip-prefix bbb​### 设置社团属性标签[R1-route-policy]apply community 1:1​# 调用路由策略[R1-bgp]network 10.0.0.0 24 route-policy bbb# 查看社团属性[R2]display bgp routing-table 10.0.0.0 24​## 使用社团属性来抓取流量(之前用的前缀列表)### 抓取社团属性统一做策略,编号为1,标签1:1[R2]ip community-filter 1 permit 1:1​# R2创建路由策略com抓取社团属性[R2]route-policy com permit node 10​### 匹配社团属性过滤器,编号为1[R2-route-policy]if-match community-filter 1​# 修改路由权重值便于观察[R2-route-policy]apply preferred-value 10000​# 调用路由策略com[R2-bgp]peer 12.0.0.1 route-policy com import​# 查表发现10.0网段成功传递[R2]display bgp routing-table

三、实验

BGP综合实验

要求:

  1. AS1存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告(R1和R8建立GRE隧道) AS3中存在两个环回,一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,最终要求这两个环回可以互相通讯。

  2. 整个AS2的IP地址为172.16.0.0/16,请合理划分。

  3. AS间的骨干链路IP地址随意定制。

  4. 使用BGP协议让整个网络所有设备的环回可以互相访问(OSPF)。

  5. 减少路由条目数量,避免环路出现(路由聚合)。

配置
子网划分

用户网段(24)

172.16.0.0/16 借8位统一用24网段

  • 172.16.0.0/24

  • 172.16.1.0/24

  • 172.16.2.0/24

  • 172.16.3.0/24 。。。

骨干链路(30)

172.16.1.0/24 借6位 --- 172.16.000001 00.0

  • 172.16.1.0/30

  • 172.16.1.4/30

  • 172.16.1.8/30

  • 172.16.1.12/30

  • 172.16.1.16/30

  • 172.16.1.20/30

BGP建邻(32)

172.16.0.0/32 分配给R2~R7,建议用IP用对应编号

  • 172.16.0.2/32

  • 172.16.0.3/32

  • 172.16.0.4/32

  • 172.16.0.5/32

  • 172.16.0.6/32

  • 172.16.0.7/32

首先按进行基础IP和环回配置。

 # 环回配置[R1-LoopBack0]ip address 192.168.1.1 24[R8-LoopBack0]ip address 192.168.2.1 24[R1-LoopBack1]ip address 10.0.0.1 24[R8-LoopBack1]ip address 11.0.0.1 24​### 32网段单独给BGP使用[R2-LoopBack0]ip address 172.16.0.2 32[R3-LoopBack0]ip address 172.16.0.3 32[R4-LoopBack0]ip address 172.16.0.4 32[R5-LoopBack0]ip address 172.16.0.5 32[R6-LoopBack0]ip address 172.16.0.6 32[R7-LoopBack0]ip address 172.16.0.7 32​### 24网段给用户网段使用[R2-LoopBack1]ip address 172.16.2.1 24[R3-LoopBack1]ip address 172.16.3.1 24[R4-LoopBack1]ip address 172.16.4.1 24[R5-LoopBack1]ip address 172.16.5.1 24[R6-LoopBack1]ip address 172.16.6.1 24[R7-LoopBack1]ip address 172.16.7.1 24​### 配置OSPF使环回连通# 注意这里后16位均有改变,所以都要设置为255;只为了连通环回就没有必要设置RID[R2-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255# R3~R7同理配置[R3-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255...
环回建邻

使用环回建立BGP对等体一般需要提前规划IP地址,单独给BGP使用,直接划分到32网段,避免地址浪费

 # EBGP对等体使用直连建邻[R1]bgp 1[R1-bgp]router-id 1.1.1.1[R1-bgp]peer 12.0.0.2 as-number 2​### R2联邦[R2]bgp 64512[R2-bgp]router-id 2.2.2.2# 声明所处的公有AS号,必须在建邻之前声明[R2-bgp]confederation id 2# 声明对端建邻对等体的私有AS号,注意顺序不能改[R2-bgp]confederation peer-as 64513[R2-bgp]peer 12.0.0.1 as-number 1# 环回建邻并指定接口[R2-bgp]peer 172.16.0.3 as-number 64512[R2-bgp]peer 172.16.0.3 connect-interface LoopBack 0[R2-bgp]peer 172.16.0.5 as-number 64513[R2-bgp]peer 172.16.0.5 connect-interface LoopBack 0# 修改联邦EBGP对等体之间的TTL值[R2-bgp]peer 172.16.0.5 ebgp-max-hop## R3[R3-bgp]confederation id 2[R3-bgp]peer 172.16.0.2 as-number 64512[R3-bgp]peer 172.16.0.2 connect-interface LoopBack 0[R3-bgp]peer 172.16.0.4 as-number 64512[R3-bgp]peer 172.16.0.4 connect-interface LoopBack 0### R4联邦[R4-bgp]confederation id 2[R4-bgp]confederation peer-as 64513[R4-bgp]peer 172.16.0.3 as-number 64512[R4-bgp]peer 172.16.0.3 connect-interface LoopBack 0[R4-bgp]peer 172.16.0.7 as-number 64513[R4-bgp]peer 172.16.0.7 connect-interface LoopBack 0[R4-bgp]peer 172.16.0.7 ebgp-max-hop### R5联邦[R5-bgp]confederation id 2[R5-bgp]confederation peer-as 64512[R5-bgp]peer 172.16.0.2 as-number 64512[R5-bgp]peer 172.16.0.2 connect-interface LoopBack 0[R5-bgp]peer 172.16.0.2 ebgp-max-hop[R5-bgp]peer 172.16.0.6 as-number 64513[R5-bgp]peer 172.16.0.6 connect-interface LoopBack 0## R6[R6-bgp]confederation id 2[R6-bgp]peer 172.16.0.5 as-number 64513[R6-bgp]peer 172.16.0.5 connect-interface LoopBack 0[R6-bgp]peer 172.16.0.7 as-number 64513[R6-bgp]peer 172.16.0.7 connect-interface LoopBack 0### R7联邦[R7-bgp]confederation id 2[R7-bgp]confederation peer-as 64512[R7-bgp]peer 172.16.0.4 as-number 64512[R7-bgp]peer 172.16.0.4 connect-interface LoopBack 0[R7-bgp]peer 172.16.0.4 ebgp-max-hop[R7-bgp]peer 172.16.0.6 as-number 64513[R7-bgp]peer 172.16.0.6 connect-interface LoopBack 0[R7-bgp]peer 23.0.0.2 as-number 3## R8[R8-bgp]peer 23.0.0.1 as-number 2# 依次查看对等体是否连通[R2]display bgp peer
路由反射器
 # 宣告发布环回网段[R1-bgp]network 10.0.0.0 24[R8-bgp]network 11.0.0.0 24### 修改下一跳为本地宣发[R2-bgp]peer 172.16.0.3 next-hop-local[R2-bgp]peer 172.16.0.5 next-hop-local### 配置R2为客户,R3自身为RR[R3-bgp]peer 172.16.0.2 reflect-client​## 同理配置备用路径[R7-bgp]peer 172.16.0.4 next-hop-local[R7-bgp]peer 172.16.0.6 next-hop-local[R6-bgp]peer 172.16.0.5 reflect-client​# 查表检查发布路由是否连通[R1]display bgp routing-table[R8]display bgp routing-table# 此时10.0和11.0网段成功连通[R1]ping -a 10.0.0.1 11.0.0.1

GRE环境

因为规定192网段不能宣告,所以我们选择使用环回192网段来建立隧道,这样即使环回断开,网络也能正常使用。

 # 配置IP和协议,这里我们选择100.0网段[R1-Tunnel0/0/0]ip address 100.0.0.1 24[R1-Tunnel0/0/0]tunnel-protocol gre# 规定源/目标IP,这里可以用环回指定[R1-Tunnel0/0/0]source 10.0.0.1[R1-Tunnel0/0/0]destination 11.0.0.1​# R8同理[R8-Tunnel0/0/0]ip address 100.0.0.2 24[R8-Tunnel0/0/0]tunnel-protocol gre[R8-Tunnel0/0/0]source 11.0.0.1[R8-Tunnel0/0/0]destination 10.0.0.1​# 检测连通性[R8]ping -a 100.0.0.2 100.0.0.1​### 配置到对端的静态路由[R1]ip route-static 192.168.2.0 24 100.0.0.2[R8]ip route-static 192.168.1.0 24 100.0.0.1​# 检测连通性,成功连通[R1]ping -a 192.168.1.1 192.168.2.1
路由聚合
 # 先创建两个空接口静态路由做示范[R1]ip route-static 172.16.1.0 24 NULL 0[R1]ip route-static 172.16.2.0 24 NULL 0​### 重发布静态路由[R1-bgp]import-route static​### 法一:手工汇总为22网段并明细抑制[R8-bgp]aggregate 172.16.0.0 22 detail-suppressed​### 法二:路由策略[R8]ip ip-prefix aaa permit 172.16.1.0 24[R8]ip ip-prefix aaa permit 172.16.2.0 24[R8]route-policy aaa permit node 10[R8-route-policy]if-match ip-prefix aaa# 调用抑制策略[R1-bgp]aggregate 172.16.0.0 22 suppress-policy bbb​# 查表检验发现成功抑制[R8]display bgp routing-table

关键字:第六章 BGP选路

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: