14、BGP 路由控制实验

实验拓扑

14-1

注:如无特别说明,描述中的 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 网段路由

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

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

[R2]route-policy x2 permit node 10
[R2-route-policy-x2-10]if-match ip address acl 2000
[R2-route-policy-x2-10]apply cost 100
[R2]route-policy x2 permit node 20

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

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

效果测试:在 R1 上查看 BGP 路由表,发现到达 192.168.2.0/24 网段的路由已经变为选择 R3

[R1]display bgp routing-table ipv4

    Network         NextHop     MED      LocPrf    PrefVal   Path/Ogn

* >  192.168.0.0   92.168.0.1    0                   32768     i
* >  192.168.1.0   192.168.1.1   0                   32768     i
* >e 192.168.2.0   100.3.3.3                         0         200i
*  e                100.1.1.2    100                  0         200i
* >e 192.168.3.0   100.1.1.2                         0         200i
*  e                100.3.3.3                         0         200i
5.通过修改 Preferred-value 属性,使 R4 到达 192.168.0.0/24 网段的路由经过 R3

  分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R4 到达 192.168.0.0/24 网段的路由会优选 R2

  这里要求通过修改 Preferred-value 使 R4 优选 R3。Preferred-value 是私有属性,越大越优先,默认 Preferred-value 为 0。把 R4 从 R3 学习的该网段路由 Preferred-value 改大即可实现效果

步骤 1:在 R4 上创建 ACL 抓取 192.168.0.0/24 网段路由

[R4]acl basic 2000
[R4-acl-basic-2000]rule permit source 192.168.0.0 0.0.0.255

步骤 2:在 R4 上创建路由策略,匹配上一步创建的 ACL,修改 Preferred-value 为 200,并创建空节点用于放行其他路由

[R4]route-policy x0 permit node 10
[R4-route-policy-x0-10]if-match ip address acl 2000
[R4-route-policy-x0-10]apply preferred-value 200
[R4]route-policy x0 permit node 20

步骤 3:在 R4 上对 R3 的 IBGP 邻居中调用上一步创建的路由策略,应用方向为入方向

[R4-bgp-default-ipv4]peer 3.3.3.3 route-policy x0 import

效果测试:在 R4 上查看 BGP 路由表,发现到达 192.168.0.0/24 网段的路由已经变为选择 R3

[R4]display bgp routing-table ipv4

   Network         NextHop      MED    LocPrf     PrefVal  Path/Ogn

* >i 192.168.0.0  3.3.3.3       0      100        200       100i
*  i                2.2.2.2      0      100         0        100i
* >i 192.168.1.0  2.2.2.2       0      100         0        100i
*  i                3.3.3.3      0      100         0        100i
* >  192.168.2.0  192.168.2.1   0                 32768     i
* >  192.168.3.0  192.168.3.1   0                 32768     i
6.通过修改 AS_path 属性,使 R1 到达 192.168.3.0/24 网段的路由经过 R3

  分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R1 到达 192.168.3.0/24 网段的路由会优选 R2

  这里要求通过修改 AS_path 使 R1 优选 R3。AS_path 属性用于描述该路由传递所经过的 AS 路径,越短越优先,R1 收到的该网段路由从 AS 200 始发,然后进入本 AS,所以 AS_path 属性为 100。把 R1 从 R2 学习的该网段路由 AS_path 改长即可实现效果

步骤 1:在 R1 上创建 ACL 抓取 192.168.3.0/24 网段路由

[R1]acl basic 2000
[R1-acl-basic-2000]rule permit source 192.168.3.0 0.0.0.255

步骤 2:在 R1 上创建路由策略,匹配上一步创建的 ACL,添加 200 到 AS_path,并创建空节点用于放行其他路由

[R1]route-policy x3 permit node 10
[R1-route-policy-x3-10]if-match ip address acl 2000
[R1-route-policy-x3-10]apply as-path 200
[R1]route-policy x3 permit node 20

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

[R1-bgp-default-ipv4]peer 100.1.1.2 route-policy x3 import

效果测试:在 R1 上查看 BGP 路由表,发现到达 192.168.3.0/24 网段的路由已经变为选择 R3

[R1]display bgp routing-table ipv4

    Network         NextHop       MED    LocPrf     PrefVal   Path/Ogn

* >  192.168.0.0   192.168.0.1    0                 32768     i
* >  192.168.1.0   192.168.1.1    0                 32768     i
* >e 192.168.2.0   100.3.3.3                         0        200i
*  e                 100.1.1.2     100                0        200i
* >e 192.168.3.0   100.3.3.3                         0        200i
*  e                 100.1.1.2                        0        200 200i
7.通过修改 Local-pref 属性,使 R4 到达 192.168.1.0/24 网段的路由经过 R3置 OSPF 部分略

  分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R4 到达 192.168.1.0/24 网段的路由会优选 R2

  这里要求通过修改 Local-pref 使 R4 优选 R3。Local-pref 越大越优先,默认值为 100。把 R3 向 R4 发布的该网段路由 Local-pref 改大即可实现效果

步骤 1:在 R3 上创建 ACL 抓取 192.168.1.0/24 网段路由

[R3]acl basic 2000
[R3-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

步骤 2:在 R1 上创建路由策略,匹配上一步创建的 ACL,修改 Local-pref 为 150,并创建空节点用于放行其他路由

[R3]route-policy x1 permit node 10
[R3-route-policy-x1-10]if-match ip address acl 2000
[R3-route-policy-x1-10]apply local-preference 150
[R3]route-policy x1 permit node 20

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

[R3-bgp-default-ipv4]peer 4.4.4.4 route-policy x1 export

效果测试:在 R4 上查看 BGP 路由表,发现到达 192.168.0.0/24 网段的路由已经变为选择 R3

[R4]display bgp routing-table ipv4

    Network         NextHop       MED    LocPrf     PrefVal   Path/Ogn

* >i 192.168.0.0   3.3.3.3         0      100        200       100i
*  i                 2.2.2.2        0       100         0        100i
* >i 192.168.1.0   3.3.3.3         0       150         0        100i
*  i                 2.2.2.2         0      100         0        100i
* >  192.168.2.0   192.168.2.1     0                 32768      i
* >  192.168.3.0   192.168.3.1     0                 32768      i