本文共 13793 字,大约阅读时间需要 45 分钟。
下面的拓扑图用的是 c 类的 IP 地址,为了便于理解,我用路由器之间的名字作为 IP 地址的 下面的是 R1 到 R8 的关于 BGP 的配置命令 (R1-R6 为 AS65001 , R7-R8 为 AS65002 ,两个 AS 间运行静态路由 ) 注:看上图 R1-R6 之间我不建立全互联,只与它们直连网段的路由器建立邻居关系,然后在 R2 和 R5 上做路由反射器 R1(config)#router bgp 65001 // 启动 BGP 的进程 R1(config-router)#bgp router-id 1.1.1.1 R1(config-router)#no synchronization // 关闭同步 R1(config-router)#bgp log-neighbor-changes // 用于网管监控邻居状态的改变 R1(config-router)#no auto-summary // 关闭自动汇总 R1(config-router)#network 202.106.1.0 mask 255.255.255.0 // 把 M1 上的主机的 IP 地址通告出去( M1 和 R1 、 R4 做的 VRRP 过程略) R1(config-router)#neighbor 2.2.2.2 remote-as 65001 // 指定邻居路由器所在的 AS R1(config-router)#neighbor 2.2.2.2 update-source loo0 // 指定更新源 R1(config-router)#neighbor 5.5.5.5 remote-as 65001 R1(config-router)#neighbor 5.5.5.5 update-source loo0 R2(config)#router bgp 65001 R2(config-router)#bgp router-id 2.2.2.2 R2(config-router)#no synchronization R2(config-router)#no auto-summary R2(config-router)#bgp log-neighbor-changes R2(config-router) bgp cluster-id 10 //在一个网络中有两台路由器做反射器[R2和R3与R5和R6做路由反映器]时要指定cluster-id的,而且id号是要一样的 R2(config-router) neighbor 3.3.3.3 route-reflector-client //指定客户端为R3(R2和R3路由的反射器) R2(config-router)#neighbor 1.1.1.1 remote-as 65001 R2(config-router)#neighbor 1.1.1.1 update-source loo0 R2(config-router)#neighbor 4.4.4.4 remote-as 65001 R2(config-router)#neighbor 4.4.4.4 update-source loo0 R2(config-router)#neighbor 3.3.3.3 remote-as 65001 R2(config-router)#neighbor 3.3.3.3 update-source loo0 R2(config-router)#neighbor 5.5.5.5 remote-as 65001 R2(config-router)#neighbor 5.5.5.5 update-source loo0 R3(config)#router bgp 65001 R3(config-router)#no synchronization R3(config-router)#no auto-summary R3(config-router)#bgp log-neighbor-changes R3(config-router)#bgp router-id 3.3.3.3 R3(config-router)#neighbor 2.2.2.2 remote-as 65001 R3(config-router)#neighbor 2.2.2.2 update-source loo0 R3(config-router)#neighbor 2.2.2.2 next-hop-self // 配置下一跳自我,即对从 EBGP 邻居转入的路由,在通告给 IBGP 邻居的同时,强迫路由器通告自己是发送 BGP 更新的下一跳,而不是 EBGP R3(config-router)#neighbor 6.6.6.6 remote-as 65001 R3(config-router)#neighbor 6.6.6.6 update-source loo0 R3(config-router)#neighbor 6.6.6.6 next-hop-self R3(config-router)#neighbor 7.7.7.7 remote-as 65002 R3(config-router)#neighbor 7.7.7.7 update-source loo0 R3(config-router)#neighbor 7.7.7.7 ebgp-multihop 2 // 将邻居 7.7.7.7 的路数该为 2 ,因为用的是环回口来建的邻居关系 R3(config)#ip route 7.7.7.7 255.255.255.255 192.168.37.7 R4(config)#router bgp 65001 R4(config-router)#no synchronization R4(config-router)#no auto-summary R4(config-router)#bgp log-neighbor-changes R4(config-router)#bgp router-id 4.4.4.4 R4(config-router)#network 202.106.1.0 mask 255.255.255.0 // 把 M1 上的主机的 IP 地址通告出去 R4(config-router)#neighbor 2.2.2.2 remote-as 65001 R4(config-router)#neighbor 2.2.2.2 update-source loo0 R4(config-router)#neighbor 5.5.5.5 remote-as 65001 R4(config-router)#neighbor 5.5.5.5 update-source loo0 R5(config)#router bgp 65001 R5(config-router)#no synchronization R5(config-router)#no auto-summary R5(config-router)#bgp log-neighbor-changes R5(config-router)#bgp router-id 5.5.5.5 R5(config-router)# bgp cluster-id 10 R5(config-router)# neighbor 6.6.6.6 route-reflector-client //指定客户端为R6 R5(config-router)#neighbor 2.2.2.2 remote-as 65001 R5(config-router)#neighbor 2.2.2.2 update-source lo0 R5(config-router)#neighbor 4.4.4.4 remote-as 65001 R5(config-router)#neighbor 4.4.4.4 update-source lo0 R5(config-router)#neighbor 6.6.6.6 remote-as 65001 R5(config-router)#neighbor 6.6.6.6 update-source lo0 R6(config)#router bgp 65001 R6(config-router)#no synchronization R6(config-router)#no auto-summary R6(config-router)#bgp log-neighbor-changes R6(config-router)#bgp router-id 6.6.6.6 R6(config-router)#neighbor 3.3.3.3 remote-as 65001 R6(config-router)#neighbor 3.3.3.3 update-source loo0 R6(config-router)#neighbor 3.3.3.3 next-hop-self R6(config-router)#neighbor 5.5.5.5 remote-as 65001 R6(config-router)#neighbor 5.5.5.5 update-source lo0 R6(config-router)#neighbor 5.5.5.5 next-hop-self R6(config-router)#neighbor 8.8.8.8 remote-as 65002 R6(config-router)#neighbor 8.8.8.8 update-source loo0 R6(config-router)#neighbor 8.8.8.8 ebgp-multihop 2 R6(config)#ip route 8.8.8.8 255.255.255.255 192.168.68.8 R7(config)#ip route 8.8.0.0 255.255.240.0 null 0 R7(config)#router bgp 65002 R7(config-router)#no synchronization R7(config-router)#no auto-summary R7(config-router)#bgp log-neighbor-changes R7(config-router)#bgp router-id 8.8.8.8 R7(config-router)# neighbor 3.3.3.3 remote-as 65001 R7(config-router)# neighbor 3.3.3.3 ebgp-multihop 2 R7(config-router)# neighbor 3.3.3.3 update-source Loopback0 R7(config-router)#neighbor 8.8.8.8 remote-as 65002 R7(config-router)#neighbor 8.8.8.8 update-source Loopback0 R7(config-router)#neighbor 8.8.8.8 next-hop-self R7(config-router)#aggregate-address 8.8.0.0 255.255.252.0 summary-only // 用 aggregate-address 汇总后的地址和掩码 summary-only ; 这样就只有汇总路由可以优,明细被抑制( S ) R7(config-router)#network 8.8.0.0 mask 255.255.252.0 // 将 R7 下的环回口下的虚拟主机的 IP 通告出去( 8.8.0.1-8.8.3.1 ) R7(config)#ip route 8.8.0.0 255.255.252.0 Null0 // 直接 network 一条汇总后路由,但由于本地路由表中没有此路由所以不会通告,通过手动添加一条指向 null0 的汇总路由实现 R7(config)#ip route 3.3.3.3 255.255.255.255 192.168.37.3 R8(config)#router bgp 65002 R8(config-router)#no synchronization R8(config-router)#no auto-summary R8(config-router)#bgp log-neighbor-changes R8(config-router)#bgp router-id 8.8.8.8 R8(config-router)#neighbor 6.6.6.6 remote-as 65001 R8(config-router)#neighbor 6.6.6.6 update-source loo0 R8(config-router)#neighbor 6.6.6.6 ebgp-multihop 2 R8(config-router)#neighbor 7.7.7.7 remote-as 65002 R8(config-router)#neighbor 7.7.7.7 update-source loo0 R8(config)#ip route 6.6.6.6 255.255.255.255 192.168.68.6 在 M1 上 pingR7 上的虚拟主机是可以通的 1、 sh ip bgp // 查看 bgp 的表信息 2、 sh ip bgp summary // 查看邻居表信息 3、 sh ip bgp neighbors ipv4-address advertised-routes // 查看向邻居通告的路由 4、 sh ip route bgp // 查看 bgp 的路由 如下图所示,为了好理解用它们的之间相连的主机名字的来做的 IP 地址( C 类的地址 /30 的掩码) 蓝色 区域的为 Area1, 绿色 区域的为 Area2 ,它们之间用的是 ISIS 的协议。 R7 与 R8 之间也是做的 ISIS 的,但是不向 R3 和 R6 那边通告的( R3 与 R7 、 R6 与 R8 它们之间要运行 EBGP 的) 下面命令: 0 0 表示永不超时,不管什么时候都不会返回初始状态 用下面这个命令关闭上面在操作过程中弹出的弹出的信息,这样就不会打扰操作了 R1 上的配置文件( R4 的配置和 R1 的相似 略) is-level level-1 // 类型为 level-1 network-entity 49.0001.0010.0100.1001.00 interface GigabitEthernet0/0/0 // 进接口 ip address 192.168.12.1 255.255.255.252 isis enable 1 // 开启 ISIS 的协议 interface GigabitEthernet0/0/3 ip address 192.168.15.1 255.255.255.252 R2 上的配置文件( R5 的配置和 R2 的相似 略) network-entity 49.0001.0020.0200.2002.00 is-level level-1-2 // 类型为 level-1-2 import-route isis level-2 into level-1 (这条命令一定要打的,不然后面做 这 BGP时 是学不到 EBGP 通告的路由) // 将 level-2 的路由引入到 level-1 中。该命令配置在与外部区域相连的 Level-1-2 路由器上。缺省情况下, Level-2 的路由信息不发布到 Level-1 区域中 undo import-route isis level-1 into level-2 // 不将 Level-1 的路由信息发布到 Level-2 中。该命令配置在与外部区域相连的 Level-1-2 路由器上。缺省情况下, Level-1 的路由信息都将发布到 Level-2 区域中。 interface GigabitEthernet0/0/0 ip address 192.168.12.2 255.255.255.252 interface GigabitEthernet0/0/1 ip address 192.168.23.1 255.255.255.252 interface GigabitEthernet0/0/2 ip address 192.168.25.1 255.255.255.252 interface GigabitEthernet0/0/3 ip address 192.168.24.1 255.255.255.252 ip address 2.2.2.2 255.255.255.255 R3 上的配置文件( R6 的配置和 R3 的相似 略) is-level level-2 // 类型为 level-2 network-entity 49.0002.0030.0300.3003.00 interface GigabitEthernet0/0/0 ip address 192.168.37.1 255.255.255.252 interface GigabitEthernet0/0/1 ip address 192.168.23.2 255.255.255.252 interface GigabitEthernet0/0/2 ip address 192.168.36.1 255.255.255.252 ip address 3.3.3.3 255.255.255.255 R7 上的配置文件( R8 的配置和 R7 的相似 略) network-entity 49.0003.0070.0700.7007.00 interface GigabitEthernet0/0/0 ip address 192.168.37.2 255.255.255.252 interface GigabitEthernet0/0/1 ip address 192.168.78.1 255.255.255.252 ip address 7.7.7.7 255.255.255.255 ip address 192.168.0.1 255.255.255.0 ip address 192.168.1.1 255.255.255.0 ip address 192.168.2.1 255.255.255.0 ip address 192.168.3.1 255.255.255.0 注:看上图 R1-R6 之间我不建立全互联,只与它们直连网段的路由器建立邻居关系,然后在 R2 和 R5 上做路由反射器 [Huawei-bgp]undo synchronization // 关闭同步 [Huawei-bgp]router-id 1.1.1.1 // 配置 BGP 的 Router ID [Huawei-bgp] peer 2.2.2.2 as-number 65001 // 指定对等体的 IP 地址及其所属的 AS 编号 [Huawei-bgp] peer 2.2.2.2 connect-interface loo0 // 更新源 [Huawei-bgp] peer 5.5.5.5 as-number 65001 [Huawei-bgp] peer 5.5.5.5 connect-interface LoopBack0 [Huawei-bgp] undo synchronization [Huawei-bgp]router-id 2.2.2.2 [Huawei-bgp] peer 1.1.1.1 as-number 65001 // 指定对等体的 IP 地址及其所属的 AS 编号 [Huawei-bgp] peer 1.1.1.1 connect-interface LoopBack0 [Huawei-bgp] peer 3.3.3.3 as-number 65001 [Huawei-bgp] peer 3.3.3.3 connect-interface LoopBack0 [Huawei-bgp] peer 4.4.4.4 as-number 65001 [Huawei-bgp] peer 4.4.4.4 connect-interface LoopBack0 [Huawei-bgp] peer 5.5.5.5 as-number 65001 [Huawei-bgp] peer 5.5.5.5 connect-interface LoopBack0 [Huawei-bgp]reflector cluster-id 2 // 配置路由反射器的集群 ID [Huawei-bgp]peer 3.3.3.3 reflect-client// 指定客户端 [Huawei-bgp] undo synchronization // 关闭同步 [Huawei-bgp] router-id 3.3.3.3 [Huawei-bgp] peer 2.2.2.2 as-number 65001 [Huawei-bgp] peer 2.2.2.2 connect-interface LoopBack0 [Huawei-bgp] peer 2.2.2.2 next-hop-local [Huawei-bgp] peer 6.6.6.6 as-number 65001 [Huawei-bgp] peer 6.6.6.6 connect-interface LoopBack0 [Huawei-bgp] peer 6.6.6.6 next-hop-local // 指定下一跳是自己 [Huawei-bgp] peer 7.7.7.7 as-number 65002 [Huawei-bgp] peer 7.7.7.7 ebgp-max-hop 2 // 两个 AS 之间用环回口建的邻居要将它们的邻居的路数改为 2 ,默认的是 1 [Huawei-bgp] peer 7.7.7.7 connect-interface LoopBack0 [Huawei]ip route-static 7.7.7.7 255.255.255.255 192.168.37.2 //两个AS之间要运行静态路由 [Huawei-bgp] undo synchronization [Huawei-bgp] router-id 4.4.4.4 [Huawei-bgp] peer 2.2.2.2 as-number 65001 [Huawei-bgp] peer 2.2.2.2 connect-interface LoopBack0 [Huawei-bgp] peer 5.5.5.5 as-number 65001 [Huawei-bgp] peer 5.5.5.5 connect-interface LoopBack0 [Huawei-bgp] undo synchronization [Huawei-bgp] router-id 5.5.5.5 [Huawei-bgp] peer 1.1.1.1 as-number 65001 [Huawei-bgp] peer 1.1.1.1 connect-interface LoopBack0 [Huawei-bgp] peer 2.2.2.2 as-number 65001 [Huawei-bgp] peer 2.2.2.2 connect-interface LoopBack0 [Huawei-bgp] peer 4.4.4.4 as-number 65001 [Huawei-bgp] peer 4.4.4.4 connect-interface LoopBack0 [Huawei-bgp] peer 6.6.6.6 as-number 65001 [Huawei-bgp] peer 6.6.6.6 connect-interface LoopBack0 [Huawei-bgp]reflector cluster-id 2 //配置路由反射器的集群ID [Huawei-bgp]peer 6.6.6.6 reflect-client //指定客户 [Huawei-bgp]undo synchronization [Huawei] router-id 6.6.6.6 [Huawei-bgp] peer 3.3.3.3 as-number 65001 [Huawei-bgp] peer 3.3.3.3 connect-interface LoopBack0 [Huawei-bgp] peer 3.3.3.3 next-hop-local [Huawei-bgp] peer 5.5.5.5 as-number 65001 [Huawei-bgp] peer 5.5.5.5 connect-interface LoopBack0 [Huawei-bgp] peer 5.5.5.5 next-hop-local [Huawei-bgp] peer 8.8.8.8 as-number 65002 [Huawei-bgp] peer 8.8.8.8 ebgp-max-hop 2 // 两个 AS 之间用环回口建的邻居要将它们的邻居的路数改为 2 ,默认的是 1 [Huawei-bgp] peer 8.8.8.8 connect-interface LoopBack0 [Huawei]ip route-static 8.8.8.8 255.255.255.255 192.168.68.2 //两个AS之间要运行静态路由 [Huawei-bgp] undo synchronization [Huawei-bgp] router-id 7.7.7.7 [Huawei-bgp] peer 3.3.3.3 as-number 65001 [Huawei-bgp] peer 3.3.3.3 ebgp-max-hop 2 // 两个 AS 之间用环回口建的邻居要将它们的邻居的路数改为 2 ,默认的是 1 [Huawei-bgp] peer 3.3.3.3 connect-interface LoopBack0 [Huawei-bgp] peer 8.8.8.8 as-number 65002 [Huawei-bgp] peer 8.8.8.8 connect-interface LoopBack0 [Huawei-bgp] peer 8.8.8.8 next-hop-local [Huawei-bgp] aggregate 192.168.0.0 255.255.252.0 detail-suppressed // 配置手动路由聚合用 aggregate , detail-suppressed 是抑制明细路由的通告 [Huawei-bgp] network 192.168.0.0 255.255.252.0 // 将这个聚合的路由通告出去 [Huawei] ip route-static 192.168.0.0 255.255.252.0 NULL0 // 将聚合的路由通告出去,因为在手动汇总的这个 192.168.0.0 在路由表中是不存在的的,要把它加入到 NULL 0 里才能在 bgp 进程里用上面的 network 来通告这条路由 [Huawei]ip route-static 3.3.3.3 255.255.255.255 192.168.37.1 //两个AS之间要运行静态路由 [Huawei-bgp] undo synchronization [Huawei-bgp] router-id 8.8.8.8 [Huawei-bgp] peer 6.6.6.6 as-number 65001 [Huawei-bgp] peer 6.6.6.6 ebgp-max-hop 2 // 两个 AS 之间用环回口建的邻居要将它们的邻居的路数改为 2 ,默认的是 1 [Huawei-bgp] peer 6.6.6.6 connect-interface LoopBack0 [Huawei-bgp] peer 7.7.7.7 as-number 65002 [Huawei-bgp] peer 7.7.7.7 connect-interface LoopBack0 [Huawei]ip route-static 6.6.6.6 255.255.255.255 192.168.68.1 //两个AS之间要运行静态路由
1 、 display bgp peer // 查看 bgp 的对等信息 Established 为成功建立 2 、 diplay bgp routing-table // 查看 bgp 的路由表信息 3 、 diplay bgp peer ipv4-address verbose // 查看 bgp 的某个邻居 ( 对等体 ) 的详细信息 4 、 display bgp paths // 查看 AS 路径信息 5 、 display bgp network // 查看 bgp 发布的路由信息(我这个拓扑里是在 R7 通告的,所以在 R7 上用这个命令) 6 、 display bgp routing-table cidr // 查看 cidr 路由信息 ( 不加 cidr 也行的 ) 7 、 display bgp routing-table peer ipv4-address advertised-routes // 查看 bgp 对等体发布(通告)的路由 8 、 display bgp routing-table peer ipv4-address received-ro utes // 查看 bgp 对等体收到的路由信息 9 、 display ip routing-table (verbose) // 查看路由表信息 10 、 dis current-configuration // 查看当前的配置命令 11 、当 BGP 路由策略(路由器不支持 Router Refresh )或配置发生变化后,需要通过复位 BGP 连接使新的配置生效。如果需要复位 BGP 连接,可在用户视图下选择执行以下命令。 12 、 在出现 BGP 运行故障时,请在用户视图下执行表中的 debugging 命令对 BGP 进行调试,查看调试信息,定位故障并分析故障原因。 调试完毕后,应及时执行 undo debugging all 命令关闭调试开关
本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1062267,如需转载请自行联系原作者