帮助我们改善您的体验。

让我们了解您的想法。

您是否能抽出两分钟的时间完成一份问卷调查?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
BGP 用户指南
Table of Contents Expand all
list Table of Contents

机器翻译对您有帮助吗?

starstarstarstarstar
Go to English page
免责声明:

我们将使用第三方机器翻译软件翻译本页面。瞻博网络虽已做出相当大的努力提供高质量译文,但无法保证其准确性。如果对译文信息的准确性有任何疑问,请参阅英文版本. 可下载的 PDF 仅提供英文版.

BGP 社区的路由策略

date_range 18-Jan-25

将 BGP 社区、扩展社区和大型社区理解为路由策略匹配条件

BGP 社区是一组共享公共属性的目标。社区信息作为路径属性包含在 BGP 更新消息中。此信息可识别社区成员,并使您能够对组执行操作,而无需详细说明每个成员。您可以使用社区和扩展社区属性来触发路由决策,例如接受、拒绝、优先或重新分发。

您可以通过配置(适用于静态、聚合或生成的路由)或导入路由策略将社区标记分配给非 BGP 路由。然后,当 BGP 导出路由时,可以匹配这些标记。

社区值是一个 32 位字段,分为两个主要部分。值的前 16 位对发起社区的网络的 AS 编号进行编码,而后 16 位则携带由 AS 分配的唯一编号。此系统尝试为互联网中的每个 AS 保证一组全局唯一的社区值。Junos OS 使用 表示 as-number:community-value法 ,其中每个值都是十进制数。将保留 AS 值 0 和 65,535,这些 AS 编号中的所有社区值。每个社区或一组社区在配置层次结构中 [edit policy-options] 都有一个名称。社区的名称向路由设备唯一标识它,并用作对路由进行分类的方法。例如,社区值为 64510:1111 的路由可能属于名为 AS64510-routes的社区。社区名称也在路由策略中用作匹配标准或操作。创建社区的命令语法为:策略选项 community name members [community-ids]. 它们是 community-ids 单个社区值或多个社区值。当为社区名称分配多个值时,路由设备会将其解释为社区值的逻辑 AND。换句话说,路由必须具有所有配置的值,然后才能分配社区名称。

常规社区属性是四个八位位组。网络增强功能(如 VPN)具有可由社区等属性满足的功能要求。但是,4 个八位字节社区值无法提供足够的扩展性和灵活性来满足 VPN 要求。这导致了扩展社区的创建。扩展社区是一个 8 个八位字节的值,也分为两个主要部分。社区的前 2 个八位位组对类型字段进行编码,而后 6 个八位位组以类型字段定义的格式携带一组唯一的数据。扩展社区为社区分组或分类提供了更大的范围。

BGP 扩展社区属性格式包含三个字段:type:administrator:assigned-number。路由设备希望您使用单词 targetorigin 表示类型字段。管理员字段对 AS 或 IPv4 地址使用十进制数,而分配的编号字段要求十进制数不大于字段大小(2 个八位位组为 65,535,4 个八位位组为 4,294,967,295)。

为标准和扩展社区属性指定社区 ID 时,可以使用 UNIX 样式的正则表达式。唯一的例外是 VPN 导入策略 (vrf-import),它不支持扩展社区属性的正则表达式。

常规 BGP 社区属性是一个可变长度属性,由一组或多个被拆分为 16 位值的 4 字节值组成。最高有效字被解释为 AS 编号,最低有效字是由 AS 运算符分配的本地定义的值。自从采用 4 字节 ASN 以来,4 字节 BGP 常规社区和 6 字节 BGP 扩展社区无法再支持 BGP 社区属性。运营商通常在 BGP 社区的本地部分对 AS 编号进行编码,这意味着有时社区的格式为 ASN:ASN。使用 4 字节 ASN ,您需要 8 个字节对其进行编码。尽管 BGP 扩展社区允许将 4 字节 AS 编码为全局管理员字段,但本地管理员字段只有 2 个字节的可用空间。因此,6 字节扩展社区属性也不合适。为了克服这个问题,Junos OS 允许您配置可选的传递路径属性 - 一个 12 字节 BGP 大型社区,提供最重要的 4 字节值以全局管理员身份对自治系统编号进行编码,其余两个 4 字节分配的编号用于对 RFC 8092 中定义的本地值进行编码。可以在和[edit routing-options static route ip-address community]层次结构级别配置 [edit policy-options community community-name members] BGP 大型社区。BGP 大型社区属性格式有四个字段:largeglobal administrator:assigned number:assigned number.

BGP IPv6 单播地址特定的扩展社区被编码为一组 20 字节值。20 字节值按以下格式解释:

  • 最高有效 2 字节对“类型”和“子类型”值(高值(最高有效字节)和低值(第二有效字节))进行编码。

  • 接下来的 16 字节对 IPv6 单播地址进行编码。它是 IETF RFC 中的全局管理员。

  • 最后 2 个字节对运算符定义的本地值进行编码。它是 IETF RFC 中的本地管理员。

IPv6 单播地址特定的 BGP 扩展社区属性由关键字 ipv6-targetipv6-origin表示,或 ipv6-extended 后跟 IPv6 和本地管理员,以 <、> 和 : 分隔。

注:

BGP 大型社区属性值的长度应为 12 的非零倍数。

示例:配置路由策略以将具有特定公共组标记的 BGP 路由重新分发到 IS-IS 中

