华为与思科 BGP 的基本配置命令
思科的配置命令:
下面的拓扑图用的是 c 类的 IP 地址,为了便于理解,我用路由器之间的名字作为 IP 地址的
下面的是 R1 到 R8 的关于 BGP 的配置命令 (R1-R6 为 AS65001 , R7-R8 为 AS65002 ,两个 AS 间运行静态路由 )
注:看上图 R1-R6 之间我不建立全互联,只与它们直连网段的路由器建立邻居关系,然后在 R2 和 R5 上做路由反射器
R1 的配置命令
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 的配置命令
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 的配置命令
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 的配置命令
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 的配置命令
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 的配置命令
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 的配置命令
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 的配置命令
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
在 R1 和 R7 上查看学到了它们各自的通告
在 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 表示永不超时,不管什么时候都不会返回初始状态
用下面这个命令关闭上面在操作过程中弹出的弹出的信息,这样就不会打扰操作了
ISIS 的配置:
R1 上的配置文件( R4 的配置和 R1 的相似 略)
#
sysname Huawei
#
isis 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 的协议
#
interface GigabitEthernet0/0/3
ip address 192.168.15.1 255.255.255.252
isis enable 1
R2 上的配置文件( R5 的配置和 R2 的相似 略)
#
sysname Huawei
#
isis 1
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
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 192.168.23.1 255.255.255.252
isis enable 1
#
interface GigabitEthernet0/0/2
ip address 192.168.25.1 255.255.255.252
isis enable 1
#
interface GigabitEthernet0/0/3
ip address 192.168.24.1 255.255.255.252
isis enable 1
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
isis enable 1
#
R3 上的配置文件( R6 的配置和 R3 的相似 略)
#
isis 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
isis enable 2
#
interface GigabitEthernet0/0/2
ip address 192.168.36.1 255.255.255.252
isis enable 2
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
isis enable 2
R7 上的配置文件( R8 的配置和 R7 的相似 略)
#
sysname Huawei
#
isis 3
is-level level-1
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
isis enable 3
#
interface LoopBack0
ip address 7.7.7.7 255.255.255.255
isis enable 3
#
interface LoopBack1
ip address 192.168.0.1 255.255.255.0
isis enable 3
#
interface LoopBack2
ip address 192.168.1.1 255.255.255.0
isis enable 3
#
interface LoopBack3
ip address 192.168.2.1 255.255.255.0
isis enable 3
#
interface LoopBack4
ip address 192.168.3.1 255.255.255.0
isis enable 3
BGP 的配置命令
注:看上图 R1-R6 之间我不建立全互联,只与它们直连网段的路由器建立邻居关系,然后在 R2 和 R5 上做路由反射器
AR1 的配置命令
[Huawei]bgp 65001
[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
AR2 的配置命令
[Huawei]bgp 65001
[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// 指定客户端
AR3 的配置命令
[Huawei] bgp 65001
[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之间要运行静态路由
AR4 的配置命令
[Huawei] bgp 65001
[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
AR5 的配置命令
[Huawei] bgp 65001
[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 //指定客户
AR6 的配置
[Huawei]bgp 65001
[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之间要运行静态路由
AR7 的配置命令
[Huawei] bgp 65002
[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之间要运行静态路由
AR8 的配置命令
[Huawei] bgp 65002
[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之间要运行静态路由
这是在 R7 上通告的汇总路由
检查命令
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 命令关闭调试开关
转载于:https://blog.51cto.com/meiling/1062267