BGP

本章介绍如何配置 ASA,以使用边界网关协议 (BGP) 来路由数据、执行身份验证以及重新分发路由信息。

关于 BGP

BGP 是一种外部和内部自主系统路由协议。自治系统是一个或一组接受共同管理并采用共同路由策略的网络。BGP 用于交换互联网的路由信息,并且是互联网运营商 (ISP) 之间所使用的协议。

何时使用 BGP

客户网络(例如,大学和公司)通常使用 OSPF 等内部网关协议 (IGP) 在其网络内交换路由信息。客户连接到 ISP,然后 ISP 使用 BGP 交换客户路由和 ISP 路由。在自治系统 (AS) 之间使用 BGP 时,该协议称为外部 BGP (EBGP)。如果运营商使用 BGP 在 AS 内交换路由,则此协议称为内部 BGP (IBGP)。

BGP 也可用于通过 IPv6 网络承载有关 IPv6 前缀的路由信息。



如果一台 BGPv6 设备加入集群,那么当启用日志级别 7 时,该设备会生成软回溯。


路由表更改

在 BGP 邻居之间首次建立 TCP 连接时,BGP 邻居会交换完整路由信息。当检测到对路由表所做的更改时,BGP 路由器仅会向其邻居发送已更改的路由。BGP 路由器不会发送定期路由更新,并且 BGP 路由更新仅对到达目标网络的最佳路径进行通告。



系统通过扫描完整的 AS 路径(在 AS_PATH 属性中指定)并检查本地系统的 AS 编号是否未出现在 AS 路径中来完成 AS 环路检测。默认情况下,EBGP 将获知的路由通告给同一对等体,以防止在执行环路检查时 ASA 上出现额外的 CPU 周期,并避免现有传出更新任务中出现延迟。


当存在多个到达某个特定目标的路由时,通过 BGP 获悉的路由的属性可用于确定到达该目标的最佳路径。这些属性称为 BGP 属性,可在路由选择过程中使用:

  • 权重 - 这是思科定义的路由器本地属性。权重属性不会向相邻路由器进行通告。如果路由器获悉有多个到达同一目标的路由,则首选权重最高的路由。

  • 本地首选项 - 本地首选项属性用于从本地 AS 中选择出口点。与权重属性不同,本地优先属性在整个本地 AS 中传播。如果有多个来自 AS 的出口点,则使用具有最高本地优先属性的出口点作为特定路由的出口点。

  • 多出口鉴别器 - 多出口鉴别器 (MED) 或度量属性可用作对外部 AS 关于进入正在通告此度量的 AS 的首选路径的建议。因为正在接收 MED 的外部 AS 也可能正在使用其他 BGP 属性选择路由,所以它仅作为建议。首选 MED 指标较低的路由。

  • 源 - 源属性指示 BGP 获悉某个特定路由的方式。源属性可能具有下面三个可能值中的一个,用于路由选择。

    • IGP - 此路由是源 AS 的内部路由。当使用网络路由器配置命令向 BGP 注入路由时,会设置该值。

    • EGP - 此路由通过外部边界网关协议 (EBGP) 获悉。

    • 不完整 - 路由源未知或通过其他方式获悉。当路由重新分发到 BGP 时,可能会出现源不完整的情况。

  • AS_path - 当路由通告通过一个自治系统时,会在按顺序排列的 AS 编号列表中添加 AS 编号,标识路由通告已经穿越的 AS。仅将拥有最短 AS_path 列表的路由添加至 IP 路由表中。

  • 下一跳 - EBGP 下一跳属性是用于到达通告路由器的 IP 地址。对于 EBGP 对等体,下一跳地址是对等体之间的连接 IP 地址。对于 IBGP,EBGP 下一跳地址会携带至本地 AS 中。但是,当下一个跃点与 eBGP 对等体的对等地址位于同一子网时,下一个跃点不会被修改。此行为称为第三方下一个跃点。

    在将 VPN 通告的路由重新分发到 iBGP 对等体时,请使用 next-hop-self 命令,以确保使用正确的下一跳 IP 重新分发路由。

  • 社区 - 社区属性提供一种目标(称为社区)的分组方式,可对社区应用路由决策(例如,接受、首选项和重新分发)。路由映射用于设置社区属性。预定义的社区属性如下:

    • no-export - 不向 EBGP 对等体通告相应路由。

    • no-advertise - 不向任何对等体进行通告。

    • internet - 此路由向互联网社区进行通告;网络中的所有路由器均属于此类型。

BGP 路径选择

BGP 可能会从不同来源接收同一路由的多个通告。BGP 仅选择一个路径作为最佳路径。选择此路径后,BGP 将选定的路径放在 IP 路由表中,并将此路径传播给其邻居。BGP 按显示的顺序使用以下条件为目标选择路径:

  • 如果路径指定的下一跳不可访问,则放弃更新。

  • 首选权重最高的路径。

  • 如果权重相同,则首选具有最高本地优先值的路径。

  • 如果本地优先值相同,则首选 BGP 在此路由器上运行所发起的路径。

  • 如果未发起路由,则首选 AS_path 最短的路由。

  • 如果所有路径的 AS_path 长度相同,则首选源类型最低的路径(其中,IGP 低于 EGP,EGP 低于不完整路径)。

  • 如果源代码相同,则首选 MED 属性最低的路径。

  • 如果路由的 MED 相同,则首选外部路径而非内部路径。

  • 如果路径依然相同,则首选穿过最近的 IGP 邻居的路径。

  • BGP 多路径的路由表中确定是否需要安装多个路径。

  • 如果两个路径都是外部路径,则首选第一个接收的路径(最早的路径)。

  • 首选具有由 BGP 路由器 ID 指定的最低 IP 地址的路径。

  • 如果多个路径的发起方或路由器 ID 相同,则首选集群列表长度最短的路径。

  • 首选来自最低邻居地址的路径。

BGP 多路径

BGP 多路径允许将多个等成本 BGP 路径的 IP 路由表安装到相同的目标前缀。然后,跨安装的所有路径共享到目标前缀的流量。

这些路径连同最佳路径一起安装在表中,以实现负载共享。BGP 多路径不影响最佳路径选择。例如,路由器仍会根据算法将其中一个路径指定为最佳路径,并将此最佳路径通知其 BGP 对等体。

要想成为多路径的候选对象,指向同一目标的路径需要具有与最佳路径特性相同的以下特性:

  • 重量

  • 本地优先级

  • AS-PATH 长度

  • 源代码

  • 多出口鉴别器 (MED)

  • 以下选项之一:

    • 相邻的 AS 或子 AS(在添加 BGP 多路径之前)

    • AS 路径(在添加 BGP 多路径之后)

某些 BGP 多路径功能对多路径候选对象有一些额外要求:

  • 此路径应从外部或联盟外部邻居 (eBGP) 获悉。

  • BGP 下一跳的 IGP 指标应等于最佳路径 IGP 指标。

这些是内部 BGP (iBGP) 多路径候选对象的额外要求:

  • 此路径应从内部邻居 (eBGP) 获悉。

  • BGP 下一跳的 IGP 指标应等于最佳路径 IGP 指标,除非路由器是面向非等成本 iBGP 多路径配置的。

BGP 可将最多 n 个最近收到的路径从多路候选对象插入到 IP 路由表中,其中 n 是要安装到路由表的路由数,如配置 BGP 多路径时所指定的那样。禁用多路径时的默认值为 1。

对于非等成本的负载平衡,您还可以使用 BGP 链路带宽。



等效的下一自跳将在从 eBGP 中选择的最佳路径上执行,并且是在最佳路径转发至内部对等体之前执行。


BGP 准则

情景模式准则

  • 同时支持单情景和多情景模式。

  • 所有情景仅支持一个自治系统 (AS) 编号。

防火墙模式准则

不支持透明防火墙模式。仅在路由模式下支持 BGP。

IPv6 准则

支持 IPv6。

