华为与思科
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
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
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
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
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
命令关闭调试开关
本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1062267,如需转载请自行联系原作者