• BGP的基本配置


    l 按照以下步骤配置BGP协议:

    Ø 1步:设备基本参数配置,AS内配置IGP确保内部网络连通性;

    l 配置IGP(OSPF协议等)路由解决peer对等体的源和目标IP之间连通性,确保peer之间TCP(179)连通性

    Ø 2步:启动BGP进程

    l 在BGP路由器上启动BGP进程,一台路由器上只能配置一个BGP实例

    l 仅执行命令router bgp不能在路由器上激活BGP,必须至少执行一个子命令才能在路由器上激活BGP进程

    Router(config)#router bgp as-number

    l 手工设置BGP Router ID

    Router(config-router)# bgp router-id ip-address

    Ø 3步:建立BGP对等体

    l 指定BGP邻居及激活BGP会话

    l BGP邻居都需手工指定,不能像IGP那样通过协议自动发现

    l 建立邻居时的指定的Peer IP地址必须路由可达,本端默认使用报文出接口IP地址作为更新源

    l 本地的更新源IP地址必须与Peer IP地址相同,不相同,则BGP邻居无法正常建立

    l 对端AS号决定了与邻居建立的是EBGP会话还是IBGP会话

    Router(config-router)# neighbor {peer-address | peer-group-name} remote-as as-number

    Ø 4步:通告BGP路由

    l 通过宣告netword的方式引入路由

    Ø 如果指定mask,则仅当IP路由表中有与完全匹配的条目时才会引入成功

    Ø 如果不指定mask,只通告主类网络号,则仅当BGP路由表中至少有一个子网,才会将该主类网络作为一条

    路由引入,但不会引入该主类网络之下的其他子网

    Router(config-router)#network network-number [mask mask] [route-map map-tag] [backdoor]

    l 通过重分布的方式引入路由

    Router(config-router)#redistribute protocol-type [route-map map-tag] [metric metric-value]

    Ø 5步: (可选)其他配置,路由策略、路由反射器等

         Ø BGP的验证功能

         l    在同指定BGP对等体建立BGP连接时,可以启用TCP MD5认证,并设置密码

    Ø 启用身份验证后,将对通过对等体之间的TCP连接传输的所有数据等进行验证

    Ø 认证都是在TCP建立连接的时候完成的

    Router(config-router)#neighbor {peer-address | peer-group-name} password [ | 0 | 7] string

    BGP基本配置案例

    496964da5a0b46e4a3bfc93b94b0000d.png

    R1BGP配置

    1. router bgp 123
    2. bgp router-id 1.1.1.1
    3. neighbor 10.1.23.2 remote-as 123
    4. network 1.1.1.1 mask 255.255.255.255

    R3BGP配置

    1. router bgp 123bgp router-id 3.3.3.3
    2. neighbor 10.1.12.1 remote-as 123
    3. neighbor 10.1.34.2 remote-as 400
    4. network 3.3.3.3 mask 255.255.255.255

    R4BGP配置

    1. router bgp 400bgp router-id 4.4.4.4
    2. neighbor 10.1.34.1 remote-as 123
    3. network 4.4.4.4 mask 255.255.255.255

    l 查看BGP的邻居

    R1# show ip bgp summary

    4f6b3cd266024bc9aabd0399a6ddc147.png

    查看BGP的状态

    查看BGP路由表R1上查看BGP的路由表

    router# show ip bgp

    Ø 1.1.1.1/32的路由是本地生成的,因此就是最优的

    Ø 3.3.3.3/32是R3的路由,作为IBGP传递来的,满足条件因此最优

    Ø 4.4.4.4/32是R3从EBGP邻居学习来的,但无“>”标记,不是最优的,因为其下一跳不可达

    1a4cab1e137042828069fb006a2915d2.png

    BGP的next-hop不可达问题

    l BGP是AS-by-AS的路由协议,而不是router-by-router的路由协议

    l 在BGP中,next-hop并不意味着是下一台路由器,而是到达下一个AS的IP地址

    l EBGP中,默认next-hop为发送更新的邻居路由器的IP地址

    l IBGP中,从EBGP传来的next-hop属性在IBGP中保持不变的被传递

    因此,R1不知道如何去往10.1.34.4, 这个地址未被通告到AS123 的IGP里,因此路由不可达,所以不是最优

    l 有两种办法解决next-hop不可达的问题

    Ø 第1种办法就是把10.1.34.0这个网络宣告到AS123的IGP路由中

    1. R3(config)#router ospf 1
    2. R3(config-router)#network 10.1.34.3 0.0.0.0 area 0

    Ø 这样4.4.4.0/24这条路由就会在R1的BGP路由表成为最优路由

    Ø 但这种方法并不建议,因为会使得AS之间的链路暴露在AS内部,有一定安全风险

    Ø 第2种办法就是在R3上配置next-hop-self,使得向R1发送的路由的下一跳的属性都改为R3自己

    Ø 这样R1上4.4.4.0/24这条路由的next-hop就是R3的10.1.23.3,下一跳可达,成为最优路由

    Router(config-router)#neighbor {邻居地址|邻居名称} next-hop-sel

    f

    l 查看具体BGP路由信息,可以看到这条BGP路由的所有BGP属性

    8625e1a9809348d882bf9251777fde80.png

    BGP的更新源

    l BGP路由器可以指定环回接口loopback地址作为BGP连接的源地址,因为只需TCP可达即可建立邻居关系

    l 因为loopback接口只要路由器正常运行就始终可用,当BGP邻居之间有多条路径时,可以使得BGP邻居更加稳定

    Ø IBGP邻居建议使用环回接口建立邻居, EBGP邻居通常使用直连接口的IP地址作为源地址

    Router(config-router)# neighbor {邻居地址|邻居名称} update-source {接口类型}

    Ø EBGP邻居使用环回接口建立EBGP则应注意EBGP邻居多跳问题

    BGP指定更新源-EBGP

    l 如果使用环回接口建立EBGP邻居,需要注意多跳问题

    l 如果不进行额外配置,EBGP路由器只能使用直接接口地址作为更新源(到达更新源最多只能1跳),使用环回接口建立EBGP邻居,需要修订跳数

    Router(config-router)#neighbor {邻居地址|邻居名称} ebgp-multihop [跳数]

    BGP的维护

    l 在维护BGP协议的时候,有时候我们需要通过重置BGP会话,来达到刷新路由策略、触发路由更新的目的,有3种触发更新的方式:

    Ø 硬重置

    Ø 断开相应的TCP连接,通过这些会话收到的所有信息都将失效,并从BGP表中删除

    1. Router#clear ip bgp *
    2. Router#clear ip bgp {as number | peer-address | peer-group-name}

    Ø 软重置

    l 软重置(soft reconfiguration)

    Ø 不拆除并重建TCP或BGP连接,而是仅触发更新操作以便让新的路由策略生效

    Ø 软重置可以应用于出站或入站策略,也可同时用于出入站策略

    p 入站软重置,本地发送route-refresh给所有BGP邻居,让邻居把最新的路由发送给自己

    Router#clear ip bgp {as number | peer-address | peer-group-name} [soft in]

    p 出站软重置,本地发送update消息给邻居,让邻居获取到自己的最新路由

    Router#clear ip bgp {as number | peer-address | peer-group-name} [soft out]

    Ø 路由刷新

  • 相关阅读:
    webstorm实用技巧
    个人博客系统
    输入输出系统
    Android 12 源码分析 —— 应用层 六(StatusBar的UI创建和初始化)
    QLineEdit 使用QValidator 限制各种输入
    基于字典的LZW压缩算法
    Oracle存储架构
    基于Win11、CentOS7、VMWare15pro搭建Hadoop2.7.7
    老卫带你学---leetcode刷题(198. 打家劫舍)
    github国内加速访问有效方法
  • 原文地址:https://blog.csdn.net/2301_81072370/article/details/138046681