实验拓扑
图 1-1
注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为 2 的设备,以此类推;另外,同一网段中,IP 地址的主机位为其设备编号,如 R3 的 g0/0 接口若在
192.168.1.0/24
网段,则其 IP 地址为192.168.1.3/24
,以此类推
实验需求
- 按照需求配置 IP 地址,R1 和 R4 配置环回口模拟业务网段,R2 和 R3 配置 Loopback0 口地址作为 OSPF 的 Router-id 和 IBGP 邻居地址
- AS 200 内部配置 OSPF,仅用于实现 BGP 的 TCP 可达,不允许宣告业务网段
- 配置 BGP,R1 和 R2/R3 建立 EBGP 邻居,R4 和 R2/R3 建立 IBGP 邻居,R1 和 R4 分别把业务网段宣告进 BGP
- 通过修改 MED 使 R1 到达
192.168.2.0/24
网段的路由经过 R3 - 通过修改 Preferred-value 属性,使 R4 到达
192.168.0.0/24
网段的路由经过 R3 - 通过修改 AS_path 属性,使 R1 到达
192.168.3.0/24
网段的路由经过 R3 - 通过修改 Local-pref 属性,使 R4 到达
192.168.1.0/24
网段的路由经过 R3
实验解法
配置 IP 地址部分略
配置 OSPF 部分略
配置 BGP 基本部分略
通过修改 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 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.1.1.2 0 200i
* e 100.3.3.3 0 200i
- 通过修改 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 的 EBGP 邻居中调用上一步创建的路由策略,应用方向为入方向
[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
- 通过修改 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
- 通过修改 Local-pref 属性,使 R4 到达
192.168.1.0/24
网段的路由经过 R3
分析:按照 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