当前位置: 首页 > news >正文

BGP 路由优选属性(7)【MED】官方考试综合实验题【bgp】【acl】【ip-prefix】【route-policy】【icmp 环路】精讲

目录

一、MED 属性介绍

二、实验

2.1 实验目的

2.2 拓扑图

2.2 实验说明

2.3 配置脚本

2.4 验证配置

2.5 问题分析

2.7 题目需求解析

2.8 场景 1:只允许在 AS12 上操作

2.9 场景 2:只允许在 AS34 上操作


正文

一、MED 属性介绍

  • MED 全称 multi-exit-discriminator,多出口鉴别符。
    • discriminator【英/dɪˈskrɪmɪneɪtə(r)/】n.[电子] 鉴别器;辨别者
  • 属性类型:可选非过度。
  • 特性
    • 具有类似于 cost 值的特性,其来源也是 cost 值。使用 bgp 引入路由条目时,使用 cost 的值来填写 MED 值。
    • 取值范围  4 bytes(0~4,294,967,296),越小越优。
    • 边界路由器在宣告 IGP 路由时,MED 值会继承 IGP 的 cost 值,IGP 的度量值(metric)会变成 BGP 的 MED 值。
  • MED 值的传递特性
    • 通常情况下,MED 值在 bgp 网络中只能传递 1 跳。
    • 唯一例外:在 ASBR(AS 边界路由器)从 EBGP 邻居(始发)接收到路由条目时,需要传递给 IBGP 邻居进行路由优选,此时传播距离为 2 跳。
    • 通过 route-policy 修改 EBGP 邻居路由条目携带的 Cost 值,在 MED 的视角上,可以视作 EBGP 邻居为这条被修改路由条目的始发地址。
  • 应用场景
    • 两个 AS 之间存在多条直连链路时,可以通过修改 MED 来区分主备链路。
    • 在边界路由器将路由条目通告给 EBGP 时对 MED 值进行修改。
    • 参考实验拓扑图。
  • 特殊命令:default med
    • 功能:用来配置 BGP 路由的缺省 MED 值。
      • 在默认情况当 MED 为 null 时,视作 MED=0。
      • 当使用 default med 命令修改 med 以后,原 MED=null  的条目的 MED 值将被修改成 default MED 设置的值。
    • 在配置了该命令后,对于本地始发起源为 ?(import-route 引入)的路由,在传递给 IBGP 邻居时 MED 值不变;传递给 EBGP 邻居是 MED 值修改为 default med。
    • 对于起源为 i(network 宣告)的条目无效。
    • !!! 通常不推荐使用这个方法来修改 MED 值,如果在实际应用场景中遇到,一定要谨慎分析

二、实验

2.1 实验目的
  • 通过修改 MED 属性,影响 AS 之间的选路行为。
2.2 拓扑图

2.2 实验说明
  • 本实验为【BGP 的选路原则 基础篇 精讲】的扩展实验,实验基础配置与基础实验相同。建议先完成基础实验的学习,再来进行本实验。
  • 本实验拓扑参考官方考试题
  • 其他关联内容学习传送门
    • ospf 基础
    • bgp 基础:【BGP 基础实验 精讲】
    • 路由策略:
      • acl 通配符掩码:【网络中的通配符掩码】
      • route-policy:【路由策略【ospf】【route-policy】【filter-policy】【ip-prefix】综合实验 精讲】
      • BGP import-route
      • 配置脚本中路由策略综合配置(蓝字)的解释请参考下列章节内容

【BGP 路由优选属性(4)【手动聚合>自动聚合>network>import>从对等体学到的】综合实验【bgp】【acl】【route-policy】精讲】<3.2 配置思路及步骤>小节

2.3 配置脚本
  • 脚本已验证,可以放心使用
  • R1

system-view

sysname R1

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 12.1.1.1 24

interface GigabitEthernet 0/0/1

ip address 13.1.1.1 24

interface Ethernet 0/0/0

ip address 172.16.1.254 24

interface LoopBack 0

ip address 1.1.1.1 32

ospf 1 router-id 1.1.1.1

area 0

network 12.1.1.1 0.0.0.0

network 1.1.1.1 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

 

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 12

router-id 1.1.1.1

peer 13.1.1.3 as-number 34

peer 2.2.2.2 as-number 12

peer 2.2.2.2 connect-interface LoopBack 0

peer 2.2.2.2 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

  • R2

system-view

sysname R2

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 12.1.1.2 24

interface GigabitEthernet 0/0/1

ip address 24.1.1.2 24

interface Ethernet 0/0/0