其他准则

  • 系统不会在 CP 路由表中为通过 PPPoE 接收的 IP 地址添加路由条目。BGP 始终查看用于发起 TCP 会话的 CP 路由表,因此 BGP 不会形成 TCP 会话。

    因此,不支持通过 PPPoE 发送 BGP。

  • 仅管理或 BVI 接口不支持 BGP。

  • 要避免在路由更新大于链路上的最小 MTU 时丢弃由于路由更新而导致的邻接摆动,请确保在链路两端的接口上配置相同的 MTU。

  • 如果 MTU 发现失败,使用 PATH MTU (PMTU) 的 BGP 可能会导致邻接失效,特别是在 ECMP 路由情况下。因此,在使用 BGP、PMTU 和 ECMP 时一定要谨慎,因为如果 MTU 发现因任何原因失败,都可能导致数据包丢弃。

  • 成员设备的 BGP 表未与控制设备表同步。仅其路由表与控制单元路由表同步。

配置 BGP

本节介绍如何在系统中启用和配置 BGP 进程。

过程


步骤 1

启用 BGP

步骤 2

定义 BGP 路由进程的最佳路径

步骤 3

配置策略列表

步骤 4

配置 AS 路径过滤器

步骤 5

配置社区规则

步骤 6

配置 IPv4 地址系列设置

步骤 7

配置 IPv6 地址系列设置


启用 BGP

本节介绍启用 BGP 路由、建立 BGP 路由进程和配置常规 BGP 参数所需的步骤。

过程


步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

 
ciscoasa(config)# router bgp 2 

autonomous-num 的有效值范围是 1-4294967295 和 1.0-XX.YY。

步骤 2

丢弃 as-path 分段超过指定值的路由。

bgp maxas-limit number

示例:

 
ciscoasa(config-router)# bgp maxas-limit 15

number 参数指定允许的自治系统网段的最大数。有效值范围为 1 至 254。

步骤 3

日志 BGP 邻居重置:

bgp log-neighbor-changes

步骤 4

使 BGP 能够自动发现每个 BGP 会话的最佳 TCP 路径 MTU:

bgp transport path-mtu-discovery

步骤 5

使 BGP 能够在用于到达对等体的链接中断时,终止任何直接相邻对等体的外部 BGP 会话;无需等待抑制计时器到期:

bgp fast-external-fallover

步骤 6

如果外部 BGP (eBGP) 对等体未在传入路由的 AS_PATH 属性中将其自治系统 (AS) 编号列为首个 AS 路径分段,则允许 BGP 路由进程放弃从这些外部 BGP 对等体接收的更新。

bgp enforce-first-as

步骤 7

将 BGP 4 字节自治系统编号的默认显示和正则表达式匹配格式从 asplain(十进制值)更改为点分表示法。

bgp asnotation dot

步骤 8

调整 BGP 网络计时器:

timers bgp keepalive holdtime [min-holdtime]

示例:


ciscoasa(config-router)# timers bgp 80 120

  • keepalive - ASA 向其对等体发送 keepalive 消息的频率(以秒为单位)。默认值为 60 秒。

  • holdtime - ASA 在未接收到 keepalive 消息后声明对等体处于失效状态的间隔(以秒为单位)。默认值为 180 秒。

  • (可选)min-holdtime - ASA 在未从邻居接收到 keepalive 消息后声明邻居处于失效状态的间隔(以秒为单位)。

     

    保持时间小于 20 秒会增加对等体振荡的可能性。

步骤 9

启用 BGP 无中断重新启动功能:

bgp graceful-restart [restart-time seconds|stalepath-time seconds][all]

示例:


ciscoasa(config-router)# bgp graceful-restart restart-time 200

  • restart-time - 重新启动事件发生后,ASA 等待支持无中断重新启动的邻居恢复正常运行的最大时间间隔(以秒为单位)。默认值为 120 秒。有效值范围为 1 至 3600 秒。

  • stalepath-time - ASA 为正在重新启动的对等体保留过期路径的最大时长(以秒为单位)。此计时器到期后,将删除所有过时路径。默认值为 360 秒。有效值范围为 1 至 3600 秒。


定义 BGP 路由进程的最佳路径

本节介绍配置 BGP 最佳路径所需的步骤。有关最佳路径的详细信息,请参阅 BGP 路径选择

过程


步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:


ciscoasa(config)# router bgp 2

步骤 2

更改默认本地优先值:

bgp default local-preference number

示例:


ciscoasa(config-router)# bgp default local-preference 500

number 参数是介于 0 与 4294967295 之间的任意值。值越大,表示优先级越高。

默认值为 100。

步骤 3

启用从不同自治系统中的不同邻居获悉的路径之间的多出口鉴别器 (MED) 比较:

bgp always-compare-med

步骤 4

在最佳路径选择过程中,比较从外部 BGP (eBGP) 接收的类似路径,并将最佳路径切换到路由器 ID 最低的路由:

bgp bestpath compare-routerid

步骤 5

选择相邻 AS 通告的最佳 MED 路径:

bgp deterministic-med

步骤 6

将缺少 MED 属性的路径设置为最不优先考虑的路径:

bgp bestpath med missing-as-worst


配置策略列表

当在路径映射中引用策略列表时,将评估并处理此策略列表中的所有匹配语句。通过一个路由映射可以配置两个或更多策略列表。策略列表也可以与任何其他预先存在的匹配共存,并设置在同一路径映射内部、策略列表外部配置的语句。本节介绍配置策略列表所需的步骤。

过程


步骤 1

创建 BGP 策略列表。

policy-list policy_list_name {permit | deny}

permit 关键字允许访问匹配条件。

deny 关键字拒绝访问匹配条件。

示例:


ciscoasa(config)# policy-list Example-policy-list1 permit

步骤 2

分发使其下一跳脱离其中一个指定接口的路由:

match interface [interface_name [interface_name] […]]

示例:


ciscoasa(config-policy-list)# match interface outside

步骤 3

通过匹配以下任一或所有项重新分发路由:目标地址、下一跳路由器地址和路由器/接入服务器源:

match ip {address | next-hop | route-source}

步骤 4

匹配 BGP 自治系统路径:

match as-path

步骤 5

匹配 BGP 社区:

match community {community-list_name | exact-match}

  • community-list_name - 一个或多个社区列表。

  • exact-match - 表示要求精确匹配。所有社区以及仅指定社区必须存在。

示例:


ciscoasa(config-policy-list)# match community ExampleCommunity1

步骤 6

重新分发带指定指标的路由:

match metric metric [metric […]]

步骤 7

重新分发路由表中匹配指定标记的路由:

match tag tag [tag […]]


配置 AS 路径过滤器

AS 路径过滤器允许您使用访问列表来过滤路由更新消息,并且查看更新消息中的单个前缀。如果更新消息中的前缀与过滤条件相匹配,则会过滤掉或接受该单个前缀,具体视过滤器条目已配置为执行的操作内容而定。本节介绍配置 AS 路径过滤器所需的步骤。



as-path 访问列表不同于常规防火墙 ACL。


过程


在全局配置模式下,使用正则表达式配置自治系统路径过滤器:

as-path access-list acl-number {permit|deny} regexp

示例:


ciscoasa(config)# as-path access-list 35 permit testaspath

  • acl-number - AS 路径访问列表编号。有效值为从 1 到 500。

  • regexp - 用于定义 AS 路径过滤器的正则表达式。自治系统编号的表示范围为 1 至 65535。


配置社区规则

社区是指一组共享某个通用属性的目标。您可以使用社区列表创建要在路由映射的匹配子句中使用的社区组。如同访问列表一样,可以创建一系列社区列表。系统会检查语句,直至找到匹配项为止。只要满足一个语句,便会结束测试。本节介绍配置社区规则所需的步骤。

过程


创建或配置 BGP 社区列表,并控制对它的访问:

community-list {standard| community list-name {deny|permit} [community-number] [AA:NN] [internet] [no-advertise][no-export]}| {expanded|expanded list-name {deny| permit}regexp}

示例:


