BGP基本配置

BGP基本配置,第1张

EBGP

[R1]bgp 100

[R1-bgp-default]peer 100.1.1.2 as-number 200

[R1-bgp-default]address-family ipv4 unicast

[R1-bgp-default-ipv4]peer 100.1.1.2 enable

[R2]bgp 200

[R2-bgp-default]peer 100.1.1.1 as-number 100

[R2-bgp-default]address-family ipv4 unicast

[R2-bgp-default-ipv4]peer 100.1.1.1 enable

IBGP

[R2]bgp 200

[R2-bgp-default]peer 4.4.4.4 as-number 200

[R2-bgp-default]peer 4.4.4.4 connect-interface LoopBack 0

[R2-bgp-default]address-family ipv4 unicast

[R2-bgp-default-ipv4]peer 4.4.4.4 enable

[R2-bgp-default-ipv4]peer 4.4.4.4 next-hop-local

[R4]bgp 200

[R4-bgp-default]peer 2.2.2.2 as-number 200

[R4-bgp-default]peer 2.2.2.2 connect-interface LoopBack 0

[R4-bgp-default]address-family ipv4 unicast

[R4-bgp-default-ipv4]peer 2.2.2.2 enable

[R4-bgp-default-ipv4]peer 2.2.2.2 next-hop-local

display bgp peer ipv4

在 RTC 的 BGP 路由表中,可以看到路由 1.1.1.1/32 的 LOCAL_PREF 值为 100 ,那么要使 RTC 优选 RTD 为下一跳,只需要设置 RTD 发送给 RTC 的 BGP 路由的 LOCAL_PREF 大于 100 即可。

在 RTD 上 BGP 的 IPv4 单播地址族视图下配置 LOCAL_PREF 值:

[RTD]bgp 65300

[RTD-bgp-default]address-family ipv4 unicast

[RTD-bgp-default-ipv4]default local-preference 300

[RTD]bgp 65300

[RTD-bgp-default]address-family ipv4 unicast

[RTD-bgp-default-ipv4]default local-preference 300

越大越优先

[RTB]bgp 65300

[RTB-bgp-default]address-family ipv4 unicast

[RTB-bgp-default-ipv4]default med 100

越小越优先

开启tracert信息

ip unreachablles enable

ip ttl-expires enable

沿途的每个路由器都要开启次功能才行(源和目的也要)

6、BGP路由反射器配置

6.1、将本机作为路由反射器,并将对等体(组)作为路由反射器的客户。

[Huawei]bgp 1

[Huawei-bgp]ipv4-family unicast

[Huawei-bgp-af-ipv4]peer 1.1.1.1 reflect-client

6.2、设置路由反射器的集群ID

[Huawei-bgp-af-ipv4]reflector cluster-id ?

 INTEGER<1-4294967295>  Configure cluster-id as a decimal value

X.X.X.X                Configure cluster-id in IPv4 address format

6.3、禁止客户机之间的路由反射

[Huawei-bgp-af-ipv4]undo  reflect between-clients

6.4、禁止BGP将优选的路由下发到IP路由表

[Huawei-bgp-af-ipv4]bgp-rib-only

在AS内部,为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。当IBGP对等体数目很多时,建立全连接网络的开销很大。使用路由反射器RR(Route Reflector)可以解决这个问题。

集群ID用于防止集群内多个路由反射器和集群间的路由环路。当一个集群里有多个路由反射器时,必须为同一个集群内的所有路由反射器配置相同的集群ID。

如果路由反射器的客户机之间重新建立了IBGP全连接关系,那么客户机之间的路由反射就是没有必要的,而且还占用带宽资源。此时可以配置禁止客户机之间的路由反射,减轻网络负担。

在一个AS内,RR主要有路由传递和流量转发两个作用。当RR连接了很多客户机和非客户机时,同时进行路由传递和流量转发会使CPU资源消耗很大,影响路由传递的效率。

如果需要保证路由传递的效率,可以在该RR上禁止BGP将优选的路由下发到IP路由表,使RR主要用来传递路由。

7、BGP联盟配置

7.1、设置联盟ID。 [Huawei-bgp]confederation id ?

 INTEGER<1-65535>  2-byte AS Number

 STRING<3-11>      4-byte AS Number (number<1-65535>.number<0-65535>)

7.2、设置本地设备属于同一个联盟的子as号(子as号-由as-number指定)

[Huawei-bgp]confederation peer-as 65501 65502 65503

7.3、设置联盟中的标准设备可与非标准设备互通

[Huawei-bgp]confederation nonstandard

同一联盟内不能同时配置2字节AS号的Old Speaker和4字节AS号的New Speaker。因为AS4_Path不支持联盟,这种配置可能会引起环路。

联盟将一个自治系统划分为若干个子自治系统,每个子自治系统内部的IBGP对等体建立全连接关系或者配置反射器,子自治系统之间建立EBGP连接关系。

大型BGP网络中,配置联盟不但可以减少IBGP连接的数量,还可以简化路由策略的管理,提高路由的发布效率。

如果其他交换机的联盟实现机制不同于RFC3065标准,可以配置联盟的兼容性,以便和非标准的设备兼容。

8、BGP协议优先级配置

[Huawei]bgp 100

[Huawei-bgp]ipv4-family unicast

[Huawei-bgp-af-ipv4]preference ?

 INTEGER<1-255>  EBGP route preference  # 外部路由优先级,值越小优先级越高。

               route-policy    Specify a route policy  # 指定BGP协议优先级的路由策略名称。

[Huawei-bgp-af-ipv4]preference 2 ?

INTEGER<1-255>  IBGP route preference  # 内部协议优先级,值越小优先级越高。

[Huawei-bgp-af-ipv4]preference 2 4 ?

INTEGER<1-255>  Local created route preference  # 本地路由的协议优先级。

[Huawei-bgp-af-ipv4]preference 2 4 20 ?

               <cr>  Please press ENTER to execute command

[Huawei-bgp-af-ipv4]preference 2 4 20

目前不支持通过peer route-policy命令在对等体上应用路由策略来设置BGP协议的优先级。

由于交换机上可能同时运行多个动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置一个缺省优先级。在不同协议发现同一条路由时,优先级高的路由将被优选。

缺省外部优先级和内部优先级表

9、BGP Next_Hop属性配置

9.1、设置BGP设备向IBGP对等体(组)发布来自EBGP的对等体路由时,把下一跳设置为自身的IP地址。

[Huawei]bgp 65507

[Huawei-bgp]ipv4-family unicast

[Huawei-bgp-af-ipv4]peer 1.1.1.1 next-hop-local

9.2、配置BGP按路由策略进行下一跳迭代。

[Huawei-bgp-af-ipv4]nexthop recursive-lookup route-policy test

3、设置发布引入IGP路由时不改变IGP路由的下一跳地址

[Huawei-bgp-af-ipv4]peer 1.1.1.1 next-hop-invariable

对于从直连EBGP对等体收到的路由,nexthop recursive-lookup route-policy route-policy-name命令不生效。

当ASBR将从EBGP邻居学到的路由转发给IBGP邻居时,默认不修改下一跳。IBGP邻居收到该路由后,会发现下一跳不可达,于是将该路由设为非活跃路由,不通过该路由指导流量转发。

当希望IBGP邻居通过该路由指导流量转发时,可以在ASBR上配置向IBGP对等体(组)转发路由时,将自身地址作为下一跳。这时,IBGP邻居收到ASBR从EBGP邻居学习来的路由后,发现下一跳可达,于是将路由设为活跃路由。

当BGP路由发生变化时,BGP需要对非直连的下一跳重新进行迭代。如果不对迭代后的路由进行任何限制,则BGP可能会将下一跳迭代到一个错误的转发路径上,从而造成流量丢失。此时,可配置BGP按路由策略迭代下一跳,避免流量丢失。

10、BGP路由信息的首选值配置