ip address 172.16.2.254 24

interface LoopBack 0

ip address 2.2.2.2 32

ospf 1 router-id 2.2.2.2

area 0

network 12.1.1.2 0.0.0.0

network 2.2.2.2 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

 

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 12

router-id 2.2.2.2

peer 24.1.1.4 as-number 34

peer 1.1.1.1 as-number 12

peer 1.1.1.1 connect-interface LoopBack 0

peer 1.1.1.1 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

  • R3

system-view

sysname R3

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 34.1.1.3 24

interface GigabitEthernet 0/0/1

ip address 13.1.1.3 24

interface Ethernet 0/0/0

ip address 172.16.3.254 24

interface LoopBack 0

ip address 3.3.3.3 32

ospf 1 router-id 3.3.3.3

area 0

network 34.1.1.3 0.0.0.0

network 3.3.3.3 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

 

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 34

router-id 3.3.3.3

peer 13.1.1.1 as-number 12

peer 4.4.4.4 as-number 34

peer 4.4.4.4 connect-interface LoopBack 0

peer 4.4.4.4 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

  • R4

system-view

sysname R4

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 34.1.1.4 24

interface GigabitEthernet 0/0/1

ip address 24.1.1.4 24

interface Ethernet 0/0/0

ip address 172.16.4.254 24

interface LoopBack 0

ip address 4.4.4.4 32

ospf 1 router-id 4.4.4.4

area 0

network 34.1.1.4 0.0.0.0

network 4.4.4.4 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

 

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 34

router-id 4.4.4.4

peer 24.1.1.2 as-number 12

peer 3.3.3.3 as-number 34

peer 3.3.3.3 connect-interface LoopBack 0

peer 3.3.3.3 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

2.4 验证配置
  • 根据路由之间的连线,确认 bgp 邻居建立情况

# 此处仅以 R1 为视角进行操作,剩下的路由器请自行验证。
<R1> display bgp peer

# 确认和邻居到达 Established 状态,则邻居建立成功。

  • 确认 bgp 路由表是否学习完所有条目。

# 此处仅以 R1 为视角进行操作,剩下的路由器请自行验证。
<R1> display bgp routing-table

# 确认所有路由器都学习到了 4 台 PC 所在网段的子网地址。

2.5 问题分析
  • 这个场景存在什么问题?

# 问题分析

       根据 BGP 的路由优选原则【8)优选从 EBGP 学来的路由(EBGP>IBGP)】,我们可以判断当前路由的走向如下图所示。

# 问题描述

       【PC1 --> PC4】(发包) 和 【PC4 --> PC1】(回复) 走了两条不同的路径,这将导致 ICMP 环路。

       ICMP 环路属于 最高级别 的网络故障,它将导致网络中出现大量的故障,包括路径不对称、状态丢失、TCP 连接建立失败、HTTPS/SSL 握手中断、HTTP 请求随机失败等,且对于网络安全有重大影响。

       在实际应用场景中体现为网页时好时坏、大量丢包、网络经常中断等并发现象。

  • 验证 ICMP 环路

# 在 R1 和 R2 的出口节点抓包,然后用 PC1 ping PC4

# 此时 cimp 数据是通的。

# 从 R2 发出的请求,从 R4 回复,明显发生了 ICMP 环路。

2.7 题目需求解析
  • 题目需求

需求概括:

    让 PC4 所有通往 PC1 的路径从 R3 经过。

    场景 1:

        假设网络工程师为 AS 12 的管理员,只拥有 AS 12 的配置权限。

    场景 2:

        假设网络工程师为 AS 34 的管理员,只拥有 AS 34 的配置权限。

  • 根据需求,我们需要实现的路径为下图所示。

2.8 场景 1:只允许在 AS12 上操作
  • 解题思路:假设我们是 AS 12 的管理员,只有 AS12 的权限,无法查看 AS34 的配置。已知 AS12 和 AS 34 是对称拓扑,那么我们就观察 AS12 当前 bgp 的路由条目,来分析情况。

<R1> display bgp routing-table

# 情况分析
       从 R1 --> R4 的优选路由下一跳走 13.1.1.3(R4,EBGP),MED 属性值为 null

       由此我们可推测从 R4 --> R1 的优选路由走 R2(EBGP),且 MED 属性值为 null

  • 解题思路:在 R2 上进行配置,修改 med 属性值

# 配置方法:在 R2 将路由条目 172.16.1.0/24 通告给 R4 时, 修改 Cost 值


# 1、创建 ip-prefix 前缀列表,命名为 172.16.1.0,抓取 172.16.1.0/24 的路由条目。