ciscoasa(config)# community-list standard excomm1 permit 100 internet no-advertise no-export

  • standard - 使用 1 至 99 的数字配置标准社区列表,以确定社区的一个或多个允许或拒绝组。

  • (可选)community-number - 以 1 至 4294967200 的 32 位数字表示的社区。可以输入单个社区,也可以输入以空格分隔的多个社区。

  • AA:NN - 以 4 字节新社区格式输入的自治系统号和网络号。该值使用两个以冒号分隔的 2 字节编号进行配置。可以为每个 2 字节编号输入 1 至 65535 的数字。可以输入单个社区,也可以输入以空格分隔的多个社区。

  • (可选)internet - 指定互联网社区。系统向所有对等体(内部和外部)通告具有此社区的路由。

  • (可选)no-advertise - 指定无通告社区。系统不向任何对等体(内部或外部)通告具有此社区的路由。

  • (可选)no-export - 指定无导出社区。系统仅向同一自治系统中的对等体或仅向联盟内的其他子自治系统通告具有此社区的路由。不会向外部对等体通告这些路由。

  • (可选)expanded - 配置一个从 100 至 500 的扩展社区列表号,以确定社区的一个或多个允许或拒绝组。

  • regexp - 用于定义 AS 路径过滤器的正则表达式。自治系统编号的表示范围为 1 至 65535。

     

    正则表达式只能用于扩展社区列表。


配置 IPv4 地址系列设置

可以从 BGP 配置设置中的 IPv4 系列选项来设置 BGP 的 IPv4 设置。IPv4 系列部分包括以下子部分:常规设置、汇聚地址设置、过滤设置和邻居设置。其中每个子部分都支持您自定义特定于 IPv4 系列的参数。

配置 IPv4 系列常规设置

本节介绍配置常规 IPv4 设置所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使路由器进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 4 (IPv4) 地址前缀配置路由会话:

address-family ipv4 [unicast]

关键字 unicast 指定 IPv4 单播地址前缀。这是默认设置,即使未指定也如此。

步骤 3

(可选)为本地 BGP 路由进程配置固定路由器 ID:

bgp router-id A.B.C.D

示例:

ciscoasa(config-router-af)# bgp router-id 10.86.118.3

参数 A.B.C.D 以 IP 地址形式指定路由器标识符。如果不指定路由器 ID,则会自动分配路由器 ID。

步骤 4

(可选)在单个接口 (L3) 模式下配置 IP 地址集群池:

bgp router-id cluster-pool

示例:

ciscoasa(config-router-af)# bgp router-id cp

 

在 L3 集群中,不能将 BGP 邻居定义为其中一个集群池 IP 地址。

步骤 5

配置 BGP 路由的管理距离:

distance bgp external-distance internal-distance local-distance

示例:

ciscoasa(config-router-af)# distance bgp 80 180 180

  • external-distance - 外部 BGP 路由的管理距离。从外部自治系统获悉的路由是外部路由。此参数值的范围为 1 至 255。

  • internal-distance - 内部 BGP 路由的管理距离。从本地自治系统中的对等体获悉的路由是内部路由。此参数值的范围为 1 至 255。

  • local-distance - 本地 BGP 路由的管理距离。本地路由是指通过网络路由器配置命令列出的网络,通常作为正在从其他进程重新分发的路由器或网络的后门。此参数值的范围为 1 至 255。

步骤 6

使用 BGP 获悉的路由更新 IP 路由表时,修改指标和标签值。

table-map {WORD|route-map_name}

示例:

ciscoasa(config-router-af)# table-map example1

参数 route-map_name 指定来自 route-map 命令的路由映射名称。

步骤 7

配置 BGP 路由进程,以分发默认路由(网络 0.0.0.0):

default-information originate

步骤 8

将子网路由配置为自动汇总到网络级路由中

auto-summary

步骤 9

抑制未装载至路由信息库 (RIB) 中的路由的通告:

bgp suppress-inactive

步骤 10

在 BGP 与内部网关协议 (IGP) 系统之间同步:

synchronization

步骤 11

将 iBGP 配置为重新分发到 IGP 中,例如 OSPF:

bgp redistribute-internal

步骤 12

为下一跳验证配置 BGP 路由器扫描间隔:

bgp scan-time scanner-interval

示例:

ciscoasa(config-router-af)# bgp scan-time 15

参数 scanner-interval 指定 BGP 路由信息的扫描间隔。有效值范围为 5 至 60 秒。默认值为 60 秒。

步骤 13

配置 BGP 下一跳地址跟踪:

bgp nexthop trigger {delay seconds|enable}

示例:

ciscoasa(config-router-af)# bgp nexthop trigger delay 15

  • trigger - 指定使用 BGP 下一跳地址跟踪。此关键字与关键字 delay 结合用于更改下一跳跟踪延迟。此关键字与关键字 enable 结合用于启用下一跳地址跟踪。

  • delay - 更改前后两次对路由表中安置的已更新下一跳路由进行检查的延迟间隔。

  • seconds - 指定以秒为单位的延迟。范围为 0 至 100。默认值为 5。

  • enable - 立即启用 BGP 下一跳地址跟踪。

步骤 14

控制可以安置在路由表中的并行 iBGP 路由的最大数量:

maximum-paths {number_of_paths|ibgp number_of_paths}

示例:

ciscoasa(config-router-af)# maximum-paths ibgp 2

 

如果未使用关键字 ibgp,则参数 number_of_paths 会控制并行 EBGP 路由的最大数量。

参数 number_of_paths 指定安置到路由表中的路由的数量。有效值介于 1 与 8 之间。


配置 IPv4 系列汇聚地址设置

本节介绍将特定路由定义为聚合成一个路由所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 4 (IPv4) 地址前缀配置路由会话:

address-family ipv4 [unicast]

关键字 unicast 指定 IPv4 单播地址前缀。这是默认设置,即使未指定也如此。

步骤 3

在 BGP 数据库中创建聚合条目:

aggregate-address address mask [as-set][summary-only][suppress-map map-name][advertise-map map-name][attribute-map map-name]

示例:

ciscoasa(config-router-af) aggregate-address 10.86.118.0 255.255.255.0 as-set summary-only suppress-map example1 advertise-map example1 attribute-map example1

  • address - 汇聚地址。

  • mask- 聚合掩码。

  • map-name - 路由映射。

  • (可选)as-set - 生成自治系统集路径信息。

  • (可选)summary-only - 过滤来自更新的所有更具体的路由。

  • (可选)Suppress-map map-name - 指定用于选择要抑制的路由的路由映射的名称。

  • (可选)Advertise-map map-name - 指定用于选择创建 AS_SET 源社区所用路由的路由映射的名称。

  • (可选)Attribute-map map-name - 指定用于设置聚合路由属性的路由映射的名称。


配置 IPv4 系列过滤设置

本部分介绍过滤在传入 BGP 更新中接收的路由或网络所需的步骤。

过程

步骤 1

启用 BGP 路由进程并进入路由器配置模式。

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 4 (IPv4) 地址前缀配置路由会话:

address-family ipv4 [unicast]

关键字 unicast 指定 IPv4 单播地址前缀。这是默认设置,即使未指定也如此。

步骤 3

过滤在传入 BGP 更新中接收或在传出 BGP 更新中通告的路由或网络:

distribute-list acl-number {in | out} [protocol process-number | connected | static]

参数 acl-number 指定 IP 访问列表号。此访问列表定义要在路由更新中接收的网络和要抑制的网络。

关键字 in 指定过滤器必须应用于传入 BGP 更新,关键字 out 指定过滤器必须应用于传出 BGP 更新。

对于出站过滤器,您可以通过进程号(不包括 RIP)选择性地指定一个协议(bgp eigrp ospf rip )以应用到分发列表。您还可以根据对等体和网络是通过 connected 还是 static 路由获知的进行过滤。

示例:

ciscoasa(config-router-af)# distribute-list ExampleAcl in bgp 2


配置 IPv4 系列 BGP 邻居设置

本节介绍定义 BGP 邻居和邻居设置所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使路由器进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 4 (IPv4) 地址前缀配置路由会话:

address-family ipv4 [unicast]

关键字 unicast 指定 IPv4 单播地址前缀。这是默认设置,即使未指定也如此。

步骤 3

向 BGP 邻居表添加条目:

neighbor ip-address remote-as autonomous-number

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 remote-as 3

步骤 4

(可选)禁用邻居或对等组:

neighbor ip-address shutdown

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 shutdown 3

步骤 5

与 BGP 邻居交换信息:

neighbor ip-address activate

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 activate

步骤 6

为 BGP 邻居启用或禁用边界网关协议 (BGP) 平稳重启功能:

neighbor ip-address ha-mode graceful-restart [disable]

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 ha-mode graceful-restart

(可选)关键字 disable 为邻居禁用 BGP 平稳重启功能。

步骤 7

按访问列表中的指定分发 BGP 邻居信息:

neighbor {ip-address} distribute-list {access-list-name}{in|out}

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 distribute-list ExampleAcl in

  • access-list-number - 标准或扩展访问列表的编号。标准访问列表号的范围为 1 至 99。扩展访问列表号的范围为 100 至 199。

  • expanded-list-number - 扩展访问列表的编号。扩展访问列表号的范围为 1300 至 2699。

  • access-list-number - 标准或扩展访问列表的名称。

  • prefix-list-name - BGP 前缀列表的名称。

  • in - 访问列表应用于传入到此邻居的通告。

  • out - 访问列表应用于传出到此邻居的通告。

步骤 8

将路由映射应用于传入或传出路由:

neighbor {ip-address} route-map map-name {in|out}

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 route-map example1 in

关键字 in 将路由映射应用于传入路由。

关键字 out 将路由映射应用于传出路由。

步骤 9

按前缀列表中的指定分发 BGP 邻居信息:

neighbor {ip-address} prefix-list prefix-list-name {in|out}

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 prefix-list NewPrefixList in

关键字 in 意味着前缀列表应用于从此邻居传入的通告。

关键字 out 意味着前缀列表应用于传出到此邻居的通告。

步骤 10

设置过滤器列表:

neighbor {ip-address} filter-list access-list-number {in|out}

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 filter-list 5 in

  • access-list-name - 指定自治系统路径访问列表的编号。您可以使用 ip as-path access-list 命令定义此访问列表。

  • in - 访问列表应用于从此邻居传入的通告。

  • out - 访问列表应用于传出到此邻居的通告。

步骤 11

控制可以从邻居接收的前缀的数量:

neighbor {ip-address} maximum-prefix maximum [threshold][restart restart interval][warning-only]

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 maximum-prefix 7 75 restart 12

  • maximum - 从此邻居允许的前缀的最大数量。

  • (可选)threshold - 整数,用于指定路由器开始生成警告消息时所达到的最大值的百分比。范围为 1 至 100,默认值为 75(百分比)。

  • (可选)restart interval - 整数值(以秒为单位),用于指定 BGP 邻居重新启动前的时间间隔。

  • (可选)warning-only - 允许路由器在超过最大前缀数量时生成日志消息,而不是终止对等。

步骤 12

允许 BGP 发言者(本地路由器)将默认路由 0.0.0.0 发送到邻居,以用作该邻居的默认路由:

neighbor {ip-address} default-originate [route-map map-name]

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 default-originate route-map example1

参数 map-name 是路由映射的名称。路由映射允许有条件地注入路由 0.0.0.0。

步骤 13

设置前后两次发送 BGP 路由更新的最小间隔:

neighbor {ip-address} advertisement-interval seconds

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 advertisement-interval 15

参数 seconds 是时间(以秒为单位)。有效值范围为 0 至 600。

步骤 14

通告 BGP 表中与已配置的路由映射相匹配的路由:

neighbor {ip-address} advertise-map map-name {exist-map map-name |non-exist-map map-name}[check-all-paths]

示例:

ciscoasa(config-router-af)# neighbor 10.2.1.1 advertise-map MAP1 exist-map MAP2

  • advertise-map map name - 将在达到存在映射或非存在映射的条件时通告的路由映射的名称。

  • exist-map map name - 与 BGP 表中的路由进行比较以确定是否对通告映射路由进行通告的存在映射的名称。

  • non-exist-map map name - 与 BGP 表中的路由进行比较以确定是否对通告映射路由进行通告的非存在映射的名称。

  • (可选)check all paths - 使具有 BGP 表中的前缀的存在映射可检查所有路径。

步骤 15

从出站路由更新中删除专用自治系统号:

neighbor {ip-address} remove-private-as

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 remove-private-as

步骤 16

为特定 BGP 对等体或对等组设置计时器。

neighbor {ip-address} timers keepalive holdtime min holdtime

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 timers 15 20 12

  • keepalive - ASA 向其对等体发送 keepalive 消息的频率(以秒为单位)。默认值为 60 秒。有效值范围为 0 至 65535。

  • holdtime - ASA 在未接收到 keepalive 消息后声明对等体处于失效状态的间隔(以秒为单位)。默认值为 180 秒。

  • min holdtime - ASA 在未接收到 keepalive 消息后声明对等体处于失效状态的最小间隔(以秒为单位)。

     

    保持时间小于 20 秒会增加对等体振荡的可能性。

步骤 17

在两个 BGP 对等体之间的 TCP 连接上启用消息摘要 5 (MD5) 身份验证:

neighbor {ip-address} password string

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 password test

参数 string 是区分大小写的密码,启用 service password-encryption 命令时,其长度最大为 25 个字符;未启用 service password-encryption 命令时,其长度最大为 81 个字符。此字符串可以包含任意字母数字字符,包括空格。

 

当您将密码的第一个字符设置为数字时,请勿在第二位使用空格。即,您不能指定 number-space-anything 格式的密码。数字后的空格会导致身份验证失败。

步骤 18

指定应将社区属性发送到 BGP 邻居:

neighbor {ip-address} send-community

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 send-community

步骤 19

将路由器配置为 BGP 发言邻居或对等组的下一跳:

neighbor {ip-address}next-hop-self

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 next-hop-self

步骤 20

接受并尝试建立与未直接连接的网络上的外部对等体的 BGP 连接:

neighbor {ip-address} ebgp-multihop [ttl]

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 ebgp-multihop 5

参数 ttl 指定生存时间,范围为 1 至 255 跳。

步骤 21

禁用连接验证可与使用环回接口的单跳对等体建立 eBGP 对等会话:

neighbor {ip-address} disable-connected-check

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 disable-connected-check

步骤 22

保护 BGP 对等会话,并且配置用于分隔两个外部 BGP (eBGP) 对等体的最大跳数。

neighbor {ip-address} ttl-security hops hop-count

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 ttl-security hops 15

参数 hop-count 是用于分隔 eBGP 对等体的跳数。TTL 值由路由器根据已配置的 hop-count 参数计算得出。有效值范围为 1 至 254。

步骤 23

向邻居连接分配权重:

neighbor {ip-address} weight number

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 weight 30

参数 number 是分配给邻居连接的权重。有效值范围为 0 至 65535。

步骤 24

将 ASA 配置为仅接受特定 BGP 版本:

neighbor {ip-address} version number

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 version 4

参数 number 指定 BGP 版本号。版本可以设置为 2,以强制软件仅对指定邻居使用版本 2。默认使用版本 4,如有要求,可以动态地协商降至版本 2。

步骤 25

为 BGP 会话启用 TCP 传输会话选项:

neighbor {ip-address} transport {connection-mode{active|passive}| path-mtu-discovery[disable]}

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 transport path-mtu-discovery
  • connection-mode - 连接类型(active 或 passive)。

  • path-mtu-discovery - 启用 TCP 传输路径最大传输单位 (MTU) 发现。默认情况下会启用 TCP 路径 MTU 发现。

  • (可选)disable - 禁用 TCP 路径 MTU 发现。

步骤 26

为从外部边界网关协议 (eBGP) 邻居接收的路由自定义 AS_PATH 属性:

neighbor {ip-address} local-as [autonomous-system-number[no-prepend]]

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 local-as 5 no-prepend replace-as

  • (可选)autonomous-system-number - 向 AS_PATH 属性预置的自治系统号。此参数值的范围是从 1 至 4294967295 或 1.0 至 XX.YY 的任意有效自治系统号。

  • (可选)no-prepend - 不向从 eBGP 邻居接收的任何路由预置本地自治系统号。