此示例定义了一个策略,该策略从社区获取 BGP 路由 Edu ,并将其放入指标为 63 的 IS-IS 中。

要求

配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

图 1 显示了此示例中使用的拓扑。

图 1: 将具有特定公共组标记的 BGP 路由重新分发到 IS-IS 中将具有特定公共组标记的 BGP 路由重新分发到 IS-IS 中

在此示例中,设备 A、设备 B、设备 C 和设备 D 位于自治系统 (AS) 1 中,并且正在运行 IS-IS。除设备 D 外,所有 AS 1 设备都在运行内部 BGP (IBGP)。

设备 E 位于 AS 2 中,与设备 C 具有外部 BGP (EBGP) 对等会话。设备 E 有两个静态路由:10.2.0.0/16 和 10.3.0.0/16。这些路由使用 Edu 2:5 社区属性进行标记,并通过 EBGP 向设备 C 播发。

设备 C 接受使用 Edu 2:5 社区属性标记的 BGP 路由,将这些路由重新分发到 IS-IS,并将 IS-IS 衡量指标 63 应用于这些路由。

CLI 快速配置 显示了 中 图 1所有设备的配置。#d206e65__d206e386本节介绍设备 C 和设备 E 上的步骤。

配置

程序

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit] 中。

设备 A

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.5/30
set interfaces fe-1/2/0 unit 0 family iso
set interfaces lo0 unit 0 family inet address 192.168.0.1/32
set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
set protocols bgp group int type internal
set protocols bgp group int local-address 192.168.0.1
set protocols bgp group int neighbor 192.168.0.2
set protocols bgp group int neighbor 192.168.0.3
set protocols isis interface fe-1/2/0.0 level 1 disable
set protocols isis interface lo0.0
set routing-options router-id 192.168.0.1
set routing-options autonomous-system 1

设备 B

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.6/30
set interfaces fe-1/2/0 unit 0 family iso
set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.9/30
set interfaces fe-1/2/1 unit 0 family iso
set interfaces lo0 unit 0 family inet address 192.168.0.2/32
set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0002.00
set protocols bgp group int type internal
set protocols bgp group int local-address 192.168.0.2
set protocols bgp group int neighbor 192.168.0.1
set protocols bgp group int neighbor 192.168.0.3
set protocols isis interface fe-1/2/0.0 level 1 disable
set protocols isis interface fe-1/2/1.0 level 1 disable
set protocols isis interface lo0.0
set routing-options router-id 192.168.0.2
set routing-options autonomous-system 1

设备 C

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.10/30
set interfaces fe-1/2/0 unit 0 family iso
set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.13/30
set interfaces fe-1/2/1 unit 0 family iso
set interfaces fe-1/2/2 unit 0 family inet address 10.0.0.25/30
set interfaces fe-1/2/2 unit 0 family iso
set interfaces lo0 unit 0 family inet address 192.168.0.3/32
set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0003.00
set protocols bgp group int type internal
set protocols bgp group int local-address 192.168.0.3
set protocols bgp group int neighbor 192.168.0.1
set protocols bgp group int neighbor 192.168.0.2
set protocols bgp group external-peers type external
set protocols bgp group external-peers export send-isis-and-direct
set protocols bgp group external-peers peer-as 2
set protocols bgp group external-peers neighbor 10.0.0.26
set protocols isis export Edu-to-isis
set protocols isis interface fe-1/2/0.0 level 1 disable
set protocols isis interface fe-1/2/1.0 level 1 disable
set protocols isis interface fe-1/2/2.0 level 1 disable
set protocols isis interface fe-1/2/2.0 level 2 passive
set protocols isis interface lo0.0
set policy-options policy-statement Edu-to-isis term 1 from protocol bgp
set policy-options policy-statement Edu-to-isis term 1 from community Edu
set policy-options policy-statement Edu-to-isis term 1 then metric 63
set policy-options policy-statement Edu-to-isis term 1 then accept
set policy-options policy-statement send-isis-and-direct term 1 from protocol isis
set policy-options policy-statement send-isis-and-direct term 1 from protocol direct
set policy-options policy-statement send-isis-and-direct term 1 from route-filter 10.0.0.0/16 orlonger
set policy-options policy-statement send-isis-and-direct term 1 from route-filter 192.168.0.0/16 orlonger
set policy-options policy-statement send-isis-and-direct term 1 then accept
set policy-options community Edu members 2:5
set routing-options router-id 192.168.0.3
set routing-options autonomous-system 1

设备 D

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.14/30
set interfaces fe-1/2/0 unit 0 family iso
set interfaces lo0 unit 0 family inet address 192.168.0.4/32
set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0004.00
set protocols isis interface fe-1/2/0.0 level 1 disable
set protocols isis interface lo0.0
set routing-options router-id 192.168.0.4
set routing-options autonomous-system 1

设备 E

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.26/30
set interfaces lo0 unit 7 family inet address 192.168.0.5/32 primary
set interfaces lo0 unit 7 family inet address 10.2.0.1/32
set interfaces lo0 unit 7 family inet address 10.3.0.1/32
set protocols bgp group external-peers type external
set protocols bgp group external-peers export statics
set protocols bgp group external-peers peer-as 1
set protocols bgp group external-peers neighbor 10.0.0.25
set policy-options policy-statement statics from protocol static
set policy-options policy-statement statics then community add Edu
set policy-options policy-statement statics then accept
set policy-options community Edu members 2:5
set routing-options static route 10.2.0.0/16 reject
set routing-options static route 10.2.0.0/16 install
set routing-options static route 10.3.0.0/16 reject
set routing-options static route 10.3.0.0/16 install
set routing-options router-id 192.168.0.5
set routing-options autonomous-system 2
分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器

