• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

S6900 路由策略permit下匹配的前缀列表是deny 默认路由,这个是什么意思?

2025-08-21提问
  • 0关注
  • 0收藏,74浏览
粉丝:2人 关注:3人

问题描述:

1、路由策略permit下匹配的前缀列表是deny 默认路由,这个是什么意思?

2、想要实现引入bgp时拒绝引入bgp默认路由,其他bgp路由都引入,用路由策略加前缀列别的方式如何写呢?

1 个回答
粉丝:8人 关注:0人

核心含义

这个配置的目的是:​​在应用该路由策略的上下文中(例如路由引入、路由发布、路由接收时), 禁止默认路由(0.0.0.0/0)通过,但 允许所有其他路由通过。​

详细解释

  1. 1.

    ​路由策略 (route-policy)​​:

    • 路由策略由多个节点 (node) 组成,每个节点包含匹配条件 (if-match) 和执行动作 (apply)。

    • 执行动作 permit表示:​​如果匹配条件成立,则放行该路由,并可能执行附加动作(如设置属性)。​

  2. 2.

    ​前缀列表 (ip prefix-list)​​:

    • 前缀列表用于定义一组 IP 前缀的规则集。

    • 每条规则都有一个序号、动作 (permit或 deny) 以及匹配的前缀(如 0.0.0.0/0)。

    • ​关键点:​​ 前缀列表的 deny表示它 ​​拒绝匹配该前缀的路由​​。

  3. 3.

    ​组合逻辑 (permitif-match ip-prefixcontaining deny)​​:

    • 当你把 ​​一个包含 deny 0.0.0.0/0规则的前缀列表​​ 放在 permit节点的 if-match ip-prefix条件下时,逻辑是这样执行的:

      • if-match ip-prefix <your_prefix_list_name>:​​ 这个条件要求检查被处理的路由是否匹配指定的前缀列表。

      • ​前缀列表的执行规则:​​ 前缀列表是按序号从上到下执行的。如果路由匹配了其中一条规则,则立即返回该规则的动作 (permit或 deny) 作为匹配结果。

      • deny 0.0.0.0/0的作用:​

        • 如果被处理的路由是 ​​0.0.0.0/0 (默认路由)​​,它匹配了前缀列表中 deny 0.0.0.0/0这条规则。

        • 前缀列表为这条路由返回的匹配结果是 ​deny​。

      • permit节点的动作:​

        • 只有当 if-match条件为 ​​真(true)​​ 时,才执行节点的 permit动作。

        • 对于匹配结果是 deny的路由,if-match ip-prefix ...条件 ​​被认为是没有被满足​​(条件的结果被解释为 false或 匹配失败)。

      • ​因此:​

        • 当路由是 ​​0.0.0.0/0​​ 时:

          • 匹配了前缀列表中的 deny规则。

          • if-match ip-prefix ...条件返回 false/未匹配。

          • 该节点 (permit节点) 不执行任何动作(既不放行也不拒绝它)。

          • 该路由会继续向下一个节点(如果有)进行匹配。​​如果没有其他节点匹配它,或者后续节点都是 deny,那么这条默认路由最终将被过滤掉。​

        • 当路由是 ​​任何非默认路由 (如 192.168.1.0/24)​​ 时:

          • 它 ​​不会匹配​​ 前缀列表中的 deny 0.0.0.0/0规则。

          • 它​​需要匹配​​前缀列表中后面更普遍的规则(通常是隐式或显式的 permit 0.0.0.0/0 less-equal 32或类似的)。

          • 如果匹配了某个 permit规则,if-match ip-prefix ...条件返回 true/匹配成功。

          • permit节点的动作被触发:​​该非默认路由被放行。​

通俗总结与目的

  • ​“Permit节点里的deny前缀”是一种“​​ 黑名单​​”策略配置:​

    • 在这个 permit节点下,使用带 deny规则的前缀列表,目的是 ​​显式地拒绝某些特定路由(这里是默认路由)。​

    • 而这个节点的本意 (permit) 是 ​​允许所有其他路由​​ (被前缀列表中其他 permit规则匹配的路由) ​​通过​​。

  • ​最终效果等效于:​

    if (路由 == 0.0.0.0/0) { deny; // 过滤掉默认路由 } else { permit; // 允许所有其他路由 }

典型应用场景

这种配置最常见于以下情况:

  1. 1.

    ​OSPF 重分发静态路由:​

    • 你想将管理员配置的静态路由(包括一些具体的业务网段)引入到 OSPF 域中。

    • 但你 ​​不想将默认静态路由(如 ip route-static 0.0.0.0 0.0.0.0 <next-hop>)也引入到 OSPF​​,可能因为默认路由有特殊用途或在其他区域已分发,或者只想分发具体路由。

    • ​配置:​

      • 在 route-policy中:

        route-policy REDIST_STATIC permit node 10 if-match ip-prefix BLOCK_DEFAULT apply cost ... (其他apply动作)
      • 前缀列表:

        ip prefix-list BLOCK_DEFAULT index 10 deny 0.0.0.0/0 // 拒绝默认路由 ip prefix-list BLOCK_DEFAULT index 20 permit 0.0.0.0/0 less-equal 32 // 允许其他所有路由
    • 当重分发静态路由时应用此策略 import-route static route-policy REDIST_STATIC,具体静态路由会被引入(匹配到索引20的 permit),而静态默认路由则被过滤掉(匹配到索引10的 deny,导致if-match条件不成立,该节点不 permit它)。

  2. 2.

    ​BGP 路由发布/接收:​

    • 在向对等体发送或从对等体接收路由时,需要过滤掉默认路由(0.0.0.0/0)。

    • 使用此方法可以让一条策略清晰地实现“允许所有​​除了​​默认路由”。

重要提示

  • ​确保前缀列表有“兜底”规则:​​ 为了使“允许其他所有路由”生效,前缀列表通常需要在 deny 0.0.0.0/0后面跟一条 permit 0.0.0.0/0 less-equal 32或类似的规则,明确允许其他所有路由(因为前缀列表末尾通常有一个隐式的 deny any)。

  • ​理解匹配逻辑:​​ 核心是理解 if-match ip-prefix看的是前缀列表最终对该路由的裁决(permit或 deny),只有当前缀列表对该路由的裁决是 permit时,if-match条件才算匹配成功,才能触发所在节点的 permit动作。deny的裁决会导致 if-match不成功。

因此,permit 节点下匹配的前缀列表是 deny 默认路由是一种 ​​利用前缀列表deny规则的特性配合permit节点​​ 来实现 ​​过滤特定路由(此处是默认路由)并允许其他所有路由​​ 的高效配置方式。


暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明