[Huawei-bgp-af-ipv4]peer ?

 STRING<1-47>  Specify a peer-group

X.X.X.X       Specify an IPv4 peer address

[Huawei-bgp-af-ipv4]peer 1 preferred-value ?

INTEGER<0-65535>  Preference value # 为从指定对等体学来的所有路由配置首选值。

协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。当BGP路由表中存在到相同目的地址的路由时,将优先选择协议首选值高的路由。

11、BGP本机缺省Local_Pref属性配置

[Huawei-bgp-af-ipv4]default local-preference ?

INTEGER<0-4294967295>  Specify a local preference

Local_Pref属性用于判断流量离开AS时的最佳路由。当BGP的设备通过不同的IBGP对等体得到到AS外的目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由。

12、BGP AS_Path属性配置

12.1、创建路由策略的节点,并进入路由策略视图。

[Huawei]route-policy ?

STRING<1-40>  Name of the route policy

[Huawei]route-policy 1 ?

deny    Specify a deny rule

 permit  Specify a permit rule

[Huawei]route-policy 1 permit ?

node  Node of the route policy

[Huawei]route-policy 1 permit node ?1

INTEGER<0-65535>  Index of the node

[Huawei-route-policy]

12.2、设置BGP路由的as_path属性

[Huawei-route-policy]apply as-path 65503 10.10 ?

INTEGER<1-65535>  AS Number to be appended or replaced

STRING<3-11>      <1-65535>.<0-65535>

additive          Append to original As Number #在原有路由的as路径列表中添加指定的AS编号

overwrite         Overwrite original As Number #覆盖原有的as-path列表路径。

12.3、向对等体(组)路由添加AS_Path属性。

[Huawei-bgp-af-ipv4]peer 1.1.1.1 route-policy 1 ?

export  Specify export policy  # 对向对等体(组)发布的路由添加AS_Path属性。

import  Specify import policy  #对从对等体(组)接收的路由添加AS_Path属性。

12.4、对BGP引入的路由添加AS_Path属性。

[Huawei-bgp-af-ipv4]import-route ospf 1 route-policy 1  # 对BGP以import方式引入的路由添加AS_Path属性

[Huawei-bgp-af-ipv4]network 1.1.1.1 24 route-policy 1  # 对BGP以network方式引入的路由添加AS_Path属性

12.5、不将AS_Path属性作为选路条件。

[Huawei-bgp-af-ipv4]bestroute as-path-ignore

12.6、允许本地AS编号重复出现

[Huawei-bgp-af-ipv4]peer 1.1.1.1 allow-as-loop ?

 INTEGER<1-10>  Number of repeating times of AS Path

 <cr>

12.7、配置发送EBGP更新报文时,AS_Path属性中仅携带公有AS编号。

[Huawei-bgp-af-ipv4]peer 1.1.1.1 public-as-only

12.8、配置AS_Path属性中AS号的最大个数

[Huawei-bgp]as-path-limit ?

 INTEGER<1-2000>  The maximum number of AS numbers, default is 255

 <cr>

12.9、配置EBGP对等体的伪AS编号。缺省EBGP对等体使用真实的AS号与本端建立连接。

[Huawei-bgp]peer 10.101.10.1 fake-as ?

INTEGER<1-65535>  2-byte autonomous system number

STRING<3-11>      4-byte autonomous system number

             (number<1-65535>.number<0-65535>)

配置undo check-first-as命令后产生环路的可能性增大,请慎重使用。

执行命令undo check-first-as,配置取消检查EBGP对等体发来的更新消息中AS_Path属性的第一个AS号。

缺省情况下,BGP检查EBGP对等体发来的更新消息中AS_Path列表的第一个AS号。

配置更改后,如果希望对已接收的路由重新进行检查,可在用户视图下配置refresh bgp命令。

AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。配置不同的AS_Path属性功能,可以实现灵活的路由选路。