要配置设备 E:

  1. 配置接口。

    content_copy zoom_out_map
    [edit interfaces]
    user@E# set fe-1/2/0 unit 0 family inet address 10.0.0.26/30
    user@E# set lo0 unit 7 family inet address 192.168.0.5/32 primary
    user@E# set lo0 unit 7 family inet address 10.2.0.1/32
    user@E# set lo0 unit 7 family inet address 10.3.0.1/32
    
  2. statics配置策略,这会将Edu社区属性添加到静态路由。

    content_copy zoom_out_map
    [edit policy-options]
    user@E# set policy-statement statics from protocol static
    user@E# set policy-statement statics then community add Edu
    user@E# set policy-statement statics then accept
    user@E# set community Edu members 2:5
    
  3. 配置 EBGP 并应用 statics 策略。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@E# set type external
    user@E# set export statics
    user@E# set peer-as 1
    user@E# set protocols bgp group external-peers neighbor 10.0.0.25
    
  4. 配置静态路由。

    content_copy zoom_out_map
    [edit routing-options static]
    user@E# set route 10.2.0.0/16 reject
    user@E# set route 10.2.0.0/16 install
    user@E# set route 10.3.0.0/16 reject
    user@E# set route 10.3.0.0/16 install
    
  5. 配置路由器 ID 和 AS 编号。

    content_copy zoom_out_map
    [edit routing-options]
    user@E# set router-id 192.168.0.5
    user@E# set autonomous-system 2
    
分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器

要配置设备 C:

  1. 配置接口。

    content_copy zoom_out_map
    [edit interfaces]
    user@C# set fe-1/2/0 unit 0 family inet address 10.0.0.10/30
    user@C# set fe-1/2/0 unit 0 family iso
    user@C# set fe-1/2/1 unit 0 family inet address 10.0.0.13/30
    user@C# set fe-1/2/1 unit 0 family iso
    user@C# set fe-1/2/2 unit 0 family inet address 10.0.0.25/30
    user@C# set fe-1/2/2 unit 0 family iso
    user@C# set lo0 unit 0 family inet address 192.168.0.3/32
    user@C# set lo0 unit 0 family iso address 49.0002.0192.0168.0003.00
    
  2. 配置 IBGP。

    content_copy zoom_out_map
    [edit protocols bgp group int]
    user@C# set type internal
    user@C# set local-address 192.168.0.3
    user@C# set neighbor 192.168.0.1
    user@C# set neighbor 192.168.0.2
    
  3. 配置 Edu 到 ISIS 策略,该策略将重新分配从设备 E 获知的 Edu 标记的 BGP 路由,并应用指标 63。

    content_copy zoom_out_map
    [edit policy-options]
    user@C# set policy-statement Edu-to-isis term 1 from protocol bgp
    user@C# set policy-statement Edu-to-isis term 1 from community Edu
    user@C# set policy-statement Edu-to-isis term 1 then metric 63
    user@C# set policy-statement Edu-to-isis term 1 then accept
    user@C# set community Edu members 2:5
    
  4. 在接口上启用 IS-IS,并应用 Edu-to-ISIS 策略。

    content_copy zoom_out_map
    [edit protocols isis]
    user@C# set export Edu-to-isis
    user@C# set interface fe-1/2/0.0 level 1 disable
    user@C# set interface fe-1/2/1.0 level 1 disable
    user@C# set interface fe-1/2/2.0 level 1 disable
    user@C# set interface fe-1/2/2.0 level 2 passive
    user@C# set interface lo0.0
    
  5. 配置发送 ISIS 和直接策略,该策略通过 EBGP 将路由重新分发到设备 E。

    如果没有此策略,设备 E 将无法连接到 AS 1 中的网络。

    content_copy zoom_out_map
    [edit policy-options policy-statement send-isis-and-direct term 1]
    user@C# set from protocol isis
    user@C# set from protocol direct
    user@C# set from route-filter 10.0.0.0/16 orlonger
    user@C# set from route-filter 192.168.0.0/16 orlonger
    user@C# set then accept
    
  6. 配置 EBGP 并应用发送 ISIS 和直接策略。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@C# set type external
    user@C# set export send-isis-and-direct
    user@C# set peer-as 2
    user@C# set neighbor 10.0.0.26
    
  7. 配置路由器 ID 和自治系统 (AS) 编号。

    content_copy zoom_out_map
    [edit routing-options]
    user@C# set router-id 192.168.0.3
    user@C# set autonomous-system 1
    
结果

在配置模式下,输入 show interfacesshow protocolsshow policy-optionsshow routing-options 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

设备 E