步骤 27

要将接口更新为 BGP 邻居关系的源,请执行以下操作:

neighbor ip_address update-source interface_name

示例:
ciscoasa(config-router-af)# neighbor 10.86.118.12 update-source loop1

参数 interface_name 是 BGP 邻居用作 BGP 路由源的接口的名称。

 
如果将环回接口更新为 BGP 邻居关系的源,则会在网络中通告环回接口的 IP 地址。环回接口充当 eBGP 对等体并参与路由。由于环回接口在启用时稳定,并且在管理性关闭之前保持可用,因此始终可通过环回接口 IP 地址访问 ASA。

配置 IPv4 网络设置

本部分介绍定义要由 BGP 路由进程通告的网络所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 4 (IPv4) 地址前缀配置路由会话:

address-family ipv4 [unicast]

关键字 unicast 指定 IPv4 单播地址前缀。这是默认设置,即使未指定也如此。

步骤 3

指定将由 BGP 路由进程通告的网络:

network {network-number [mask network-mask]}[route-map map-tag]

示例:

ciscoasa(config-router-af)# network 10.86.118.13 mask 255.255.255.255 route-map example1

 

要通告网络前缀,路由表中必须存在通往设备的路由。

  • network-number - BGP 将通告的网络。

  • (可选)network-mask - 带掩码地址的网络或子网掩码。

  • (可选)map-tag - 已配置的路由映射的标识符。应检查路由映射,以过滤要通告的网络。如果未指定,则通告所有网络。


配置 IPv4 重新分发设置

本节介绍定义将其他路由域中的路由重新分发到 BGP 所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 4 (IPv4) 地址前缀配置路由会话:

address-family ipv4 [unicast]

示例:

ciscoasa(config-router)# address-family ipv4[unicast]

关键字 unicast 指定 IPv4 单播地址前缀。这是默认设置,即使未指定也如此。

步骤 3

将路由从其他路由域重新分发到 BGP 自治系统:

redistribute protocol [process-id] [metric] [route-map [map-tag]]

示例:

ciscoasa(config-router-af)# redistribute ospf 2 route-map example1 match external

  • protocol - 从中重新分发路由的源协议。它可以是以下协议之一:Connected、EIGRP、OSPF、RIP 或 Static。

  • (可选)process-id - 特定路由进程的名称。

  • (可选)metric - 已重新分发的路由的指标。

  • (可选)map-tag - 已配置路由映射的标识符。

 

应检查路由映射,以过滤要重新分发的网络。如果未指定,则重新分发所有网络。


配置 IPv4 路由注入设置

本部分介绍定义有条件地注入 BGP 路由表中的路由所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 4 (IPv4) 地址前缀配置路由会话:

address-family ipv4 [unicast]

示例:

ciscoasa(config-router)# address-family ipv4[unicast]

关键字 unicast 指定 IPv4 单播地址前缀。这是默认设置,即使未指定也如此。

步骤 3

配置有条件的路由注入,以将更具体的路由注入 BGP 路由表:

bgp inject-map inject-map exist-map exist-map [copy-attributes]

示例:

ciscoasa(config-router-af)# bgp inject-map example1 exist-map example2 copy-attributes

  • inject-map - 用于指定要注入本地 BGP 路由表的前缀的路由映射的名称。

  • exist-map - 包含 BGP 发言者将跟踪的前缀的路由映射的名称。

  • (可选)copy-attributes - 将已注入的路由配置为继承聚合路由的属性。


配置 IPv6 地址系列设置

可以从 BGP 配置设置中的 IPv6 系列选项来设置 BGP 的 IPv6 设置。IPv6 系列部分包括以下子部分:常规设置、汇聚地址设置和邻居设置。其中每个子部分都支持您自定义特定于 IPv6 系列的参数。

本节介绍如何自定义 BGP IPv6 系列设置。

配置 IPv6 系列常规设置

本节介绍配置常规 IPv6 设置所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使路由器进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 6 (IPv6) 地址前缀配置路由会话:

address-family ipv6 [unicast]

步骤 3

配置 BGP 路由的管理距离:

distance bgp external-distance internal-distance local-distance

示例:

ciscoasa(config-router-af)# distance bgp 80 180 180

  • external-distance - 外部 BGP 路由的管理距离。从外部自治系统获悉的路由是外部路由。此参数值的范围为 1 至 255。

  • internal-distance - 内部 BGP 路由的管理距离。从本地自治系统中的对等体获悉的路由是内部路由。此参数值的范围为 1 至 255。

  • local-distance - 本地 BGP 路由的管理距离。本地路由是指通过网络路由器配置命令列出的网络,通常作为正在从其他进程重新分发的路由器或网络的后门。此参数值的范围为 1 至 255。

步骤 4

(可选)配置 BGP 路由进程,以分发默认路由(网络 0.0.0.0):

default-information originate

步骤 5

(可选)抑制未装载至路由信息库 (RIB) 中的路由的通告:

bgp suppress-inactive

步骤 6

在 BGP 与内部网关协议 (IGP) 系统之间同步:

synchronization

步骤 7

将 iBGP 配置为重新分发到 IGP 中,例如 OSPF:

bgp redistribute-internal

步骤 8

为下一跳验证配置 BGP 路由器扫描间隔:

bgp scan-time scanner-interval

示例:

ciscoasa(config-router-af)# bgp scan-time 15

参数 scanner-interval 的有效值范围为 5 至 60 秒。默认值为 60 秒。

步骤 9

控制可以安置在路由表中的并行 iBGP 路由的最大数量:

maximum-paths {number_of_paths|ibgp number_of_paths}

示例:

ciscoasa(config-router-af)# maximum-paths ibgp 2

参数 number_of_paths 的有效值介于 1 与 8 之间。

如果未使用关键字 ibgp,则参数 number_of_paths 会控制并行 EBGP 路由的最大数量。


配置 IPv6 系列汇聚地址设置

本节介绍将特定路由定义为聚合成一个路由所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 6 (IPv6) 地址前缀配置路由会话:

address-family ipv6 unicast

步骤 3

在 BGP 数据库中创建聚合条目:

aggregate-address ipv6-address/cidr [as-set][summary-only][suppress-map map-name][advertise-map ipv6-map-name][attribute-map map-name]

示例:

ciscoasa(config-router-af) aggregate-address 2000::1/8 summary-only

  • address - 聚合 IPv6 地址。

  • (可选)as-set - 生成自治系统集路径信息。

  • (可选)summary-only - 过滤来自更新的所有更具体的路由。

  • (可选)suppress-map map-name - 指定用于选择要抑制的路由的路由映射的名称。

  • (可选)advertise-map map-name - 指定用于选择创建 AS_SET 源社区所用路由的路由映射的名称。

  • (可选)attribute-map map-name - 指定用于设置聚合路由属性的路由映射的名称。

步骤 4

设置 BGP 路由的聚合时间间隔:

bgp aggregate-timer seconds

示例:

ciscoasa(config-router-af)bgp aggregate-timer 20


配置 IPv6 系列 BGP 邻居设置

本节介绍定义 BGP 邻居和邻居设置所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使路由器进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 6 (IPv6) 地址前缀配置路由会话:

address-family ipv6 [unicast]

步骤 3

向 BGP 邻居表添加条目:

neighbor ipv6-address remote-as autonomous-number

示例:

ciscoasa(config-router-af)# neighbor 2000::1/8 remote-as 3

参数 ipv6-address 指定可用于到达指定网络的下一跳的 IPv6 地址。此下一跳的 IPv6 地址不需要直接连接;为查找直接连接的下一跳的 IPv6 地址,需要执行递归。当指定接口类型和接口号时,您可以根据需要指定数据包输出到的下一跳的 IPv6 地址。使用链路本地地址作为下一跳(链路本地下一跳也必须是相邻设备)时,必须指定接口类型和接口号。

 

此参数必须采用 RFC 2373 中记录的形式,其中地址是用冒号分隔的十六进制 16 位值。

步骤 4

(可选)禁用邻居或对等组:

neighbor ipv6-address shutdown

示例:

ciscoasa(config-router-af)# neighbor 2000::1/8 shutdown 3

步骤 5

与 BGP 邻居交换信息:

neighbor ipv6-address activate

示例:

ciscoasa(config-router-af)# neighbor 2000::1/8 activate

步骤 6

为 BGP 邻居启用或禁用边界网关协议 (BGP) 平稳重启功能:

neighbor {ip-address} ha-mode graceful-restart [disable]

示例:

ciscoasa(config-router-af)# neighbor 2000::1/8 ha-mode graceful-restart

(可选)关键字 disable 为邻居禁用 BGP 平稳重启功能。

步骤 7

将路由映射应用于传入或传出路由:

neighbor {ipv6-address} route-map map-name {in|out}

示例:

ciscoasa(config-router-af)# neighbor 2000::1 route-map example1 in

关键字 in 将路由映射应用于传入路由。

关键字 out 将路由映射应用于传出路由。

步骤 8

按前缀列表中的指定分发 BGP 邻居信息:

neighbor {ipv6-address} prefix-list prefix-list-name {in|out}

示例:

ciscoasa(config-router-af)# neighbor 2000::1 prefix-list NewPrefixList in

关键字 in 意味着前缀列表应用于从此邻居传入的通告。

关键字 out 意味着前缀列表应用于传出到此邻居的通告。

步骤 9

设置过滤器列表:

neighbor {ipv6-address} filter-list access-list-name {in|out}

示例:

ciscoasa(config-router-af)# neighbor 2000::1 filter-list 5 in

  • access-list-name - 指定自治系统路径访问列表的编号。您可以使用 ip as-path access-list 命令定义此访问列表。

  • in - 访问列表应用于从此邻居传入的通告。

  • out - 访问列表应用于传出到此邻居的通告。

步骤 10

控制可以从邻居接收的前缀的数量:

neighbor {ipv6-address} maximum-prefix maximum [threshold][restart restart interval][warning-only]

示例:

ciscoasa(config-router-af)# neighbor 2000::1 maximum-prefix 7 75 restart 12

  • maximum - 从此邻居允许的前缀的最大数量。

  • (可选)threshold - 整数,用于指定路由器开始生成警告消息时所达到的最大值的百分比。范围为 1 至 100,默认值为 75(百分比)。

  • (可选)restart interval - 整数值(以秒为单位),用于指定 BGP 邻居重新启动前的时间间隔。

  • (可选)warning-only - 允许路由器在超过最大前缀数量时生成日志消息,而不是终止对等。

步骤 11

允许 BGP 发言者(本地路由器)将默认路由 0.0.0.0 发送到邻居,以用作该邻居的默认路由:

neighbor {ipv6-address} default-originate [route-map map-name]

示例:

ciscoasa(config-router-af)# neighbor 2000::1 default-originate route-map example1

参数 map-name 是路由映射的名称。路由映射允许有条件地注入路由 0.0.0.0。

步骤 12

设置前后两次发送 BGP 路由更新的最小间隔:

neighbor {ipv6-address} advertisement-interval seconds

示例:

ciscoasa(config-router-af)# neighbor 2000::1 advertisement-interval 15

参数 seconds 是时间(以秒为单位)。有效值范围为 0 至 600。

步骤 13

从出站路由更新中删除专用自治系统号:

neighbor {ipv6-address} remove-private-as

示例:

ciscoasa(config-router-af)# neighbor 2000::1 remove-private-as

步骤 14

通告 BGP 表中与已配置的路由映射相匹配的路由:

neighbor {ipv6-address} advertise-map map-name {exist-map map-name |non-exist-map map-name}[check-all-paths]

示例:

ciscoasa(config-router-af)# neighbor 2000::1 advertise-map MAP1 exist-map MAP2

  • advertise-map map name - 将在达到存在映射或非存在映射的条件时通告的路由映射的名称。

  • exist-map map name - 与 BGP 表中的路由进行比较以确定是否对通告映射路由进行通告的存在映射的名称。

  • non-exist-map map name - 与 BGP 表中的路由进行比较以确定是否对通告映射路由进行通告的非存在映射的名称。

  • (可选)check all paths - 使具有 BGP 表中的前缀的存在映射可检查所有路径。

步骤 15

为特定 BGP 对等体或对等组设置计时器。

neighbor {ipv6-address} timers keepalive holdtime min holdtime

示例:

ciscoasa(config-router-af)# neighbor 2000::1 timers 15 20 12

  • keepalive - ASA 向其对等体发送 keepalive 消息的频率(以秒为单位)。默认值为 60 秒。有效值范围为 0 至 65535。

  • holdtime - ASA 在未接收到 keepalive 消息后声明对等体处于失效状态的间隔(以秒为单位)。默认值为 180 秒。

  • min holdtime - ASA 在未接收到 keepalive 消息后声明对等体处于失效状态的最小间隔(以秒为单位)。

     

    保持时间小于 20 秒会增加对等体振荡的可能性。

步骤 16

在两个 BGP 对等体之间的 TCP 连接上启用消息摘要 5 (MD5) 身份验证:

neighbor {ipv6-address} password string

示例:

ciscoasa(config-router-af)# neighbor 2000::1 password test

参数 string 是区分大小写的密码,启用 service password-encryption 命令时,其长度最大为 25 个字符;未启用 service password-encryption 命令时,其长度最大为 81 个字符。此字符串可以包含任意字母数字字符,包括空格。

 

当您将密码的第一个字符设置为数字时,请勿在第二位使用空格。即,您不能指定 number-space-anything 格式的密码。数字后的空格会导致身份验证失败。

步骤 17

指定应将社区属性发送到 BGP 邻居:

neighbor {ipv6-address} send-community [standard]

示例:

ciscoasa(config-router-af)# neighbor 2000::1 send-community

(可选)关键字 standard - 仅发送标准社区。

步骤 18

将路由器配置为 BGP 发言邻居或对等组的下一跳:

neighbor {ipv6-address}next-hop-self

示例:

ciscoasa(config-router-af)# neighbor 2000::1 next-hop-self

步骤 19

接受并尝试建立与未直接连接的网络上的外部对等体的 BGP 连接:

neighbor {ipv6-address} ebgp-multihop [ttl]

示例:

ciscoasa(config-router-af)# neighbor 2000::1 ebgp-multihop 5

参数 ttl 指定生存时间,范围为 1 至 255 跳。

步骤 20

禁用连接验证可与使用环回接口的单跳对等体建立 eBGP 对等会话:

neighbor {ipv6-address} disable-connected-check

示例:

ciscoasa(config-router-af)# neighbor 2000::1 disable-connected-check

步骤 21

保护 BGP 对等会话,并且配置用于分隔两个外部 BGP (eBGP) 对等体的最大跳数。

neighbor {ipv6-address} ttl-security hops hop-count

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 ttl-security hops 15

参数 hop-count 是用于分隔 eBGP 对等体的跳数。TTL 值由路由器根据已配置的 hop-count 参数计算得出。有效值范围为 1 至 254。

步骤 22

向邻居连接分配权重:

neighbor {ipv6-address} weight number

示例:

ciscoasa(config-router-af)# neighbor 2000::1 weight 30

参数 number 是分配给邻居连接的权重。有效值范围为 0 至 65535。

步骤 23

将 ASA 配置为仅接受特定 BGP 版本:

neighbor {ipv6-address} version number

示例:

ciscoasa(config-router-af)# neighbor 2000::1 version 4

参数 number 指定 BGP 版本号。默认为版本 4。目前仅支持 BGP 版本 4。

步骤 24

为 BGP 会话启用 TCP 传输会话选项:

neighbor {ipv6-address} transport {connection-mode{active|passive}| path-mtu-discovery[disable]}

示例:

ciscoasa(config-router-af)# neighbor 2000::1 transport connection-mode active

  • connection-mode - 连接类型(active 或 passive)。

  • path-mtu-discovery - 启用 TCP 传输路径最大传输单位 (MTU) 发现。默认情况下会启用 TCP 路径 MTU 发现。

  • (可选)disable - 禁用 TCP 路径 MTU 发现。

