BGP HCIP
BGP 详细笔记
一、大规模 BGP 网络面临的问题
- 对等体数量多:配置繁琐,维护管理难度大。
- 路由表庞大:对设备性能要求高。
- IBGP 全连接问题:邻居数量过多,应用和管理 BGP 难度增加。
- 路由变化频繁:导致路由更新频繁。
二、BGP 关键技术及解决方案
1. 对等体组(Peer Group)
- 定义:具有某些相同属性的对等体的集合,可简化配置。
- 分类:
-
- IBGP 对等体组:由同一 AS 内的 IBGP 邻居组成。
-
- EBGP 对等体组:由同一外部 AS 的 EBGP 邻居组成(不常用,因若 EBGP 邻居分布在多个 AS,需为每个 AS 配置对等体组,较麻烦)。
- 建邻要求:
-
- EBGP:如 R1-R2。
-
- IBGP:如 R2 分别与 R3/R4/R5。
- 配置示例:
-
- IBGP 对等体组配置:
[R2-bgp]group in internal
[R2-bgp]peer 3.3.3.3 group in
[R2-bgp]peer 4.4.4.4 group in
[R2-bgp]peer 5.5.5.5 group in
[R2-bgp]peer in connect-interface l0
[R2-bgp]peer in next-hop-local
R3、R4 和 R5 做与 R3 相同配置,如 [R3-bgp] peer 2.2.2.2 as 200,[R3-bgp] peer 2.2.2.2 connect-interface l0。
-
- EBGP 对等体组配置:
[Router-bgp] group group-name external
[Router-bgp] peer group-name as-number as-number
[Router-bgp] peer ip-address group group-name [ as-number as-number]
2. BGP 路由聚合
- 作用:减小路由表规模。
- 自动聚合:
-
- 仅对引入的 IGP 路由进行聚合。
-
- 只能将明细路由汇总到主类,可能造成路由黑洞。
-
- 华为设备默认关闭,可通过 [r1-bgp] summary automatic 开启。
-
- 开启后,状态码 S(suppressed)代表被抑制的路由信息不会加表和传递。
-
- 仅在始发路由器上配置,且只针对重发布的路由条目生效,不对自身宣告的路由生效。
- 手工聚合:
-
- 可实现精确汇总,如 [R1-bgp] aggregate 172.16.0.0 16。
-
- 可在任何路由器上进行。
-
- 问题:明细路由依然被通告,有形成环路的隐患。
-
- 解决方法:[R1-bgp] aggregate 172.16.0.0 16 detail-suppressed(抑制明细路由,不通告明细路由)。
- 常见汇总命令:
-
- [R1-bgp] aggregate 172.16.0.0 16 detail-suppressed as-set:汇总的路由可继承明细路由的路径属性,其中 AS_PATH 属性最关键。
-
- [R1-bgp] aggregate 172.16.0.0 16 suppress-policy ‘路由策略名字’:通告汇总路由,并有选择性的抑制明细路由。
-
- 相关路由策略配置:
[R1] ip ip-prefix aa index 10 permit 172.16.1.0 24
[R1] route-policy bb permit node 10
[R1-route-policy] if-match ip-prefix aa
[R1] bgp 100
[R1-bgp] aggregate 172.16.0.0 23 suppress-policy bb
3. 路由反射器(Route Reflection)
- 定义:能把从 IBGP 邻居学习的路由反射给其他 IBGP 邻居。
- 作用:替代 IBGP 全连接,减少 IBGP 邻居数量;解决 BGP 路由黑洞问题。
- 角色:
-
- RR(router reflect):路由反射器。
-
- client:RR 客户机。
-
- 非客户机。
-
- 注:指定 RR 时需指定其 Client,Client 无需额外配置。
- 反射规则:
-
- 从非客户机端接受的路由,仅反射给客户端。
-
- 从客户端接受到的路由,反射给所有客户端和非客户端(路由始发者除外)。
-
- 从 EBGP 接收的路由,反射给所有的客户端和非客户端。
-
- 注:一个反射群里的所有反射客户端只需与反射器建立 IBGP 邻居关系。
- 反射集群:由反射器和客户端组成的网络范围;若存在多个反射器,需配置相同的 cluster_id。
- 存在问题及解决方法:
-
- 问题:IBGP 水平分割原则失效,可能导致环路。
-
- 解决方法:通过 cluster_list 和 originator_ID 两个路径属性避免环路。
-
-
- cluster_list(集群列表):类似 AS_PATH,每个 RR 有 Cluster id(默认为路由器的 router id,可手工修改),同一 AS 内的 Cluster id 必须相同。路由传递过程中,会记录经过的反射器的 Cluster_id,当反射器收到包含本机 Cluster_id 的路由时,会丢弃该路由。同时,Cluster-list 用于路由优选,短的优先。
-
-
-
- originator_ID(起源 ID):由路由器反射器反射路由时产生,为本地 AS 内路由始发者的 router-id。当 BGP 路由器收到携带 Originator_ID 属性且与自身 Router ID 相同的 IBGP 路由时,会忽略该路由更新。originator_ID 也用于路由优选,短的优先。
-
- BGP 的防环机制总结:
-
- AS_PATH:解决 AS 之间的环路问题。
-
- IBGP 的水平分割:解决一个 AS 内部 IBGP 邻居之间环路问题。
-
- Cluster-list 防环:当一个反射群中存在多个反射器时防环。
-
- originator_ID:在多个反射群之间防环。
- 注意事项:反射路由无法使用策略去更改路由属性。
- 实验配置:
[R2-bgp]peer 3.3.3.3 reflect-client //在反射器上配置其反射客户机
[R2-bgp]peer in reflect-client //把对等体组中的邻居配置其反射客户机
[R2-bgp]reflector cluster-id 2.2.2.2 //配置反射器的集群id
4. BGP 联盟(Confederation)
- 定义:处理 AS 内部的 IBGP 网络连接激增的另一种方法,间接避免 IBGP 环路问题。
- 原理:将一个自治系统划分为若干个子自治系统,每个子自治系统内部的 IBGP 对等体建立全连接关系,子自治系统之间建立联盟内部 EBGP 连接关系。
- 注意点:
-
- 子 AS 使用私有 AS 编号。
-
- 其他真实 AS 的路由器仍然和联盟 AS 建立 EBGP 邻居。
-
- 跨越子 AS 的 EBGP 邻居仍然需要更改下一跳为本机。
-
- 每个联盟里有一台路由器和其他联盟中一个路由器建立邻居关系即可。
-
- 实际场景中一般不用联盟,因为会改变邻居关系。
- 配置命令示例:
[R2]bgp 65001 //进入子AS编号
[R2-bgp]confederation id 200 //申明自己的大号
[R2-bgp]confederation peer-as 65002 //申明自己的联盟同伴
[R2-bgp]peer 100.1.1.1 as-number 100 指定EBGP邻居
[R2-bgp]peer 3.3.3.3 as-number 65001
[R2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R2-bgp]peer 3.3.3.3 next-hop-local
[R2-bgp]peer 100.2.2.5 as-number 65002
[R2-bgp]peer 100.2.2.5 next-hop-local //跨越子AS的EBGP邻居仍然需要更改下一跳为本机
5. BGP 团体属性(community)
- 定义:相当于路由的标记,是一组具有相同特征的目的地的集合,可针对特定的路由设置特定的 community 属性值。
- 表达方法:本质由 32 位二进制构成,可使用 10 进制,或 16 位二进制(前 16 位一般是本地 AS 的 AS 号,后 16 位是自定值)等格式。
- 公认的社团属性:
-
- Internet:默认情况下,抓取的 BGP 流量都属于 Internet,可被通告给所有的 BGP 对等体。
-
- no-advertise:路由信息无法发送给自己的 IBGP 对等体或 EBGP 对等体。
-
- no-export:路由信息可以发给自己的 BGP 对等体,但对等体不能离开这个 AS,无法发给自己的 EBGP,但可以发给自己的联邦 EBGP 对等体。
-
- no-export-subconfed:路由信息可以发给自己的 BGP 对等体,但对等体不能离开这个 AS,无法发给自己的 EBGP,也不可以发给自己的联邦 EBGP 对等体。
- 注:目前大部分厂商默认在传递 BGP 路由信息时不传递社团属性,若需传递,需通过命令开启。
- 配置示例:
//抓取流量
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
//配置路由策略,打上团体属性
[R1]route-policy com permit node 10
[R1-route-policy]if-match acl 2000
[R1-route-policy]apply community no-export
[R1]route-policy com permit node 20
//调用路由策略
[R1]bgp 100
[R1-bgp]peer 100.1.1.2 route-policy com export
[R1-bgp]peer 100.1.1.2 advertise-community //通告团体属性,使其他邻居学到
//查看一条路由的详细信息
[R2]dis bgp routing-table 192.168.1.0 24
6. BGP 路由衰减(Route Dampening)
- 作用:解决路由振荡(Route flaps)的问题。
- 原理:每震荡一次,给路由一个惩罚值(默认 1000),惩罚值固定加 1000,不超过抑制阈值。一旦超过,路由不再被学习;惩罚值每隔一段时间(半衰期)自动衰减一半,直到低于再使用阈值,路由方可重新被学习。
- 衰减参数:
-
- Suppress Threshold(抑制阈值,默认 2000):惩罚值超过此阈值时,路由被抑制(不再通告)。
-
- Reuse Threshold(重用阈值,默认 750):惩罚值衰减到此值以下时,路由重新被通告。
-
- Half-life Time(半衰期,默认 15 分钟):惩罚值每 15 分钟减半。
-
- Ceiling(最大惩罚值上限):1001-20000。
- 配置命令:
bgp 100
dampening # 启用BGP路由衰减(使用默认参数)
dampening 15 750 2000 10000 # 自定义参数:半衰期、重用阈值、抑制阈值、最大惩罚上限
三、BGP 与 MPLS 结合相关
在 BGP MPLS VPN 中,BGP(具体为 MP-BGP)用于传递私网路由,借助 RD(路由区分)解决私网地址冲突,通过 RT(路由目标)控制私网路由传播范围,同时利用 MPLS 标签实现数据在公网的传输。
- MP-BGP:在原有 BGP 基础上扩展,新增 MP_REACH_NLRI 和 MP_UNREACH_NLRI 属性,分别替代原 UPDATE 消息中的 NLRI 和 Withdrawn routes 字段,并增加地址族信息。
- RD(route distinguisher):用于标识路由更新报文来自于哪一个 VPN 实例,解决私网地址冲突问题,有多种格式(如 16 位自治系统号:32 位用户自定义数等)。
- RT(route target):由 export target 和 import target 组成,控制私网路由的传播范围。发送私网路由时,在 MP-BGP 的扩展团体属性区域增加该 VPN 的 Export Target 属性;接收时,比较收到的 RT 属性值与本地 VPN 的 Import Target 属性值,有交集则添加到该 VPN 的路由表中。
- 私网标签:每个 VRF 自动产生,同路由更新一起传递至对端 PE,帮助 PE 判断报文去往的 VPN 实例,数据进入 MPLS 网络时先封装私网标签,再封装公网标签。
BGP综合实验
一、实验分析
该实验主要围绕 BGP 协议在复杂网络环境中的应用展开,核心目标是实现不同自治系统(AS)及同一 AS 内部设备环回接口的互联互通,并通过一系列技术手段优化路由、避免环路。
从网络结构看,实验涉及 AS1、AS2(拆分为联盟 AS64512 和 AS64513)、AS3,各 AS 内及 AS 间通过路由器连接,形成多级网络拓扑。配置上,先完成各设备基础的接口和 IP 设置,为后续协议配置奠定基础。
AS2 内部借助 OSPF 协议传递业务网段路由,再通过 BGP 的 import-route 功能将 OSPF 路由导入 BGP,实现内部路由的跨设备传递。同时,利用 BGP 路由聚合(如对 172.16.0.0/16 网段聚合)大幅减少路由条目,提升网络效率。
为解决 IBGP 全连接带来的邻居数量过多问题,实验采用了路由反射器技术,指定部分路由器作为反射器,简化邻居关系维护。针对联盟场景,通过配置 confederation 相关命令,确保 AS2 内部子 AS 间路由传递时的防环与正常交互。
跨 AS 通信则通过 BGP 建立邻居关系实现,如 AS1 的 R1 与 AS64512 的 R2、AS64513 的 R7 与 AS3 的 R8 等,保证了不同 AS 间环回路由的可达性。此外,还可通过路由衰减等配置应对路由振荡,进一步优化网络稳定性。
最后,通过 ping 测试及查看路由表、邻居状态等方式,验证网络的连通性和配置的有效性,确保实验目标的实现。
二、具体实现
1、基础配置(各路由器配置主机名、环回接口等 )
R1 配置
sysname R1
# 配置环回接口
interface LoopBack 0
ip address 1.1.1.1 32 # 建邻环回
interface LoopBack 1
ip address 192.168.1.0 24 # 业务网段(注意题目要求该地址不能在任何协议中宣告,后续通过BGP传递相关逻辑)
# 配置物理接口连接AS1与AS2的链路
interface GigabitEthernet 0/0/0
ip address 12.1.1.0 24
R2 配置
sysname R2
# 配置环回接口
interface LoopBack 1
ip address 2.2.2.2 32 # 建邻环回
# 配置连接R1的物理接口
interface GigabitEthernet 0/0/0
ip address 12.1.1.1 24 # 与R1的G0/0/0对接,注意IP地址要在同一网段,这里根据题目示意调整,保证连通性,实际可按需规划,只要同一网段即可,示例中简单设置
# 配置连接AS2内部其他设备的接口,比如连接R3的G0/0/1和连接R5的G0/0/2等,先配置连接R3的
interface GigabitEthernet 0/0/1
ip address 172.16.1.0 30
interface GigabitEthernet 0/0/2
ip address 172.16.1.20 30
R3 配置
sysname R3
# 配置环回接口
interface LoopBack 0
ip address 3.3.3.3 32 # 建邻环回
interface LoopBack 1
ip address 172.16.3.0 24 # 业务网段,后续OSPF传递
# 配置物理接口
interface GigabitEthernet 0/0/0
ip address 172.16.1.1 30 # 连接R2
interface GigabitEthernet 0/0/1
ip address 172.16.1.5 30 # 连接R4
R4 配置
sysname R4
# 配置环回接口
interface LoopBack 0
ip address 4.4.4.4 32 # 建邻环回
# 配置物理接口
interface GigabitEthernet 0/0/0
ip address 172.16.1.4 30 # 连接R3
interface GigabitEthernet 0/0/1
ip address 172.16.1.9 30 # 连接R7
R5 配置
sysname R5
# 配置环回接口
interface LoopBack 0
ip address 5.5.5.5 32 # 建邻环回
interface LoopBack 1
ip address 172.16.5.0 24 # 业务网段,后续OSPF传递
# 配置物理接口
interface GigabitEthernet 0/0/0
ip address 172.16.1.21 30 # 连接R2
interface GigabitEthernet 0/0/1
ip address 172.16.1.17 30 # 连接R6
R6 配置
sysname R6
# 配置环回接口
interface LoopBack 0
ip address 6.6.6.6 32 # 建邻环回
interface LoopBack 1
ip address 172.16.6.0 24 # 业务网段,后续OSPF传递
# 配置物理接口
interface GigabitEthernet 0/0/0
ip address 172.16.1.18 30 # 连接R5
interface GigabitEthernet 0/0/1
ip address 172.16.1.13 30 # 连接R7
R7 配置
sysname R7
# 配置环回接口
interface LoopBack 0
ip address 7.7.7.7 32 # 建邻环回
interface LoopBack 1
ip address 172.16.7.0 24 # 业务网段,后续OSPF传递
# 配置物理接口
interface GigabitEthernet 0/0/0
ip address 172.16.1.12 30 # 连接R6
interface GigabitEthernet 0/0/1
ip address 172.16.1.9 30 # 连接R4
interface GigabitEthernet 0/0/2
ip address 34.1.1.0 24 # 连接R8
R8 配置
sysname R8
# 配置环回接口
interface LoopBack 0
ip address 8.8.8.8 32 # 建邻环回
interface LoopBack 1
ip address 192.168.2.0 24 # 业务网段(题目要求该地址不能在任何协议中宣告,后续通过BGP处理 )
# 配置连接R7的物理接口
interface GigabitEthernet 0/0/0
ip address 34.1.1.1 24
2、OSPF 配置(AS2 内部 R2、R3、R5、R6、R7 等设备,按题目要求合理划分业务网段并配置 OSPF ,这里假设 OSPF 区域为区域 0 ,实际可根据网络规模等调整 )
R2 配置 OSPF
ospf 1
area 0
network 172.16.1.20 0.0.0.3 # 连接R5的接口网段
network 172.16.1.0 0.0.0.3 # 连接R3的接口网段
R3 配置 OSPF
ospf 1
area 0
network 3.3.3.3 0.0.0.0 # 自身环回(可按需决定是否宣告,这里为方便OSPF设备间了解拓扑宣告 )
network 172.16.3.0 0.0.0.255 # 业务网段
network 172.16.1.1 0.0.0.3 # 连接R2的接口网段
network 172.16.1.5 0.0.0.3 # 连接R4的接口网段
R5 配置 OSPF
ospf 1
area 0
network 5.5.5.5 0.0.0.0 # 自身环回
network 172.16.5.0 0.0.0.255 # 业务网段
network 172.16.1.21 0.0.0.3 # 连接R2的接口网段
network 172.16.1.17 0.0.0.3 # 连接R6的接口网段
R6 配置 OSPF
ospf 1
area 0
network 6.6.6.6 0.0.0.0 # 自身环回
network 172.16.6.0 0.0.0.255 # 业务网段
network 172.16.1.18 0.0.0.3 # 连接R5的接口网段
network 172.16.1.13 0.0.0.3 # 连接R7的接口网段
R7 配置 OSPF
ospf 1
area 0
network 7.7.7.7 0.0.0.0 # 自身环回
network 172.16.7.0 0.0.0.255 # 业务网段
network 172.16.1.12 0.0.0.3 # 连接R6的接口网段
network 172.16.1.9 0.0.0.3 # 连接R4的接口网段
3、BGP 配置(配置 AS 号,建立 BGP 邻居关系,处理路由传递等 ,题目要求用 BGP 让所有设备环回可互相访问,减少路由条目数量、避免环路 )
1. AS1 中的 R1 配置 BGP(AS1 )
bgp 1 # 假设AS1号为1,实际按题目逻辑,这里AS1单独一个AS
peer 2.2.2.2 as-number 2 # 与R2(属于AS2相关,后续看整体AS2内部分为AS64512、AS64513等,这里先按大的AS2逻辑,实际BGP配置要处理联盟等,后续细化 ,这里先简单示意,实际要根据题目中AS2拆分为联盟的情况调整,比如R2所在AS64512,所以正确的是 peer 2.2.2.2 as-number 64512 ,以下命令逐步修正 )
# 先修正,因为R2所在是AS64512(看拓扑中AS2内有AS64512、AS64513等,属于联盟场景 )
bgp 1
peer 2.2.2.2 as-number 64512
peer 2.2.2.2 connect-interface LoopBack 0 # 使用环回接口建邻
# 宣告相关路由(因为题目中192.168.1.0/24不能在其他协议宣告,要让BGP传递其可达性,可通过network命令,但注意network命令要求本地有精确的路由,所以先确保路由表中有该路由,这里R1环回1是192.168.1.0/24,所以:network 192.168.1.0 24 # 这里因为R1的LoopBack1接口有该网段,且掩码匹配,所以可以宣告 ,但题目说不能在任何协议中宣告,哦,题目要求“AS1中存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告” ,那不能用network命令,要通过其他方式,比如BGP的import-route或者利用BGP的路由反射、聚合等传递路由信息,或者把该网段的路由通过BGP的network命令但结合策略不宣告到其他协议? 不对,题目意思是这个地址不能在OSPF等协议中宣告,只通过BGP传递,所以可以在BGP中用network命令,因为BGP的network是宣告到BGP协议自身,不是其他协议 。所以继续:
network 192.168.1.0 24
# 同时,要让R1的LoopBack0(1.1.1.1/32 )能被其他设备访问,宣告:
network 1.1.1.1 32
2. AS2 中的 R2 配置 BGP(AS64512 ,属于联盟中的 AS )
bgp 64512
confederation id 2 # 配置联盟ID为2,因为属于AS2的联盟
peer 1.1.1.1 as-number 1
peer 1.1.1.1 connect-interface LoopBack 0
peer 3.3.3.3 as-number 64512 # R3也在AS64512
peer 3.3.3.3 connect-interface LoopBack 0
peer 5.5.5.5 as-number 64513 # R5所在AS64513,属于联盟伙伴
peer 5.5.5.5 connect-interface LoopBack 0
# 配置联盟
confederation peer-as 64513
# 处理路由聚合等,减少路由条目,比如对AS2内部OSPF的业务网段聚合
# 先看OSPF中R3、R5等有业务网段,比如R3的172.16.3.0/24,R5的172.16.5.0/24等,可在R2上做聚合
aggregate 172.16.0.0 16 detail-suppressed # 聚合AS2内部的172.16.0.0/16网段,抑制明细
3. AS2 中的 R3 配置 BGP(AS64512 )
bgp 64512
confederation id 2
peer 2.2.2.2 as-number 64512
peer 2.2.2.2 connect-interface LoopBack 0
peer 4.4.4.4 as-number 64512
peer 4.4.4.4 connect-interface LoopBack 0
# 配置OSPF与BGP的交互(如果要传递OSPF的业务网段到BGP ,但题目中业务网段是在OSPF中,要让BGP传递,可通过import-route ospf命令 )
import-route ospf 1 # 导入OSPF 1的路由到BGP,但要注意过滤和聚合,减少路由条目
# 同时配置聚合,比如对172.16.0.0/16聚合
aggregate 172.16.0.0 16 detail-suppressed
4. AS2 中的 R4 配置 BGP(AS64512 ?看拓扑 R4 属于 AS2 中的哪个联盟?拓扑中 R4 在 AS64512 区域?看拓扑,R2、R3、R4 在 AS64512(橙色区域),R5、R6、R7 在 AS64513(绿色区域) )
bgp 64512
confederation id 2
peer 3.3.3.3 as-number 64512
peer 3.3.3.3 connect-interface LoopBack 0
peer 7.7.7.7 as-number 64513
peer 7.7.7.7 connect-interface LoopBack 0
# 导入OSPF路由(如果有),并聚合
import-route ospf 1
aggregate 172.16.0.0 16 detail-suppressed
5. AS2 中的 R5 配置 BGP(AS64513 )
bgp 64513
confederation id 2
peer 2.2.2.2 as-number 64512
peer 2.2.2.2 connect-interface LoopBack 0
peer 6.6.6.6 as-number 64513
peer 6.6.6.6 connect-interface LoopBack 0
# 导入OSPF路由,聚合
import-route ospf 1
aggregate 172.16.0.0 16 detail-suppressed
confederation peer-as 64512
6. AS2 中的 R6 配置 BGP(AS64513 )
bgp 64513
confederation id 2
peer 5.5.5.5 as-number 64513
peer 5.5.5.5 connect-interface LoopBack 0
peer 7.7.7.7 as-number 64513
peer 7.7.7.7 connect-interface LoopBack 0
# 导入OSPF路由,聚合
import-route ospf 1
aggregate 172.16.0.0 16 detail-suppressed
7. AS2 中的 R7 配置 BGP(AS64513 )
bgp 64513
confederation id 2
peer 4.4.4.4 as-number 64512
peer 4.4.4.4 connect-interface LoopBack 0
peer 6.6.6.6 as-number 64513
peer 6.6.6.6 connect-interface LoopBack 0
peer 8.8.8.8 as-number 3 # 与R8(AS3 )建邻
peer 8.8.8.8 connect-interface LoopBack 0
# 导入OSPF路由,聚合
import-route ospf 1
aggregate 172.16.0.0 16 detail-suppressed
8. AS3 中的 R8 配置 BGP(AS3 )
# 进入 BGP 进程,AS 号为 3
bgp 3
# 配置与 R7(属于 AS64513 )建立 BGP 邻居关系,使用环回接口建邻
peer 7.7.7.7 as-number 64513
peer 7.7.7.7 connect-interface LoopBack 0
# 配置联盟相关(因为 R7 所在 AS 属于 AS2 联盟中的 AS64513 ,若需要适配联盟场景的额外配置,这里根据实际情况,目前先保证基础建邻 )
# 宣告自身环回路由,让其他设备通过 BGP 学习到
# 环回 0:8.8.8.8/32 ,可宣告
network 8.8.8.8 32
# 环回 1:192.168.2.0/24 ,题目要求不能在任何协议中宣告,但要让其能被 AS1 中的 192.168.1.0/24 环回 ping 通,需要通过 BGP 传递可达性。由于不能用其他协议宣告,这里通过 BGP 的 network 命令,前提是本地路由表中有该精确路由(R8 环回 1 接口有此网段 )
network 192.168.2.0 24
4、路由优化与防环补充配置(各设备按需配置,进一步减少路由条目、避免环路 )
R2(AS64512 )配置 BGP 路由聚合与反射器(示例,根据实际拓扑调整 )
# 进入 BGP 进程
bgp 64512
# 配置路由聚合,对 AS2 内部 172.16.0.0/16 网段聚合,减少路由条目
aggregate 172.16.0.0 16 detail-suppressed
# 若作为路由反射器,配置反射客户端(比如 R3、R5 等,根据拓扑中邻居关系 )
peer 3.3.3.3 reflect-client
peer 5.5.5.5 reflect-client
# 配置联盟相关属性,确保路由在联盟内传递时的防环
confederation id 2
confederation peer-as 64513
R3(AS64512 )配置 OSPF 与 BGP 交互及聚合
# 进入 OSPF 进程,确保业务网段正确传递
ospf 1
area 0
# 宣告自身业务网段 172.16.3.0/24 ,以及连接其他设备的接口网段(示例,根据实际接口调整 )
network 172.16.3.0 0.0.0.255
network 172.16.1.0 0.0.0.3
# 进入 BGP 进程
bgp 64512
# 导入 OSPF 路由到 BGP ,但通过聚合减少条目
import-route ospf 1
aggregate 172.16.0.0 16 detail-suppressed
# 配置与其他 BGP 邻居的关系,确保路由传递
peer 2.2.2.2 as-number 64512
peer 2.2.2.2 connect-interface LoopBack 0
peer 4.4.4.4 as-number 64512
peer 4.4.4.4 connect-interface LoopBack 0
R7(AS64513 )配置 BGP 路由衰减(示例,可选配置,应对路由振荡 )
# 进入 BGP 进程
bgp 64513
# 配置路由衰减,抑制频繁振荡的路由
dampening 15 750 2000 10000
# 配置与 R4、R6、R8 等邻居的关系,确保环回路由传递
peer 4.4.4.4 as-number 64512
peer 4.4.4.4 connect-interface LoopBack 0
peer 6.6.6.6 as-number 64513
peer 6.6.6.6 connect-interface LoopBack 0
peer 8.8.8.8 as-number 3
peer 8.8.8.8 connect-interface LoopBack 0
5、测试与验证(各设备执行相关查看命令 )
在 R1 上测试 ping 通 R8 的 192.168.2.0/24 环回
# 在 R1 用户视图执行
ping -a 192.168.1.1 192.168.2.1
# 查看 BGP 路由表,确认 192.168.2.0/24 路由存在
display bgp routing-table 192.168.2.0 24
在各设备上查看 BGP 邻居状态与路由表
# 查看 BGP 邻居状态
display bgp peer
# 查看 BGP 路由表
display bgp routing-table
# 查看 OSPF 邻居与路由表(AS2 内部设备 )
display ospf peer
display ospf routing-table