content_copy zoom_out_map
user@E# show interfaces
fe-1/2/0 {
    unit 0 {
        family inet {
            address 10.0.0.26/30;
        }
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.5/32 {
                primary;
            }
            address 10.2.0.1/32;
            address 10.3.0.1/32;
        }
    }
}
content_copy zoom_out_map
user@E# show protocols
bgp {
    group external-peers {
        type external;
        export statics;
        peer-as 1;
        neighbor 10.0.0.25;
    }
}
content_copy zoom_out_map
user@E# show policy-options
policy-statement statics {
    from protocol static;
    then {
        community add Edu;
        accept;
    }
}
community Edu members 2:5;
content_copy zoom_out_map
user@E# show routing-options
static {
    route 10.2.0.0/16 {
        reject;
        install;
    }
    route 10.3.0.0/16 {
        reject;
        install;
    }
}
router-id 192.168.0.5;
autonomous-system 2;

设备 C

content_copy zoom_out_map
user@C# show interfaces
fe-1/2/0 {
    unit 0 {
        family inet {
            address 10.0.0.10/30;
        }
        family iso;
    }
}
fe-1/2/1 {
    unit 0 {
        family inet {
            address 10.0.0.13/30;
        }
        family iso;
    }
}
fe-1/2/2 {
    unit 0 {
        family inet {
            address 10.0.0.25/30;
        }
        family iso;
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.3/32;
        }
        family iso {
            address 49.0002.0192.0168.0003.00;
        }
    }
}
content_copy zoom_out_map
user@C# show protocols
bgp {
    group int {
        type internal;
        local-address 192.168.0.3;
        neighbor 192.168.0.1;
        neighbor 192.168.0.2;
    }
    group external-peers {
        type external;
        export send-isis-and-direct;
        peer-as 2;
        neighbor 10.0.0.26;
    }
}
isis {
    export Edu-to-isis;
    interface fe-1/2/0.0 {
        level 1 disable;
    }
    interface fe-1/2/1.0 {
        level 1 disable;
    }
    interface fe-1/2/2.0 {
        level 1 disable;
        level 2 passive;
    }
    interface lo0.0;
}
content_copy zoom_out_map
user@C# show policy-options
policy-statement Edu-to-isis {
    term 1 {
        from {
            protocol bgp;
            community Edu;
        }
        then {
            metric 63;
            accept;
        }
    }
}
policy-statement send-isis-and-direct {
    term 1 {
        from {
            protocol [ isis direct ];
            route-filter 10.0.0.0/16 orlonger;
            route-filter 192.168.0.0/16 orlonger;
        }
        then accept;
    }
}
community Edu members 2:5;
content_copy zoom_out_map
user@C# show routing-options
router-id 192.168.0.3;
autonomous-system 1;

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

验证 IS-IS 邻居

目的

验证来自设备 E 的 BGP 路由是否在 AS 1 中的 IS-IS 网络上通信。

操作

在操作模式下,输入 show route protocol isis 命令。

content_copy zoom_out_map
user@D> show route protocol isis
inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.4/30        *[IS-IS/18] 22:30:53, metric 30
                    > to 10.0.0.13 via fe-1/2/0.0
10.0.0.8/30        *[IS-IS/18] 22:30:53, metric 20
                    > to 10.0.0.13 via fe-1/2/0.0
10.0.0.24/30       *[IS-IS/18] 03:31:21, metric 20
                    > to 10.0.0.13 via fe-1/2/0.0
10.2.0.0/16        *[IS-IS/165] 02:36:31, metric 73
                    > to 10.0.0.13 via fe-1/2/0.0
10.3.0.0/16        *[IS-IS/165] 02:36:31, metric 73
                    > to 10.0.0.13 via fe-1/2/0.0
192.168.0.1/32     *[IS-IS/18] 03:40:28, metric 30
                    > to 10.0.0.13 via fe-1/2/0.0
192.168.0.2/32     *[IS-IS/18] 22:30:53, metric 20
                    > to 10.0.0.13 via fe-1/2/0.0
192.168.0.3/32     *[IS-IS/18] 22:30:53, metric 10
                    > to 10.0.0.13 via fe-1/2/0.0

iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
意义

正如预期的那样,10.2.0.0/16 和 10.3.0.0/16 路由作为 IS-IS 外部路由在设备 D 的路由表中,指标为 73。如果设备 C 未向指标添加 63,则设备 D 对这些路由的指标将为 10。

示例:配置可移除 BGP 社区的路由策略

此示例说明如何创建接受 BGP 路由但从路由中删除 BGP 社区的策略。

要求

在配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

此示例显示了两台路由设备之间具有外部 BGP (EBGP) 连接。设备 R2 使用 BGP 会话向设备 R1 发送两个静态路由。在设备 R1 上,导入策略指定必须从路由中删除所有 BGP 社区。

默认情况下,当在 EBGP 对等方上配置社区时,将发送并接受这些社区。要抑制接受从邻接收到的社区,可以移除所有社区或一组指定的社区。当策略的结果是一组空的社区时,不包括社区属性。要删除所有社区,请首先定义一组通配符社区(此处,社区命名wild为 ):

content_copy zoom_out_map
[edit policy-options]
community wild members "* : *";

然后,在路由策略语句中,指定 community delete 操作:

content_copy zoom_out_map
[edit policy-options]
policy-statement policy-name {
    term term-name {
        then community delete wild;
    }
}

要从任何自治系统 (AS) 中抑制特定社区,请将该社区 community wild members "*:community-value"定义为 。

拓扑学

图 2 显示了示例网络。

图 2: 删除社区的 BGP 策略删除社区的 BGP 策略

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit] 中。

设备 R1

