实验拓扑

image.png

注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为 2 的设备,以此类推;另外,同一网段中,IP 地址的主机位为其设备编号,如 R3 的 g0/0 接口若在 192.168.1.0/24 网段,则其 IP 地址为 192.168.1.3/24,以此类推


实验需求

  1. 按照需求配置 IP 地址,R1 和 R4 配置环回口模拟业务网段,R2 和 R3 配置 Loopback0 口地址作为 OSPF 的 Router-id 和 IBGP 邻居地址
  2. AS 200 内部配置 OSPF,仅用于实现 BGP 的 TCP 可达,不允许宣告业务网段
  3. 配置 BGP,R1 和 R2/R3 建立 EBGP 邻居,R4 和 R2/R3 建立 IBGP 邻居,R1 和 R4 分别把业务网段宣告进 BGP
  4. 通过修改 MED 使 R1 到达 192.168.2.0/24 网段的路由经过 R3
  5. 通过修改 Preferred-value 属性,使 R4 到达 192.168.0.0/24 网段的路由经过 R3
  6. 通过修改 AS_path 属性,使 R1 到达 192.168.3.0/24 网段的路由经过 R3
  7. 通过修改 Local-pref 属性,使 R4 到达 192.168.1.0/24 网段的路由经过 R3

实验解法

  1. 配置 IP 地址部分略
  2. 配置 OSPF 部分略
  3. 配置 BGP 基本部分略
  4. 通过修改 MED 使 R1 到达 192.168.2.0/24 网段的路由经过 R3

分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R1 到达 192.168.2.0/24 网段的路由会优选 R2
这里要求通过修改 MED 使 R1 优选 R3。MED 类似 IGP 中的 Cost,越小越优先,由 network 命令产生的 BGP 路由默认 MED 为 0。把 R2 传递至 R1 的该网段路由 MED 改大即可实现效果
步骤 1:在 R2 上创建 ACL 抓取 192.168.2.0/24 网段路由

  1. [R2]acl basic 2000
  2. [R2-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255

步骤 2:在 R2 上创建路由策略,匹配上一步创建的 ACL,修改 MED 为 100,并创建空节点用于放行其他路由

  1. [R2]route-policy x2 permit node 10
  2. /* 如果区配这个acl规则,就执行动作,将MED(COST)改为100,因为R1的192.168.2.0网段是经过 */
  3. [R2-route-policy-x2-10]if-match ip address acl 2000
  4. [R2-route-policy-x2-10]apply cost 100
  5. [R2]route-policy x2 permit node 20

步骤 3:在 R2 上对 R1 的 EBGP 邻居中调用上一步创建的路由策略,应用方向为出方向

  1. [R2-bgp-default-ipv4]peer 100.1.1.1 route-policy x2 export