[R2] ip ip-prefix 172.16.1.0 index 10 permit 172.16.1.0 24

 

# 2、创建 route-policy 路由策略,命名 COST-1000

[R2] route-policy COST-1000 permit node 10

 

# 3、在 route-policy COST-1000 中匹配 ip-prefix 172.16.1.0

[R2-route-policy] if-match ip-prefix 172.16.1.0

 

# 4、修改 Cost=1000

[R2-route-policy] apply cost 1000

 

# 5、配置兜底策略,放行所有路由条条目

[R2] route-policy COST-1000 permit node 20

 

# 6、进入 bgp,在 R2 将路由条目通告给 R4(peer 24.1.1.4)时,挂载 route-policy COST-1000 路由策略

[R2] bgp 12

[R2-bgp] peer 24.1.1.4 route-policy COST-1000 export

# 注意:本设备路由条目发布给其他设备时 route-policy 的方向是 export

  • 验证

# 注意:bgp 收敛较慢,配置完需要等待一段时间(32 秒),才能观察到现象。

# 在 R4 查看 med 值,并观察优选路由。

<R4> display bgp routing-table

# 通往 24.1.1.2 的路由条目 MED 值修改成功。

# 通往 172.16.1.0/24 的优选路由条目下一跳是 3.3.3.3(R3)。

# ping 测试:pc1 ping pc4,并且在 R1 和 R2 的出口抓包观察。

# 结果:ping 的发包路径和回包路径统一了,解决了 ICMP 环路问题。

2.9 场景 2:只允许在 AS34 上操作
  • 解题思路:在 R4 接收从 R2 通告的路由条目时,修改 cost 值。
  • 在 R4 上进行配置

# 1、创建 ip-prefix 前缀列表,命名为 172.16.1.0,抓取 172.16.1.0/24 的路由条目。

[R4] ip ip-prefix 172.16.1.0 index 10 permit 172.16.1.0 24

 

# 2、创建 route-policy 路由策略,命名 COST-4000

[R4] route-policy COST-4000 permit node 10

 

# 3、在 route-policy COST-4000 中匹配 ip-prefix 172.16.1.0

[R4-route-policy] if-match ip-prefix 172.16.1.0

 

# 4、修改 Cost=4000

[R4-route-policy] apply cost 4000

 

# 5、配置兜底策略,放行所有路由条条目

[R4] route-policy COST-4000 permit node 20

 

# 6、进入 bgp,在 R4 接收从 R2(peer 24.1.1.2) 通告的路由条目时,挂载 route-policy COST-4000 路由策略。

[R4] bgp 34

[R4-bgp] peer 24.1.1.2 route-policy COST-4000 import

# 注意:本设备从外部路引入路由条目时,策略路由需要使用 import 方向。

  • 验证

<R4> display bgp routing-table

# ping 测试和抓包测试请自行进行测试。
# 测试方法参考场景 1。

http://www.dtcms.com/a/276518.html

相关文章:

  • 基于同花顺API的熊市与牛市识别模型开发及因子分析
  • CCS-MSPM0G3507-2-基础篇-定时器中断
  • Linux如何设置自启动程序?
  • 复现永恒之蓝
  • LINUX文件系统权限,命令解释器alias,文件查看和查找
  • frp内网穿透教程及相关配置
  • LaTeX | 在电脑上输入专业数学符号
  • Cursor创建Spring Boot项目
  • CUDA Graph与torch.compile推理计算图捕获详解
  • 电网通俗解析术语2:一二次设备关联
  • 【数据结构初阶】--单链表(一)
  • 细解muduo中的每个核心类
  • C++ const 关键字解析
  • windows 改用 nvm
  • 睿抗CAIP编程技能
  • AI 助力编程:Cursor Vibe Coding 场景实战演示
  • js二维数组如何变为一维数组
  • 数位动态规划详解
  • 顺序队列和链式队列
  • 淘宝商品评论API接口使用指南
  • 【C#】GraphicsPath的用法
  • Filament引擎(三) ——引擎渲染流程
  • Windows安装SSH
  • python库之jieba 库
  • 当大模型遇见毫米波:用Wi-Fi信号做“透视”的室内语义SLAM实践——从CSI到神经辐射场的端到端开源方案
  • 【Scratch】从入门到放弃(五):指令大全-九大类之运算、变量、自制积木
  • 下雨天的思考
  • 2025 XYD Summer Camp 7.10 筛法
  • Fusion: 无需路径条件的路径敏感分析
  • 端到端自动驾驶:挑战与前沿