content_copy zoom_out_map
set interfaces fe-1/1/0 unit 0 description to-R2
set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.1/30
set interfaces lo0 unit 0 family inet address 192.168.0.1/32
set protocols bgp group external-peers type external
set protocols bgp group external-peers peer-as 2
set protocols bgp group external-peers neighbor 10.0.0.2 import remove-communities
set policy-options policy-statement remove-communities term 1 from protocol bgp
set policy-options policy-statement remove-communities term 1 then community delete wild
set policy-options policy-statement remove-communities term 1 then accept
set policy-options policy-statement remove-communities term 2 then reject
set policy-options community wild members *:*
set routing-options router-id 192.168.0.1
set routing-options autonomous-system 1

设备 R2

content_copy zoom_out_map
set interfaces fe-1/1/0 unit 0 description to-R1
set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.2/30
set interfaces lo0 unit 0 family inet address 192.168.0.2/32
set protocols bgp group external-peers type external
set protocols bgp group external-peers export statics
set protocols bgp group external-peers peer-as 1
set protocols bgp group external-peers neighbor 10.0.0.1
set policy-options policy-statement statics from protocol static
set policy-options policy-statement statics then community add 1
set policy-options policy-statement statics then accept
set policy-options community 1 members 2:1
set policy-options community 1 members 2:2
set policy-options community 1 members 2:3
set policy-options community 1 members 2:4
set policy-options community 1 members 2:5
set policy-options community 1 members 2:6
set policy-options community 1 members 2:7
set policy-options community 1 members 2:8
set policy-options community 1 members 2:9
set policy-options community 1 members 2:10
set routing-options static route 10.2.0.0/16 reject
set routing-options static route 10.2.0.0/16 install
set routing-options static route 10.3.0.0/16 reject
set routing-options static route 10.3.0.0/16 install
set routing-options router-id 192.168.0.3
set routing-options autonomous-system 2

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置设备 R1:

  1. 配置接口。

    content_copy zoom_out_map
    [edit interfaces]
    user@R1# set fe-1/1/0 unit 0 description to-R2
    user@R1# set fe-1/1/0 unit 0 family inet address 10.0.0.1/30
    user@R1# set lo0 unit 0 family inet address 192.168.0.1/32
    
  2. 配置 BGP。

    将导入策略应用于与设备 R2 的 BGP 对等会话。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@R1# set type external
    user@R1# set peer-as 2
    user@R1# set neighbor 10.0.0.2 import remove-communities
    
  3. 配置删除社区的路由策略。

    content_copy zoom_out_map
    [edit policy-options policy-statement remove-communities]
    user@R1# set term 1 from protocol bgp
    user@R1# set term 1 then community delete wild
    user@R1# set term 1 then accept
    user@R1# set term 2 then reject
    
  4. 配置自治系统 (AS) 编号和路由器 ID。

    content_copy zoom_out_map
    [edit routing-options ]
    user@R1# set router-id 192.168.0.1
    user@R1# set autonomous-system 1
    
分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置设备 R2:

  1. 配置接口。

    content_copy zoom_out_map
    [edit interfaces]
    user@R2# set fe-1/1/0 unit 0 description to-R1
    user@R2# set fe-1/1/0 unit 0 family inet address 10.0.0.2/30
    user@R2# set lo0 unit 0 family inet address 192.168.0.2/32
    
  2. 配置路由器 ID 和自治系统 (AS) 编号。

    content_copy zoom_out_map
    [edit routing-options]
    user@R2# set router-id 192.168.0.3
    user@R2# set autonomous-system 2
    
  3. 配置 BGP。

    content_copy zoom_out_map
    [edit  protocols bgp group external-peers]
    user@R2# set type external
    user@R2# set peer-as 1
    user@R2# set neighbor 10.0.0.1
    
  4. 配置多个社区,或配置具有多个成员的单个社区。

    content_copy zoom_out_map
    [edit policy-options community 1]
    user@R2# set members 2:1
    user@R2# set members 2:2
    user@R2# set members 2:3
    user@R2# set members 2:4
    user@R2# set members 2:5
    user@R2# set members 2:6
    user@R2# set members 2:7
    user@R2# set members 2:8
    user@R2# set members 2:9
    user@R2# set members 2:10
    
  5. 配置静态路由。

    content_copy zoom_out_map
    [edit routing-options static]
    user@R2# set route 10.2.0.0/16 reject
    user@R2# set route 10.2.0.0/16 install
    user@R2# set route 10.3.0.0/16 reject
    user@R2# set route 10.3.0.0/16 install
    
  6. 配置路由策略,用于将静态路由播发到 BGP 中,并将 BGP 社区添加到路由。

    content_copy zoom_out_map
    [edit policy-options policy-statement statics]
    user@R2# set from protocol static
    user@R2# set then community add 1
    user@R2# set then accept
    
  7. 应用导出策略。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@R2# set export statics
    
结果

在配置模式下,输入 show interfacesshow protocolsshow policy-optionsshow routing-options 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

设备 R1

content_copy zoom_out_map
user@R1# show interfaces
fe-1/1/0 {
    unit 0{
        description to-R2;
        family inet {
            address 10.0.0.1/30;
        }
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.1/32;
        }
    }
}
content_copy zoom_out_map
user@R1# show protocols
bgp {
    group external-peers {
        type external;
        peer-as 2;
        neighbor 10.0.0.2 {
            import remove-communities;
        }
    }
}
content_copy zoom_out_map
user@R1# show policy-options
policy-statement remove-communities {
    term 1 {
        from protocol bgp;
        then {
            community delete wild;
            accept;
        }
    }
    term 2 {
        then reject;
    }
}
community wild members *:*;
content_copy zoom_out_map
user@R1# show routing-options
router-id 192.168.0.1;
autonomous-system 1;

设备 R2

content_copy zoom_out_map
user@R2# show interfaces
fe-1/1/0 {
    unit 0 {
        description to-R1;
        family inet {
            address 10.0.0.2/30;
        }
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.2/32;
        }
    }
}
content_copy zoom_out_map
user@R2# show protocols
bgp {
    group external-peers {
        type external;
        export statics;
        peer-as 1;
        neighbor 10.0.0.1;
    }
}
content_copy zoom_out_map
user@R2# show policy-options
policy-statement statics {
    from protocol static;
    then {
        community add 1;
        accept;
    }
}
community 1 members [ 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 ];
content_copy zoom_out_map
user@R2# show routing-options
static {
    route 10.2.0.0/16 {
        reject;
        install;
    }
    route 10.3.0.0/16 {
        reject;
        install;
    }
}
router-id 192.168.0.3;
autonomous-system 2;

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

验证 BGP 路由

目的

确保设备 R1 上的路由表不包含 BGP 社区。

操作
  1. 在设备 R1 上,运行 show route protocols bgp extensive 命令。

    content_copy zoom_out_map
    user@R1> show route protocols bgp extensive
    
    inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    10.2.0.0/16 (1 entry, 1 announced)
    TSI:
    KRT in-kernel 10.2.0.0/16 -> {10.0.0.2}
            *BGP    Preference: 170/-101
                    Next hop type: Router, Next hop index: 671
                    Address: 0x9458270
                    Next-hop reference count: 4
                    Source: 10.0.0.2
                    Next hop: 10.0.0.2 via lt-1/1/0.5, selected
                    Session Id: 0x100001
                    State: <Active Ext>
                    Local AS:     1 Peer AS:     2
                    Age: 20:39:01 
                    Validation State: unverified 
                    Task: BGP_2.10.0.0.2+179
                    Announcement bits (1): 0-KRT 
                    AS path: 2 I
                    Accepted
                    Localpref: 100
                    Router ID: 192.168.0.3
    
    10.3.0.0/16 (1 entry, 1 announced)
    TSI:
    KRT in-kernel 10.3.0.0/16 -> {10.0.0.2}
            *BGP    Preference: 170/-101
                    Next hop type: Router, Next hop index: 671
                    Address: 0x9458270
                    Next-hop reference count: 4
                    Source: 10.0.0.2
                    Next hop: 10.0.0.2 via lt-1/1/0.5, selected
                    Session Id: 0x100001
                    State: <Active Ext>
                    Local AS:     1 Peer AS:     2
                    Age: 20:39:01 
                    Validation State: unverified 
                    Task: BGP_2.10.0.0.2+179
                    Announcement bits (1): 0-KRT 
                    AS path: 2 I
                    Accepted
                    Localpref: 100
                    Router ID: 192.168.0.3
  2. 在设备 R1 上,停用 community remove 导入策略中的配置。

    content_copy zoom_out_map
    [edit policy-options policy-statement remove-communities term 1]
    user@R1# deactivate then community delete wild
    user@R1# commit
    
  3. 在设备 R1 上,运行 show route protocols bgp extensive 命令以查看播发的社区。

    content_copy zoom_out_map
    user@R1> show route protocols bgp extensive
    inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    10.2.0.0/16 (1 entry, 1 announced)
    TSI:
    KRT in-kernel 10.2.0.0/16 -> {10.0.0.2}
            *BGP    Preference: 170/-101
                    Next hop type: Router, Next hop index: 671
                    Address: 0x9458270
                    Next-hop reference count: 4
                    Source: 10.0.0.2
                    Next hop: 10.0.0.2 via lt-1/1/0.5, selected
                    Session Id: 0x100001
                    State: <Active Ext>
                    Local AS:     1 Peer AS:     2
                    Age: 20:40:53 
                    Validation State: unverified 
                    Task: BGP_2.10.0.0.2+179
                    Announcement bits (1): 0-KRT 
                    AS path: 2 I
                    Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10
                    Accepted
                    Localpref: 100
                    Router ID: 192.168.0.3
    
    10.3.0.0/16 (1 entry, 1 announced)
    TSI:
    KRT in-kernel 10.3.0.0/16 -> {10.0.0.2}
            *BGP    Preference: 170/-101
                    Next hop type: Router, Next hop index: 671
                    Address: 0x9458270
                    Next-hop reference count: 4
                    Source: 10.0.0.2
                    Next hop: 10.0.0.2 via lt-1/1/0.5, selected
                    Session Id: 0x100001
                    State: <Active Ext>
                    Local AS:     1 Peer AS:     2
                    Age: 20:40:53 
                    Validation State: unverified 
                    Task: BGP_2.10.0.0.2+179
                    Announcement bits (1): 0-KRT 
                    AS path: 2 I
                    Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10
                    Accepted
                    Localpref: 100
                    Router ID: 192.168.0.3
    
    
意义

输出显示,在设备 R1 的路由表中,从设备 R2 发送的 BGP 路由中抑制了社区。community remove停用设备 R1 导入策略中的设置后,将不再禁止显示社区。