步骤 25

为从外部边界网关协议 (eBGP) 邻居接收的路由自定义 AS_PATH 属性:

neighbor {ipv6-address} local-as [autonomous-system-number[no-prepend]]

示例:

ciscoasa(config-router-af)# neighbor 10.86.118.12 local-as 5 no-prepend replace-as

  • (可选)autonomous-system-number - 向 AS_PATH 属性预置的自治系统号。此参数值的范围是从 1 至 4294967295 或 1.0 至 XX.YY 的任意有效自治系统号。

  • (可选)no-prepend - 不向从 eBGP 邻居接收的任何路由预置本地自治系统号。

    小心

     

    BGP 预置路由穿越的每个 BGP 网络的自治系统号,以维护网络可达性信息和防止路由环路。此命令应配置为仅用于自治系统迁移,并且在完成迁移后应将其删除。此程序应仅由经验丰富的网络操作员尝试执行。配置不当可能会造成路由环路

步骤 26

要将接口更新为 BGP 邻居关系的源,请执行以下操作:

neighbor {ipv6-address} update-source {interface name}

示例:
ciscoasa(config-router-af)# neighbor 2000::1 update-source loop1

参数 interface name 指定 BGP 邻居用作 BGP 路由源的接口的名称。

 
如果将环回接口更新为 BGP 邻居关系的源,则会在网络中通告环回接口的 IP 地址。环回接口充当 eBGP 对等体并参与路由。由于环回接口在启用时稳定,并且在管理性关闭之前保持可用,因此始终可通过环回接口 IP 地址访问 ASA。

配置 IPv6 网络设置

本部分介绍定义要由 BGP 路由进程通告的网络所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 6 (IPv6) 地址前缀配置路由会话:

address-family ipv6 [unicast]

步骤 3

指定将由 BGP 路由进程通告的网络:

network {prefix_delegation_name [subnet_prefix/prefix_length] | ipv6_prefix/prefix_length} [route-map route_map_name]

示例:

ciscoasa(config-router-af)# network 2001:1/64 route-map test_route_map
ciscoasa(config-router-af)# network outside-prefix 1::/64
ciscoasa(config-router-af)# network outside-prefix 2::/64

  • prefix_delegation_name - 如果您启用 DHCPv6 前缀授权客户端 (ipv6 dhcp client pd),则您可通告前缀。要添加子网前缀,指定 subnet_prefix/prefix_length

  • ipv6 network/prefix_length - BGP 将通告的网络。

  • (可选)route-map name - 已配置的路由映射的标识符。应检查路由映射,以过滤要通告的网络。如果未指定,则通告所有网络。


配置 IPv6 重新分发设置

本节介绍定义将其他路由域中的路由重新分发到 BGP 所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 6 (IPv6) 地址前缀配置路由会话:

address-family ipv6 [unicast]

示例:

ciscoasa(config-router)# address-family ipv6[unicast]

步骤 3

将其他路由域中的路由重新分发到 BGP 自主系统:


redistribute protocol [process-id][autonomous-num][metric metric value][match{internal| external1|external2|NSSA external 1|NSSA external 2}][route-map [map-tag]][subnets] 

示例:

ciscoasa(config-router-af)# redistribute ospf 2 route-map example1 match external

  • protocol - 从中重新分发路由的源协议。它可以是以下协议之一:Connected、EIGRP、OSPF、RIP 或 Static。

  • (可选)process-id - 对于 ospf 协议,这是指从中重新分发路由的相应 OSPF 进程 ID。这可以标识路由进程。该值采用非零十进制数字的形式。

     

    系统会为其他协议自动填充该值。

  • (可选)metric metric value - 当从一个 OSPF 进程重新分发到同一路由器的另一个 OSPF 进程中时,如果未指定度量值,则会将一个进程的度量传输到另一个进程。将其他进程重新分发到 OSPF 进程时,如果未指定指标值,则默认指标为 20。默认值为 0。

  • (可选)match internal | external1 | external2 | NSSA external 1 | NSSA external 2 - 指将 OSPF 路由重新分发到其他路由域的条件。它可以是下列类型之一:

    • internal - 特定自主系统的内部路由。

    • external 1 - 自主系统的外部路由,但会被作为 OSPF 类型 1 外部路由导入到 BGP。

    • external 2 - 自主系统的外部路由,但会被作为 OSPF 类型 2 外部路由导入到 BGP。

    • NSSA external 1 - 自主系统的外部路由,但会被作为 OSPF NSSA 类型 1 外部路由导入到 BGP。

    • NSSA external 2 - 自主系统的外部路由,但会被作为 OSPF NSSA 类型 2 外部路由导入到 BGP。

  • (可选)map-tag - 已配置路由映射的标识符。

 

应检查路由映射,以过滤要重新分发的网络。如果未指定,则重新分发所有网络


配置 Ipv6 路由注入设置

本部分介绍定义有条件地注入 BGP 路由表中的路由所需的步骤。

过程

步骤 1

启用 BGP 路由进程,从而使 ASA 进入路由器配置模式:

router bgp autonomous-num

示例:

ciscoasa(config)# router bgp 2

步骤 2

进入地址系列配置模式,以使用标准 IP 版本 6 (IPv6) 地址前缀配置路由会话:

address-family ipv6 [unicast]

示例:

ciscoasa(config-router)# address-family ipv6 [unicast]

步骤 3

配置有条件的路由注入,以将更具体的路由注入 BGP 路由表:

bgp inject-map inject-map exist-map exist-map [copy-attributes]

示例:

ciscoasa(config-router-af)# bgp inject-map example1 exist-map example2 copy-attributes

  • inject-map - 用于指定要注入本地 BGP 路由表的前缀的路由映射的名称。

  • exist-map - 包含 BGP 发言者将跟踪的前缀的路由映射的名称。

  • (可选)copy-attributes - 将已注入的路由配置为继承聚合路由的属性。


监控 BGP

您可以使用以下命令监控 BGP 路由进程。有关命令输出的示例和说明,请参阅命令参考。此外,您可以禁用邻居变更消息和邻居警告消息的日志记录。

要监控各种 BGP 路由统计信息,请输入以下其中一个命令:

  • show bgp [ ip-address [mask [longer-prefixes [injected] | shorter-prefixes [length]]]| prefix-list name | route-map name]

    显示 BGP 路由表中的条目。

  • show bgp cidr-only

    显示带有非自然网络掩码的路由(即,无类别域间路由,或 CIDR)。

  • show bgp community community-number [exact-match][no-advertise][no-export]

    显示属于指定 BGP 社区的路由。

  • show bgp community-list community-list-name [exact-match]

    显示 BGP 社区列表允许的路由。

  • show bgp filter-list access-list-number

    显示与指定的过滤器列表相符的路由。

  • show bgp injected-paths

    显示 BGP 路由表中所有注入的路径。

  • show bgp ipv4 unicast

    显示 IP 版本 4 (IPv4) BGP 路由表中的单播会话条目。

  • show bgp ipv6 unicast

    显示 IPv6 边界网关协议 (BGP) 路由表中的条目。

  • show bgp ipv6 community

    显示属于指定 IPv6 边界网关协议 (BGP) 社区的路由。

  • show bgp ipv6 community-list

    显示 IPv6 边界网关协议 (BGP) 社区列表允许的路由。

  • show bgp ipv6 filter-list

    显示与指定的 IPv6 过滤器列表相符的路由。

  • show bgp ipv6 inconsistent-as

    显示源自治系统不一致的 IPv6 边界网关协议 (BGP) 路由。

  • show bgp ipv6 neighbors

    显示到邻居的 IPv6 边界网关协议 (BGP) 连接的相关信息。

  • show bgp ipv6 paths

    显示数据库中的所有 IPv6 边界网关协议 (BGP) 路径。

  • show bgp ipv6 prefix-list

    显示与前缀列表相匹配的路由。

  • show bgp ipv6 quote-regexp

    显示与作为引用字符串的自治系统路径正则表达式相匹配的 IPv6 边界网关协议 (BGP) 路由。

  • show bgp ipv6 regexp

    显示与自治系统路径正则表达式相匹配的 IPv6 边界网关协议 (BGP) 路由。

  • show bgp ipv6 route-map

    显示无法安置在路由表中的 IPv6 边界网关协议 (BGP) 路由。

  • show bgp ipv6 summary

    显示所有 IPv6 边界网关协议 (BGP) 连接的状态。

  • show bgp neighbors ip_address

    显示到邻居的 BGP 和 TCP 连接的相关信息

  • show bgp paths [LINE]

    显示数据库中的所有 BGP 路径。

  • show bgp pending-prefixes

    显示有待删除的前缀。

  • show bgp prefix-list prefix_list_name [WORD]

    显示与指定的前缀列表相匹配的路由。

  • show bgp regexp regexp

    显示与自治系统路径正则表达式相匹配的路由。

  • show bgp replication [index-group | ip-address]

    显示 BGP 更新组的更新复制统计信息。

  • show bgp rib-failure

    显示无法安置在路由信息库 (RIB) 表中的 BGP 路由。

  • show bgp route-map map-name

    根据已指定的路由映射显示 BGP 路由表中的条目。

  • show bgp summary

    显示所有 BGP 连接的状态。

  • show bgp system-config

    显示多情景模式下的系统情景特定 BGP 配置。

    此命令可用于多情景模式下的所有用户情景。

  • show bgp update-group

    显示有关 BGP 更新组的信息。



