Cisco 300-410: 路由重分发和策略路由 — 学习指南
属于 Cisco CCNP Enterprise 300-410 ENARSI — 学习指南. 使用经过验证的答案练习: Cisco 考试中心, 或参加限时模拟考试: ExamRoll.io.
概述
路由重分发和策略路由 (PBR) 是强大的工具,可用于集成异构路由域,以及在默认的基于目的地的范式之外影响转发决策。正确实施后,它们可以实现可扩展的域间连接、选择性流量导向、受控的默认路由传播以及稳健的环路防范。如果实施不当,则会产生路由环路、路由反馈、次优路径以及难以诊断的黑洞。本节将解释其设计原理、操作机制和故障模式,并提供关于过滤、度量值转换以及带有跟踪和验证的 PBR 的精确指导。
重分发与过滤基础
路由域边界、种子度量值和管理距离
- 域边界存在于不同协议(OSPF/EIGRP/BGP/静态/直连)相交的任何地方。在这些边界上,重分发用于在域之间合成可达性信息。
- 在目标协议无法推断度量值的情况下(例如,OSPF 外部度量值、EIGRP 复合度量值),种子度量值是强制性的。如果没有明确的种子度量值或默认值,重分发的路由可能无法使用或优先级被严重降低。
- 管理距离 (AD) 在不同协议之间进行仲裁。典型默认值:eBGP 20、静态 1、OSPF 110、EIGRP 内部 90、EIGRP 外部 170、iBGP 200。混合 AD 环境可能会偏好非预期的来源(例如,如果不考虑 AD,重分发的 OSPF 外部路由可能会优于 iBGP 路径),从而导致非对称路由或环路。
重分发风险与双向控制
- 双向重分发 (A↔B) 可能会将学习到的路由重新注入回源域,从而产生持久性环路或路由“反馈”。可通过以下方式进行控制:
- 使用路由标记来标识来源并阻止重新进入。
- 使用方向性过滤仅允许必要的前缀。
- 在边界进行汇总以降低反馈的粒度。
- 被动默认策略:在适当的情况下,仅注入默认路由或仅注入汇总后的聚合路由。
- 调整 AD 以确保主域优先选择原生路由,而不是重分发的路由。
路由标记与环路防范模式
- 使用协议支持的标记来携带来源元数据:
- OSPF 外部 LSA 标记(32 位)。
- 通过 route map 实现的 EIGRP 路由标记。
- BGP community/extended community 标记。
- 常见模式:
- 在重分发到目标域时设置标记(例如,如果从 EIGRP AS 65001 学习到,则设置标记 65001)。
- 在反向重分发时,匹配该标记并拒绝,以避免路由被重新始发。
- 标记冲突:定义一个标记计划,以避免在不同边界上出现语义重叠。
Route map、前缀列表、分发列表与过滤粒度
- 前缀列表 (Prefix lists):最适合对前缀和掩码进行精细匹配(支持 ge/le 操作符)。可用于 BGP 和 IGP 边界。
- 分发列表 (Distribute lists):由 access-list/prefix-list 驱动的传统过滤方式,直接绑定到路由进程;对 IGP 有效,但上下文信息有限。
- Route map:功能多样的策略,支持匹配前缀列表、标记、下一跳、度量值、communities,并能设置动作(度量值、标记、类型、community、as-path prepend)。
- 当您需要同时过滤和转换属性时,请使用 route map;当需要高效、可扩展地选择前缀/掩码时,请使用前缀列表。
路由过滤的部署位置:入向与出向
- 入向过滤:
- 通过阻止不希望的路由被安装,减少 RIB/FIB 的增长和 CPU 消耗。
- 在保护域免受过多或有害更新(例如,BGP 边界)时首选。
- 出向过滤:
- 防止路由泄露和过度通告。
- 强制执行导出策略和属性规范化。
- 对于 BGP,务必验证出向 route map,以避免意外的属性更改(例如,意外的 AS-path prepending 会增加邻居看到的跳数)。
默认路由管理
- 策略包括:
- 仅在需要时注入默认路由(例如,使用 route map 的 OSPF default-information originate)。
- 谨慎重分发静态路由 0.0.0.0/0;确保 AD 和度量值类型能避免默认路由优于更具体的路由。
- 对于双边界(互联网和 MPLS),为每个 VRF 分别设置默认路由,并应用导入/导出策略以避免交叉泄露。
度量值转换与默认路由管理
OSPF、EIGRP、BGP 和静态路由之间的度量值转换
- OSPF:
- 外部路由携带 cost 和类型。E1 类型会累加到 ASBR 的内部 cost;E2 类型默认是固定值。当内部路径 cost 应影响出口选择时,选择 E1。
- 明确设置外部度量值,以影响跨多个 ASBR 的路径选择。
- EIGRP:
- 复合度量值使用带宽、延迟、可靠性、负载、MTU。在重分发时,至少要设置带宽和延迟;否则路由可能会被分配较差的度量值,导致优先级降低。
- 仅在必须时才使用度量值权重 K1–K5;为保证互操作性,请保持默认值。
- BGP:
- 不直接转换 IGP 度量值。通过 local preference(AS 内部)、MED(AS 间提示)、AS-path prepending 和 weight(路由器本地)来控制路径偏好。
- 将 IGP 重分发到 BGP 时,使用 route map 来设置 communities、MED,并防止粒度过细。
- 静态路由:
- 使用明确的度量值将其注入到 IGP 中。注意 AD 为 1 的静态路由会在本地覆盖动态路由;如果需要,可按前缀调整 AD(例如,ip route 0.0.0.0 0.0.0.0 x.y.z.w 5)。
简明示例
- OSPF ← EIGRP(带标记和 E1 类型):
route-map EIGRP-TO-OSPF permit 10
match tag 0
set tag 65010
set metric-type type-1
set metric 50
router ospf 1
redistribute eigrp 10 subnets route-map EIGRP-TO-OSPF
- EIGRP ← OSPF(带复合度量值):
route-map OSPF-TO-EIGRP permit 10
match tag 0
set tag 65020
set metric 100000 50 255 1 1500
router eigrp 10
redistribute ospf 1 route-map OSPF-TO-EIGRP
- BGP 出向属性控制(避免意外增加本地前缀的路径长度):
route-map OUT permit 10
match ip address prefix-list EXPORT
set local-preference 150
route-map OUT permit 20
router bgp 200
neighbor 1.1.1.1 remote-as 65001
neighbor 1.1.1.1 route-map OUT out
始终包含一个终止的 permit 序列;否则,您可能会无意中附加属性(如 AS-path prepends)或丢弃所有其他路由。
默认路由
- 带策略的 OSPF 默认路由:
route-map OSPF-DEF permit 10
match interface GigabitEthernet0/0
router ospf 1
default-information originate route-map OSPF-DEF metric 10 metric-type 1
基于策略的路由设计与操作
核心行为和匹配
- PBR 逐包更改转发决策,而无需修改路由表。它应用于接口的入站方向或本地生成的流量。
- 常见的匹配标准:源/目的前缀、DSCP/precedence、协议/端口(通过扩展 ACL)、下一跳可达性。
- 关键的 set 操作:
- set ip next-hop x.x.x.x [y.y.y.y …]
- set interface
- set ip default next-hop x.x.x.x(仅在路由查找失败时使用)
- set dscp
, set ip precedence
回退和可用性感知
- 使用下一跳列表实现有序回退。如果第一个下一跳无法解析,路由器会评估后续的下一跳。
- 将
set ip next-hop verify-availability与对象跟踪 (object tracking) 结合使用,以仅优先选择可达的下一跳;否则,PBR 可能会造成黑洞。
ip sla 10
icmp-echo 203.0.113.1 source-interface GigabitEthernet0/0
frequency 5
ip sla schedule 10 life forever start-time now
track 10 rtr 10 reachability
route-map PBR permit 10
match ip address ACL_PBR
set ip next-hop verify-availability 198.51.100.1 1 track 10
set ip default next-hop 203.0.113.2
interface GigabitEthernet0/1
ip policy route-map PBR
- 本地 PBR 与接口 PBR:
- 接口 PBR (
ip policy route-map) 处理进入该接口的中转流量。 - 本地 PBR (
ip local policy route-map) 处理由路由器自身发起的流量(例如,管理会话、ping)。请谨慎使用,以避免中断控制平面会话。
- 接口 PBR (
控制平面和安全交互
- PBR 在常规路由查找之前的数据路径中运行;它不会更改 RIB。请为
set next-hop验证 CEF 邻接关系的解析。 - 控制平面策略 (CoPP) 不会对受 PBR 影响的中转数据进行策略限制,但可以对重分发域使用的路由更新进行策略限制。在验证 CoPP 速率以避免路由抖动时,测试 ACL 分类期间,最初应设置
conform-action transmit和exceed-action transmit,然后根据需要收紧策略。 - 如果在接收设备上部署了 uRPF,由 PBR 创建的非对称路径可能会导致丢包。在适当情况下,使用
ip verify unicast source reachable-via any以允许非对称返回路径。
验证、回滚与故障排查策略
验证命令
- 路由和策略状态:
show ip route和show ip route vrf <name>用于验证每个 VRF 的可达性。show ip cef exact-route <src> <dst>用于观察实际的转发决策。show route-map和show access-lists用于验证序列顺序和匹配项。show policy-map control-plane用于在不稳定期间检查 CoPP 的效果。
- 特定于协议:
- OSPF:
show ip ospf database external、show ip ospf border-routers,并检查 LSA 标签;对于 OSPFv3 接口启用 IPv4,请在接口下使用ospfv3 1 ipv4 area <id>。 - EIGRP:
show ip eigrp topology、show ip protocols用于检查重分发源。 - BGP:
show ip bgp neighbors x.x.x.x advertised-routes和received-routes;确认属性变更(AS-path、MED、communities、local preference),并确保出向策略在需要时允许未匹配的路由通过。
- OSPF:
故障排查工作流
- 识别症状类别:
- 路由缺失:在入口边界检查入向过滤器和重分发策略。
- 路径错误:检查 AD、度量值转换和出向属性修改。
- 黑洞:验证 PBR 下一跳的可用性、IP SLA/track 状态,并确保仅对路由表中不存在的目的地使用 “set ip default next-hop”。
- 不稳定/抖动:首先检查防环标签、过滤器泄露和 CoPP 计数器。
- 检查策略顺序:
- Route-map 的序列顺序至关重要。BGP 出向的 deny 序列会抑制路由宣告,而 “permit with no set” 会让路由不做任何修改地通过。在适当时,务必包含一个最终的 permit 20 (或类似序列) 以允许未匹配的路由通过。
- 验证环路防止机制:
- 确认在导出时设置了标签,并在重新导入时进行了过滤。确保在两个边界的汇总和过滤是对称的。
- 回滚与变更安全:
- 使用维护窗口和分阶段部署(先应用入向策略以保护您的域,然后再应用出向策略)。
- 保留配置存档,并使用
configuration replace快速回滚。 - 在可能的情况下,在全局推广之前,先在 VRF 实验室或有限的邻居子集上应用策略。
简短的目标示例
- 入向 BGP 子网过滤以阻止更具体的路由:
ip prefix-list PL-IN deny 172.16.0.0/16 le 23
ip prefix-list PL-IN permit 0.0.0.0/0 le 32
router bgp 100
neighbor 192.0.2.2 remote-as 200
neighbor 192.0.2.2 prefix-list PL-IN in
- 正确使用 route-map 默认规则以避免过度约束:
route-map SETLP permit 10
match ip address prefix-list P1
set local-preference 99
route-map SETLP permit 20
操作注意事项与故障模式
- 度量值设置不当会导致所有流量都偏向某个 ASBR,或者没有流量选择一个本应有效的路径。
- 意外的 AS-path prepends 或缺少终止的 permit 语句,会导致邻居将本地前缀视为更远,例如,一个本地始发的 192.168.130.0/24 被视为两个 AS 跳而不是一个。
- 没有
track/verify-availability的 PBR 可能会在下一跳故障期间造成静默的数据平面黑洞。 - 没有策略的默认重分发可能会因为 AD 差异而覆盖特定路由,导致次优路由或可达性丧失。
实际问题场景
NorthPeak Media 正在将一个基于 OSPF 的 WAN 与一个基于 EIGRP 的数据中心进行合并,并需要通过两个 ISP 实现选择性的互联网出口。需求:防止重分发环路,生产流量优先选择 ISP-A 并能自动故障切换到 ISP-B,以及避免影响控制平面的稳定性。
方法
- 定义重分发边界和标签
- 基本原理:OSPF (WAN) 和 EIGRP (DC) 之间需要双向重分发。标签用于识别路由来源并防止其被重新注入。
- 操作:
- 在 EIGRP-to-OSPF 的 ASBR 上,重分发
eigrp时设置tag 65010,metric-type E1,以及cost 50。 - 在 OSPF-to-EIGRP 的 ASBR 上,重分发
ospf时设置tag 65020和一个 EIGRP 复合度量值;拒绝任何带有 tag 65010 的路由从 OSPF 返回,反之亦然。
- 在 EIGRP-to-OSPF 的 ASBR 上,重分发
- 规范化度量值和 AD
- 基本原理:确保 OSPF 内部路由优于 OSPF 外部路由,EIGRP 内部路由优于 EIGRP 外部路由;避免 iBGP 无意中覆盖 IGP。
- 操作:
- 对 OSPF 外部路由使用 E1 类型,这样到 ASBR 的内部开销会影响出口选择。
- 如有必要,提高重分发的静态路由的 AD,以避免其覆盖特定的 IGP 路由。
- 控制默认路由的传播
- 基本原理:只有 WAN 边缘设备应该向 OSPF 注入 0.0.0.0/0;数据中心不应无意中将默认路由泄露到 OSPF 或 EIGRP。
- 操作:
- 在 WAN ABR 上,使用
default-information originate并配合一个 route map 来匹配状态为 up/up 的 ISP 接口;metric-type为 E1,并设置一个适中的 cost。 - 不要从数据中心重分发静态默认路由;在用于重分发的 route-map 条款中明确拒绝 0.0.0.0/0。
- 在 WAN ABR 上,使用
- 应用 PBR 并结合 IP SLA 跟踪以实现选择性出口
- 基本原理:将生产流量导向 ISP-A,并实现到 ISP-B 的自动、快速故障切换;不改变路由表。
- 操作:
- 创建一个匹配生产子网的 ACL。
- 配置到 ISP-A 下一跳的
ip slaICMP 测试和track对象。 - 在园区入口接口上,应用
ip policy route-map PBR-PROD:set ip next-hop verify-availability <ISP-A-NH> 1 track <obj>- 对于路由表中不存在的目的地,使用
set ip default next-hop <ISP-B-NH>。
- 让非生产流量遵循正常的 IGP/BGP 路径。
- 保护控制平面和管理流量
- 基本原理:确保路由器自身发起的会话和路由邻接关系不受 PBR 或 CoPP 的干扰。
- 操作:
- 仅在需要时对特定的管理源地址使用
ip local policy route-map;否则,避免全局应用本地 PBR。 - 在激活 CoPP 策略期间,最初为 BGP/OSPF 类别设置
conform-action transmit和exceed-action transmit,以在不引起抖动的情况下验证 ACL 匹配和速率;然后强制执行所需的策略。
- 仅在需要时对特定的管理源地址使用
- 过滤器的放置与验证
- 基本原理:保护域免受过多前缀的影响并避免路由泄露。
- 操作:
- 在 BGP 邻居上配置入向 prefix list,以阻止不希望的更具体路由和 bogon 地址。
- 配置出向 route map 为选定的前缀设置 local preference,并确保有一个终止的 permit 语句。
- 使用
show ip route vrf <name>(每个 VRF)、show ip bgp neighbors advertised-routes和show route-map命中计数进行验证。
- 测试、监控与回滚
- 基本原理:受控的部署可以降低风险。
- 操作:
- 在接口/邻居的子集上部署,监控 IP SLA 状态,并验证 PBR 计数器和 CEF 邻接关系。
- 存档基线配置,并在出现异常时使用
configuration replace进行快速回滚。 - 通过端到端检查路由标签,并使用
show ip ospf database external和show ip eigrp topology验证没有路由被重新始发,来确认不存在环路。
← BGP 策略、可扩展性和路径选择 · 所有领域 · MPLS、VRF 和 L3 VPN 服务 →
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →