Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

配置路由策略以控制 BGP 路由通告

 

所有路由协议都使用 Junos OS 路由表来存储它们所了解的路由,并确定它们应在其协议数据包中通告的路由。路由策略允许您控制路由协议在路由表中存储和检索的路由。有关路由策略的信息,请参阅路由策略、防火墙过滤器和流量监管器功能指南

配置 BGP 路由策略时,可以执行以下任务:

应用路由策略

您可以在[edit policy-options]层次结构级别定义路由策略。要应用您为 BGP 定义的策略,请在import BGP export配置中包含 and 语句。

您可以按如下方式应用策略:

  • BGP global importexport语句—在[edit protocols bgp]层次结构级别包括这些语句(对于路由实例,在[edit routing-instances routing-instance-name protocols bgp]层次结构级别包括这些语句)。

  • importexport语句—在[edit protocols bgp group group-name]层次结构级别包含这些语句(对于路由实例,在[edit routing-instances routing-instance-name protocols bgp group group-name]层次结构级别包括这些语句)。

  • importexport方—和语句包括[edit protocols bgp group group-name neighbor address]层次结构级别的这些语句(对于路由实例,在[edit routing-instances routing-instance-name protocols bgp group group-name neighbor address]层次结构级别包括这些语句)。

对等方级别importexport语句将覆盖组importexport语句。组级importexport语句会覆盖全局 BGP importexport语句。

要应用策略,请参阅以下章节:

将策略应用于从 BGP 导入路由表的路由

要将策略应用于从 BGP 导入路由表的路由,请包含import语句,列出要评估的一个或多个策略的名称:

有关可在其中包含此语句的层次结构级别列表,请参阅本声明的语句摘要部分。

如果指定了多个策略,将按照指定的顺序(从第一个到最后一个)计算,并将第一个匹配的过滤器应用于路由。如果未找到匹配项,则 BGP 仅将从 BGP 路由设备获知的路由放入路由表中。

将策略应用于从路由表中导出的路由到 BGP

要将策略应用于从路由表中导出的路由到 BGP,请export包含语句,列出要评估的一个或多个策略的名称:

有关可在其中包含此语句的层次结构级别列表,请参阅本声明的语句摘要部分。

如果指定了多个策略,将按照指定的顺序(从第一个到最后一个)计算,并将第一个匹配的过滤器应用于路由。如果没有路由与过滤器匹配,路由表将仅导出 BGP 从 BGP 获知的路由。

设置 BGP 以通告非活动路由

默认情况下,BGP 会将接收的路由信息从 Junos OS 路由表中的更新消息中存储,而路由表仅将活动路由导出到 BGP,然后 BGP 然后向其对等方发出通告。要将路由表导出至 BGP BGP 所了解的最佳路由,即使 Junos OS 未将其选择为活动路由,也要包括以下advertise-inactive语句:

有关可在其中包含此语句的层次结构级别列表,请参阅本声明的语句摘要部分。

配置 BGP 以通告到内部对等方的最佳外部路由

一般情况下,除非是最佳路由,否则部署 BGP 实施时不会向内部对等方通告具有最高本地优先级别值的外部路由。虽然此行为是较低版本的 BGP 版本 4 规范(RFC 1771)所必需的,但通常不遵循它,以便最大限度地减少公布信息的数量并防止路由循环。但是,在某些情况下,最好的外部路由有好处,特别是可能导致 IBGP 路由 oscillation 的情况。

在 Junos OS 版本 9.3 和更高版中,您可以将 BGP 配置为将最佳外部路由播发到内部 BGP (IBGP)网状组、路由反射器群集或自治系统(AS)联合体,即使最佳路由是内部路由也是如此。

注意

为了在路由反射器advertise-external上配置语句,必须使用no-client-reflect语句禁用群集内反射。

将路由设备配置为群集的路由反射器时,如果从具有相同群集标识符的内部对等方接收,或者两个对等方均未配置群集标识符,则将路由反射器通告的路由视为内部路径。从属于另一个集群的内部对等方(也就是使用不同的群集标识符)接收的路由被视为外部。

在联合体中,当向联合体边界路由器通告路由时,来自不同联合体子 AS 的任何路由都被视为外部。

您也可将 BGP 配置为仅在路由选择进程到达计算多个退出鉴别器(中)度量的点时才通告外部路由。因此,不会通告路径比主动路径更糟(也就是更长)的外部路由。

Junos OS 还为配置与公告路由状态匹配的 BGP 导出策略提供支持。您可以在活动或非活动的路由上匹配。有关详细信息,请参阅路由策略、防火墙过滤器和流量监管器功能指南

要将 BGP 配置为向内部对等方通告最佳外部路径, advertise-external请包含以下语句:

注意

advertise-external和邻居级别均支持此语句。如果在邻居级别上配置语句,则必须为组中的所有邻接方配置。否则,该组将自动拆分为不同的组。

有关可在其中配置此语句的层次结构级别的完整列表,请参阅本声明的语句摘要部分。

要将 BGP 配置为仅在路由选择流程到达计算 MED-V 值的点时才通告最佳外部路径,请包括以下conditional语句:

配置 BGP 与路由表交换路由的频率

BGP 将接收的路由信息从路由表的更新消息中存储,而路由表则将活动路由从路由表中导出到 BGP 中。BGP 然后将导出路由公布到其对等方。默认情况下,路由信息在 BGP 和路由表之间的交换在接收后立即发生。这种即时路由信息交换可能会导致网络可访问性信息 instabilities。为防止这种情况发生,您可以延迟 BGP 和路由表交换路由信息之间的时间。

要配置 BGP 和路由表交换路由信息的频率,请包含以下out-delay语句:

默认情况下,路由表保留 BGP 所了解的部分路由信息。要让路由表保留此信息的全部或全部,请包含以下keep语句:

有关可在其中包含这些语句的层次结构级别列表,请参阅这些语句的语句摘要部分。

路由表可保留从 BGP 了解的路由信息,方法如下:

  • 默认值(省略keep该语句—)保留从 BGP 了解的所有路由信息,但 AS 路径为循环且环路包含 local AS 的路由除外。

  • keep all—保留从 BGP 获知的所有路由信息。

  • keep none—丢弃从对等方收到且被导入策略或其他稳定检查(如路径或下一跳跃)拒绝的路由。为 BGP 会话keep none和入站策略更改配置时,Junos OS 强制 readvertisement 对等方通告的整套路由。

在 AS 路径修复情况下,具有循环路径的路由理论上可能会在执行 AS path 循环限制时在软重新配置期间可用。但是,默认值和keep all之间存在明显的内存使用差异。

考虑以下情景:

  • 对等 readvertises 路由回其学习的对等方。

    在以下情况下可能会发生这种情况:

    • 另一个供应商的路由设备将路由返回给发送方。

    • 不 readvertising 路由’回发送对等方的默认行为将通过配置advertise-peer-as重写。 Junos OS

  • 提供商边缘(PE)路由设备会丢弃没有任何预期路由目标的任何 VPN 路由。

配置keep all时,丢弃以上情况中收到的路由的行为将被覆盖。

禁用抑制路由通告

Junos OS 不会将从一个 EBGP 对等方获知的路由返回到同一外部 BGP (EBGP)对等方。此外,无论路由实例如何,软件都不会将这些路由返回到与原始对等方相同的任何 EBGP 对等方。您可以通过在配置中包括advertise-peer-as语句来修改此行为。要禁用默认通告禁止,请包含以下advertise-peer-as语句:

注意

如果配置中包含该as-override语句,则路由抑制默认行为将被禁用。

如果将advertise-peer-as语句包括在配置中,则 BGP 通告路由,而不考虑此检查。

要恢复默认行为,请在配置no-advertise-peer-as中包含以下语句:

如果在配置中同时as-override包含no-advertise-peer-as and 语句,则忽略该no-advertise-peer-as语句。您可以将这些语句包含在多个层次结构级别。

有关可在其中包含这些语句的层次结构级别列表,请参阅这些语句的语句摘要部分。