示例:根据 BGP 社区数量配置路由策略

此示例说明如何根据 BGP 社区的数量创建接受 BGP 路由的策略。

要求

在配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

此示例显示了两台路由设备之间具有外部 BGP (EBGP) 连接。设备 R2 使用 BGP 会话向设备 R1 发送两个静态路由。在设备 R1 上,导入策略指定 BGP 接收的路由最多可以包含五个社区,以被视为匹配。例如,如果路径包含三个社区,则会将其视为匹配并被接受。如果路径包含六个或更多社区,则会将其视为不匹配并被拒绝。

请务必记住,EBGP 的默认策略是接受所有路由。若要确保拒绝不匹配的路由,必须在策略定义的末尾包含一个 then reject 操作。

拓扑学

图 3 显示了示例网络。

图 3: 对接受的社区数量有限制的 BGP 策略对接受的社区数量有限制的 BGP 策略

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit] 中。

设备 R1

content_copy zoom_out_map
set interfaces fe-1/1/0 unit 0 description to-R2
set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.1/30
set interfaces lo0 unit 0 family inet address 192.168.0.1/32
set protocols bgp group external-peers type external
set protocols bgp group external-peers peer-as 2
set protocols bgp group external-peers neighbor 10.0.0.2 import import-communities
set policy-options policy-statement import-communities term 1 from protocol bgp
set policy-options policy-statement import-communities term 1 from community-count 5 orlower
set policy-options policy-statement import-communities term 1 then accept
set policy-options policy-statement import-communities term 2 then reject
set routing-options router-id 192.168.0.1
set routing-options autonomous-system 1

设备 R2

content_copy zoom_out_map
set interfaces fe-1/1/0 unit 0 description to-R1
set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.2/30
set interfaces lo0 unit 0 family inet address 192.168.0.2/32
set protocols bgp group external-peers type external
set protocols bgp group external-peers export statics
set protocols bgp group external-peers peer-as 1
set protocols bgp group external-peers neighbor 10.0.0.1
set policy-options policy-statement statics from protocol static
set policy-options policy-statement statics then community add 1
set policy-options policy-statement statics then accept
set policy-options community 1 members 2:1
set policy-options community 1 members 2:2
set policy-options community 1 members 2:3
set policy-options community 1 members 2:4
set policy-options community 1 members 2:5
set policy-options community 1 members 2:6
set policy-options community 1 members 2:7
set policy-options community 1 members 2:8
set policy-options community 1 members 2:9
set policy-options community 1 members 2:10
set routing-options static route 10.2.0.0/16 reject
set routing-options static route 10.2.0.0/16 install
set routing-options static route 10.3.0.0/16 reject
set routing-options static route 10.3.0.0/16 install
set routing-options router-id 192.168.0.3
set routing-options autonomous-system 2

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置设备 R1:

  1. 配置接口。

    content_copy zoom_out_map
    [edit interfaces]
    user@R1# set fe-1/1/0 unit 0 description to-R2
    user@R1# set fe-1/1/0 unit 0 family inet address 10.0.0.1/30
    user@R1# set lo0 unit 0 family inet address 192.168.0.1/32
    
  2. 配置 BGP。

    将导入策略应用于与设备 R2 的 BGP 对等会话。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@R1# set type external
    user@R1# set peer-as 2
    user@R1# set neighbor 10.0.0.2 import import-communities
    
  3. 配置发送直接路由的路由策略。

    content_copy zoom_out_map
    [edit policy-options policy-statement import-communities]
    user@R1# set term 1 from protocol bgp
    user@R1# set term 1 from community-count 5 orlower
    user@R1# set term 1 then accept
    user@R1# set term 2 then reject
    
  4. 配置自治系统 (AS) 编号和路由器 ID。

    content_copy zoom_out_map
    [edit routing-options ]
    user@R1# set router-id 192.168.0.1
    user@R1# set autonomous-system 1
    
分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置设备 R2:

  1. 配置接口。

    content_copy zoom_out_map
    [edit interfaces]
    user@R2# set fe-1/1/0 unit 0 description to-R1
    user@R2# set fe-1/1/0 unit 0 family inet address 10.0.0.2/30
    user@R2# set lo0 unit 0 family inet address 192.168.0.2/32
    
  2. 配置路由器 ID 和自治系统 (AS) 编号。

    content_copy zoom_out_map
    [edit routing-options]
    user@R2# set router-id 192.168.0.3
    user@R2# set autonomous-system 2
    
  3. 配置 BGP。

    content_copy zoom_out_map
    [edit  protocols bgp group external-peers]
    user@R2# set type external
    user@R2# set peer-as 1
    user@R2# set neighbor 10.0.0.1
    
  4. 配置多个社区,或配置具有多个成员的单个社区。

    content_copy zoom_out_map
    [edit policy-options community 1]
    user@R2# set members 2:1
    user@R2# set members 2:2
    user@R2# set members 2:3
    user@R2# set members 2:4
    user@R2# set members 2:5
    user@R2# set members 2:6
    user@R2# set members 2:7
    user@R2# set members 2:8
    user@R2# set members 2:9
    user@R2# set members 2:10
    
  5. 配置静态路由。

    content_copy zoom_out_map
    [edit routing-options static]
    user@R2# set route 10.2.0.0/16 reject
    user@R2# set route 10.2.0.0/16 install
    user@R2# set route 10.3.0.0/16 reject
    user@R2# set route 10.3.0.0/16 install
    
  6. 配置路由策略,用于将静态路由播发到 BGP 中,并将 BGP 社区添加到路由。

    content_copy zoom_out_map
    [edit policy-options policy-statement statics]
    user@R2# set from protocol static
    user@R2# set then community add 1
    user@R2# set then accept
    
  7. 应用导出策略。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@R2# set export statics
    