要禁用 BGP Log 消息,请在路由器配置模式下输入 no bgp log-neighbor-changes 命令。这会禁用邻居变更消息的日志记录。请在 BGP 路由进程的路由器配置模式下输入此命令。默认情况下,系统会记录领导变更。


BGP 示例

此示例显示如何通过各种可选进程启用和配置 BGPv4。

  1. 定义要路由从一个路由协议重新分发到另一个路由协议的条件,或者启用策略路由:

    
    ciscoasa(config)# route-map mymap2 permit 10
    
    
  2. 重新分发具有路由地址或与已指定的某个访问列表传递的数据包相匹配的任何路由:

    
    ciscoasa(config-route-map)# match ip address acl_dmz1 acl_dmz2
    
    
  3. 指示用于输出为策略路由传递路由映射匹配子句的数据包的目标位置:

    
    ciscoasa(config-route-map)# set ip next-hop peer address
    
    
  4. 从全局配置模式启用 BGP 路由进程:

    
    ciscoasa(config)# router bgp 2
    
    
  5. 在地址系列配置模式下为本地边界网关协议 (BGP) 路由进程配置固定路由器 ID:

    
    ciscoasa(config)# address-family ipv4
    ciscoasa(config-router-af)# bgp router-id 19.168.254.254
    
    
  6. 向 BGP 邻居表添加条目:

    
    ciscoasa(config-router-af)# neighbor 10.108.0.0 remote-as 65
    
    
  7. 将路由映射应用于传入或传出路由:

    
    ciscoasa(config-router-af)# neighbor 10.108.0.0 route-map mymap2 in
    
    
  8. 将接口更新为 BGP 邻居的源:

    ciscoasa(config-router-af)# neighbor 10.108.0.0 update-source loop1

本例显示如何使用各种可选进程启用和配置 BGPv6。

  1. 定义要路由从一个路由协议重新分发到另一个路由协议的条件,或者启用策略路由:

    
    ciscoasa(config)# route-map mymap1 permit 10
    
    
  2. 重新分发具有路由地址或与已指定的某个访问列表传递的数据包相匹配的任何路由:

    
    ciscoasa(config-route-map)# match ipv6 address acl_dmz1 acl_dmz2
    
    
  3. 指示用于输出为策略路由传递路由映射匹配子句的数据包的目标位置:

    
    ciscoasa(config-route-map)# set ipv6 next-hop peer address
    
    
  4. 从全局配置模式启用 BGP 路由进程:

    
    ciscoasa(config)# router bgp 2
    
    
  5. 在地址系列配置模式下为本地边界网关协议 (BGP) 路由进程配置固定路由器 ID:

    
    ciscoasa(config)# address-family ipv4
    ciscoasa(config-router-af)# bgp router-id 19.168.254.254
    
    
  6. 进入地址系列配置模式,以使用标准 IP 版本 6 (IPv6) 地址前缀配置路由会话:

    
    address-family ipv6 [unicast]
    
    
  7. 向 BGP 邻居表添加条目:

    
    ciscoasa(config-router-af)# neighbor 2001:DB8:0:CC00::1 remote-as 64600
    
    
  8. 将路由映射应用于传入或传出路由:

    
    ciscoasa(config-router-af)# neighbor 2001:DB8:0:CC00::1 route-map mymap1 in
    
    
  9. 将接口更新为 BGP 邻居的源:

    ciscoasa(config-router-af)# neighbor 2001:DB8:0:CC00::1 update-source loop1

BGP 的历史记录

表 1. BGP 的功能历史记录

功能名称

平台版本

功能信息

BGP 支持

9.2(1)

系统添加了以下支持:可以使用边界网关协议路由数据、执行身份验证以及重新分发和监控路由信息。

引入了以下命令:router bgp、bgp maxas-limit、bgp log-neighbor-changes、bgp transport path-mtu-discovery、bgp fast-external-fallover、bgp enforce-first-as、bgp asnotation dot、timers bgp、bgp default local-preference、bgp always-compare-med、bgp bestpath compare-routerid、bgp deterministic-med、bgp bestpath med missing-as-worst、policy-list、match as-path、match community、match metric、match tag、as-path access-list、community-list、address-family ipv4、bgp router-id、distance bgp、table-map、bgp suppress-inactive、bgp redistribute-internal、bgp scan-time、bgp nexthop、aggregate-address、neighbor、bgp inject-map、show bgp、show bgp cidr-only、show bgp all community、show bgp all neighbors、show bgp community、show bgp community-list、show bgp filter-list、show bgp injected-paths、show bgp ipv4 unicast、show bgp neighbors、show bgp paths、show bgp pending-prefixes、show bgp prefix-list、show bgp regexp、show bgp replication、show bgp rib-failure、show bgp route-map、show bgp summary、show bgp system-config、show bgp update-group、clear route network、maximum-path、network。

修改了以下命令:show routeshow route summaryshow running-config routerclear config routerclear route alltimers lsa arrivaltimers pacingtimers throttleredistribute bgp

BGP 对 ASA 集群的支持

9.3(1)

我们添加了对 L2 和 L3 集群的支持。

引入了以下命令:bgp router-id clusterpool

不间断转发的 BGP 支持

9.3(1)

我们添加了对不间断转发的支持。

引入了以下命令:bgp graceful-restart、neighbor ha-mode graceful-restart

通告映射的 BGP 支持

9.3(1)

我们添加了对 BGPv4 通告映射的支持。

引入了以下命令:neighbor advertise-map

IPv6 的 BGP 支持

9.3(2)

我们添加了对 IPv6 的支持。

引入了以下命令:address-family ipv6、ipv6 prefix-list、ipv6 prefix-list description、ipv6 prefix-list sequence-number、match ipv6 next-hop、match ipv6 route-source、match ipv6- address prefix-list、set ipv6-address prefix -list、set ipv6 next-hop、set ipv6 next-hop peer-address

修改了以下命令:bgp router-id

授权前缀的 IPv6 网络通告

9.6(2)

ASA 现在支持 DHCPv6 Prefix Delegation 客户端。ASA 获取来自 DHCPv6 服务器的授权前缀。然后,ASA 可以使用这些前缀来配置其他 ASA 接口地址,以便无状态地址自动配置 (SLAAC) 客户端可以自动配置同一网络上的 IPv6 地址。您可以配置 BGP 路由器来通告这些前缀。

修改了以下命令:network

环回接口支持 BGP 流量

9.18(2)

现在,您可以添加环回接口并将其用于 BGP 流量。

新增/修改的命令: interface loopback neighbor update-source

IPv6 支持平稳重启

9.19(1)

已添加 IPv6 地址系列的平稳重启支持。