通常情况下,AS_Path属性内AS_Path数量作为BGP选路条件。当不需要AS_Path属性作为选路条件时,可以配置不将AS_Path属性作为选路条件。

通常情况下,BGP通过AS号检测路由环路。但在Hub and Spoke组网方式下,为保证路由能够正确传递,从Hub-CE发布私网路由到Spoke-CE途中经过的相关BGP对等体需要配置允许AS_Path中AS号重复1次的路由通过。

公有AS号可以直接在Internet上使用,私有AS号直接发布到Internet上可能造成环路现象。为了解决上述情况,可以在把路由发布到Internet前,配置发送EBGP更新报文时,AS_Path属性中仅携带公有AS编号。

在重构AS_Path或聚合生成新路由时,可以对AS_Path中的AS号最大个数予以限制。配置AS_Path属性中AS号的最大个数后,接收路由时会检查AS_Path属性中的AS号是否超限,如果超限则丢弃路由。

通常情况下,一个设备只支持一个BGP进程,即只支持一个AS号。但是在某些特殊情况下,例如网络迁移更换AS号的时候来为了保证网络切换的顺利进行,可以为指定对等体设置一个伪AS号。

BGP会检查EBGP对等体发来的更新消息中AS_Path列表的第一个AS号,确认第一个AS号必须是该EBGP对等体所在的AS。否则,该更新信息被拒绝,EBGP连接中断。如果不需要BGP检查EBGP对等体发来的更新消息中AS_Path列表的第一个AS号,可以去使能此功能。

BGP路由技术和配置这边就不介绍了,本章主要介绍在BGP邻居建立成功的情况下启用BFD链路检测功能。

BFD(Bidirectional Forwarding Detection,双向转发检测)协议提供一种轻负载、快速检测两台邻接路由器之间转发路径连通状态的方法。协议邻居通过该方式可以快速检测到转发路径的连通故障,加快启用备份转发路径,提升现有网络性能。

BFD报文有两种类型分别是控制报文和回声报文。其中回声报文只有BFD会话本端系统关心远端不关心,因此协议没有规定其具体格式。协议只规定了控制报文的格式,目前控制报文格式有两个版本(版本0和版本1),BFD会话建立缺省采用版本1,但如果收到对端系统发送的是版本0的报文,将自动切换到版本0来建立会话,可以通过show bfd neighbors命令察看采用的版本。版本1的格式如图表1:

Vers:BFD协议版本号,目前为1

 Diags:给出本地最后一次从UP状态转到其他状态的原因,包括:

0—没有诊断信息

1—控制超时检测

2—回声功能失效

3—邻居通告会话Down

4—转发面复位

5—通道失效

6—连接通道失效

7—管理Down

 Sta:BFD本地状态,取值为:0代表AdminDown,1代表Down,2代表Init,3代表Up;

 P:参数发生改变时,发送方在BFD报文中置该标志,接收方必须立即响应该报文

 F:响应P标志置位的回应报文中必须将F标志置位

 C:转发/控制分离标志,一旦置位,控制平面的变化不影响BFD检测,如:控制平面为OSPF,当OSPF重启/GR时,BFD可以继续检测链路状态

 A:认证标识,置位代表会话需要进行验证

 D:查询请求,置位代表发送方期望采用查询模式对链路进行检测

 M:用于将来应用点到多点时使用,目前必须设置0

 Detect Mult:检测超时倍数,用于检测方计算检测超时时间

 Length:报文长度

 My Discreaminator:BFD会话连接本端标识符

 Your Discreaminator:BFD会话连接远端标识符

 Desired Min Tx Interval:本地支持的最小BFD报文发送间隔

 Required Min RX Interval:本地支持的最小BFD报文接收间隔

 Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔(如果本地不支持Echo功能,则设置0)

 Auth Type:认证类型(可选),目前协议提供有:

Simple Password

Keyed MD5

Meticulous Keyed MD5

Keyed SHA1

Meticulous Keyed SHA1

 Auth Length:认证数据长度

 Authentication Data:认证数据区

BFD会话建立包含如下几种模式

主动模式

在建立会话前不管是否收到对端发来的建立BFD会话的控制报文,都会主动发送建立BFD会话的控制报文。

被动模式

在建立对话前不会主动发送建立BFD会话的控制报文,直到收到对端发送来建立BFD会话的控制报文。

BFD可以包含如下几种检测模式:

异步模式

在异步模式下,系统之间相互周期性地发送BFD控制报文,如果某个系统在检测时间内没有收到对端发来的BFD控制报文,就宣布会话为Down

查询模式

在查询模式下,假定每个系统都有一个独立的方法用来确认它连接到其他系统。这样一旦一个BFD会话建立起来以后,系统停止发送BFD控制报文,除非某个系统需要显式地验证连接性,在需要显式验证连接性的情况下,系统发送一个短序列的BFD控制包,如果在检测时间内没有收到返回的报文就宣布会话为Down,如果收到对端的回应报文,表示转发路径正常。

回声功能

本地系统周期性的发送BFD 回声报文,远端系统通过它的转发通道将它们环回回来。如果本地在检测周期内连续几个回声报文都没有接收到,会话就被宣布为Down。回声功能可以和上述两种检测模式一起使用。采用回声报文的检测功能,不需要远端系统的控制面参与,报文通过远端系统的转发面转回,减少了延迟,相对于发送控制报文可以更快的检测到故障。如果在异步模式下启用回声功能,可以大大减少了控制报文的发送,因为检测工作由回声功能完成;如果在查询模式下启用回声功能,在会话建立后可以完全取消发送控制报文。BFD会话两点必须同时启用回声功能,否则回声功能将不生效。

在BFD会话建立以后,可以修订BFD会话参数(如Desired Min Tx Interval,Required Min RX Interval,Detect Mult等),修订后BFD会话将重新协商并采用最新参数进行会话检测,修订过程会话可以继续保持UP状态。

BFD协议允许采用如下方式进行认证:

1.Simple Password

2.Keyed MD5

3.Meticulous Keyed MD5

4.Keyed SHA1

5.Meticulous Keyed SHA1

BGPv4应用场景绝大部分是企业边界设备互联采用运营商固定互联网ip进行建立邻居关系,另一种就是企业各分部通过运营商专线进行互联, 其实际就是一条就可以抵达。

本章主要介绍后者,企业各分部通过运营商专线进行互联建立BGP邻居关系,优化主备线路切换原则。

BGP是触发式更新,主线中断切换至备线,默认情况下需要180s来识别并切换。或者当你发现中断告警可以通过手工去clear ip bgp *硬清或clear ip bgp * soft软清邻居关系来收敛路由条目。

这种冗余架构应该都能看得懂吧,这边用GNS画了一张简单的拓扑图。

要实现A部门PC1和B部门PC2之间能够正常访问,当AB部门主路由之间的链路断开后能无感知切换到备线进行通讯。

首先A部门IBGP要通,B部门IBGP也要通。AB部门主备路由器EBGP邻居关系要建立。

备路由器的邻居状态就不show出来了。

我的实际环境是,各部门数据中心采用的是运营商主备线路冗余。逻辑上就是一跳。我们的边界设备都是cisco的,但是不是同一型号,有2900,2800,3900,4300系列的。所以在配置过程中出现了 state bit状态是admin down 。当时也是比较郁闷都是参照了配置手册进行的配置,为什么状态不是up而是admin down。

配置过程中要注意的是端口的协商,比如全双工,速率要匹配。运营商专线以前配置双工会断,现在电信联通已经修补相关bug。

这边还有就是cisco4300,接口下配置了neg auto,自动协商,no不掉的情况。需要在接口下配置media-type rj45,然后在no neg auto,在敲上duplex full,speed 100。

这个时候基本大功告成,这个时候就要将设备进行重启。

重启完后就可以看见bfd邻居建立。bfd具体参数根据自己企业的需求来定。我的配置参数基本可以达到无感知切换。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/6342807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存