结果

在配置模式下,输入 show interfacesshow protocolsshow policy-optionsshow routing-options 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

设备 R1

content_copy zoom_out_map
user@R1# show interfaces
fe-1/1/0 {
    unit 0{
        description to-R2;
        family inet {
            address 10.0.0.1/30;
        }
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.1/32;
        }
    }
}
}
content_copy zoom_out_map
user@R1# show protocols
bgp {
    group external-peers {
        type external;
        peer-as 2;
        neighbor 10.0.0.2 {
            import import-communities;
        }
    }
}
content_copy zoom_out_map
user@R1# show policy-options
policy-statement import-communities {
    term 1 {
        from {
            protocol bgp;
            community-count 5 orlower;
        }
        then accept;
    }
    term 2 {
        then reject;
    }
}
content_copy zoom_out_map
user@R1# show routing-options
router-id 192.168.0.1;
autonomous-system 1;

设备 R2

content_copy zoom_out_map
user@R2# show interfaces
fe-1/1/0 {
    unit 0 {
        description to-R1;
        family inet {
            address 10.0.0.2/30;
        }
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.2/32;
        }
    }
}
content_copy zoom_out_map
user@R2# show protocols
bgp {
    group external-peers {
        type external;
        export statics;
        peer-as 1;
        neighbor 10.0.0.1;
    }
}
content_copy zoom_out_map
user@R2# show policy-options
policy-statement statics {
    from protocol static;
    then {
        community add 1;
        accept;
    }
}
community 1 members [ 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 ];
content_copy zoom_out_map
user@R2# show routing-options
static {
    route 10.2.0.0/16 {
        reject;
        install;
    }
    route 10.3.0.0/16 {
        reject;
        install;
    }
}
router-id 192.168.0.3;
autonomous-system 2;

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

验证 BGP 路由

目的

确保设备 R1 上的路由表包含预期的 BGP 路由。

操作
  1. 在设备 R1 上,运行 show route protocols bgp 命令。

    content_copy zoom_out_map
    user@R1> show route protocols bgp
    
    inet.0: 5 destinations, 5 routes (3 active, 0 holddown, 2 hidden)
    
  2. 在设备 R1 上,更改 community-count 导入策略中的配置。

    content_copy zoom_out_map
    [edit policy-options policy-statement import-communities term 1]
    user@R1# set from community-count 5 orhigher
    user@R1# commit
    
  3. 在设备 R1 上,运行 show route protocols bgp 命令。

    content_copy zoom_out_map
    user@R1> show route protocols bgp
    
    inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.2.0.0/16        *[BGP/170] 18:29:53, localpref 100
                          AS path: 2 I, validation-state: unverified
                        > to 10.0.0.2 via fe-1/1/0.0
    10.3.0.0/16        *[BGP/170] 18:29:53, localpref 100
                          AS path: 2 I, validation-state: unverified
                        > to 10.0.0.2 via fe-1/1/0.0
  4. 在设备 R1 上,运行 show route protocols bgp extensive 命令以查看播发的社区。

    content_copy zoom_out_map
    user@R1> show route protocols bgp extensive
    inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    10.2.0.0/16 (1 entry, 1 announced)
    TSI:
    KRT in-kernel 10.2.0.0/16 -> {10.0.0.2}
            *BGP    Preference: 170/-101
                    Next hop type: Router, Next hop index: 671
                    Address: 0x9458270
                    Next-hop reference count: 4
                    Source: 10.0.0.2
                    Next hop: 10.0.0.2 via fe-1/1/0.0, selected
                    Session Id: 0x100001
                    State: <Active Ext>
                    Local AS:     1 Peer AS:     2
                    Age: 18:56:10 
                    Validation State: unverified 
                    Task: BGP_2.10.0.0.2+179
                    Announcement bits (1): 0-KRT 
                    AS path: 2 I
                    Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10
                    Accepted
                    Localpref: 100
                    Router ID: 192.168.0.3
    
    10.3.0.0/16 (1 entry, 1 announced)
    TSI:
    KRT in-kernel 10.3.0.0/16 -> {10.0.0.2}
            *BGP    Preference: 170/-101
                    Next hop type: Router, Next hop index: 671
                    Address: 0x9458270
                    Next-hop reference count: 4
                    Source: 10.0.0.2
                    Next hop: 10.0.0.2 via fe-1/1/0.0, selected
                    Session Id: 0x100001
                    State: <Active Ext>
                    Local AS:     1 Peer AS:     2
                    Age: 18:56:10 
                    Validation State: unverified 
                    Task: BGP_2.10.0.0.2+179
                    Announcement bits (1): 0-KRT 
                    AS path: 2 I
                    Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10
                    Accepted
                    Localpref: 100
                    Router ID: 192.168.0.3
    
    
意义

输出显示,在设备 R1 的路由表中,从设备 R2 发送的 BGP 路由是隐藏的。community-count修改设备 R1 导入策略中的设置后,BGP 路由将不再隐藏。

footer-navigation