实验拓扑
图 1-1
注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为 2 的设备,以此类推;另外,同一网段中,IP 地址的主机位为其设备编号,如 R3 的 g0/0 接口若在
192.168.1.0/24
网段,则其 IP 地址为192.168.1.3/24
,以此类推
实验需求
- 按照图示配置 IP 地址,R2,R3,R4,R5 分别配置 Loopback0 口地址作为 OSPF 的 Router_id 和 IBGP 邻居地址,地址格式为
X.X.X.X/32
,X 为设备编号。R1 上配置 Loopback 口模拟业务网段 - AS 200 内部配置 OSPF,仅用于实现 BGP 的 TCP 可达
- AS 200 内部建立 BGP 联盟,联盟 AS 为 AS 200,包含 2 个 子 AS 为 AS 65001 和 AS 65002。R1 和 R2 建立 EBGP 邻居,R4 和 R6 建立 EBGP 邻居,R2 和 R4 建立 EBGP 邻居,子 AS 内部建立 IBGP 全连接
- R1 把业务网段宣告进 BGP,要求 AS 200 内部所有路由器都能够学习到该业务网段路由
- 通过配置团体属性,使
192.168.0.0/24
网段路由只能传递至 AS 200
实验解法
配置 IP 地址部分略
AS 200 内部配置 OSPF 部分略
AS 200 内部建立 BGP 联盟,联盟 AS 为 AS 200,包含 2 个 子 AS 为 AS 65001 和 AS 65002。R1 和 R2 建立 EBGP 邻居,R4 和 R6 建立 EBGP 邻居,R2 和 R4 建立 EBGP 邻居,子 AS 内部建立 IBGP 全连接
分析:由于 AS 200 建立 BGP 联盟,所以 R2 和 R3 的 BGP 运行在 AS 65001 中,R4 和 R5 的 BGP 运行在 AS 65002 中,子 AS 之间通过 R2 和 R4 建立 EBGP 邻居来解决 BGP 路由黑洞问题
真实 AS 之间的 EBGP 邻居仍然使用真实 AS 编号,子 AS 之间的 EBGP 邻居使用子 AS 编号
步骤 1:R1 上使用直连接口地址配置与 R2 的 EBGP 邻居,AS 编号为真实 AS[R1]bgp 100
[R1-bgp-default]peer 100.1.1.2 as-number 200
[R1-bgp-default]address-family ipv4 unicast
[R1-bgp-default-ipv4]peer 100.1.1.2 enable
步骤 2:R2 上创建 BGP 进程运行在 AS 65001 中,联盟 ID 为 200,与 R1 和 R4 建立 EBGP 邻居,与 R3 建立 IBGP 邻居,联盟内邻居 AS 为 AS 65002
注意:R4 虽然是 R2 的 EBGP,但由于是联盟内的 EBGP,所以仍然需要配置下一跳变更为本机
[R2]bgp 65001
[R2-bgp-default]confederation id 200
[R2-bgp-default]confederation peer-as 65002
[R2-bgp-default]peer 3.3.3.3 as-number 65001
[R2-bgp-default]peer 3.3.3.3 connect-interface LoopBack0
[R2-bgp-default]peer 100.1.1.1 as-number 100
[R2-bgp-default]peer 100.2.2.4 as-number 65002
[R2-bgp-default]address-family ipv4 unicast
[R2-bgp-default-ipv4]peer 3.3.3.3 enable
[R2-bgp-default-ipv4]peer 3.3.3.3 next-hop-local
[R2-bgp-default-ipv4]peer 100.1.1.1 enable
[R2-bgp-default-ipv4]peer 100.2.2.4 enable
[R2-bgp-default-ipv4]peer 100.2.2.4 next-hop-local
步骤 3:R3 创建 BGP 进程运行在 AS 65001 中,联盟 ID 为 200,仅与 R2 建立 IBGP 邻居
[R3]bgp 65001
[R3-bgp-default]confederation id 200
[R3-bgp-default]peer 2.2.2.2 as-number 65001
[R3-bgp-default]peer 2.2.2.2 connect-interface LoopBack0
[R3-bgp-default]address-family ipv4 unicast
[R3-bgp-default-ipv4]peer 2.2.2.2 enable
步骤 4:R4 的配置与 R2 类似,对照拓扑进行配置
[R4]bgp 65002
[R4-bgp-default]confederation id 200
[R4-bgp-default]confederation peer-as 65001
[R4-bgp-default]peer 5.5.5.5 as-number 65002
[R4-bgp-default]peer 5.5.5.5 connect-interface LoopBack0
[R4-bgp-default]peer 100.6.6.6 as-number 300
[R4-bgp-default]peer 100.2.2.2 as-number 65001
[R4-bgp-default]address-family ipv4 unicast
[R4-bgp-default-ipv4]peer 5.5.5.5 enable
[R4-bgp-default-ipv4]peer 5.5.5.5 next-hop-local
[R4-bgp-default-ipv4]peer 100.6.6.6 enable
[R4-bgp-default-ipv4]peer 100.2.2.2 enable
[R4-bgp-default-ipv4]peer 100.2.2.2 next-hop-local
步骤 5:R5 的配置与 R3 类似,对照拓扑进行配置
[R5]bgp 65002
[R5-bgp-default]confederation id 200
[R5-bgp-default]peer 4.4.4.4 as-number 65002
[R5-bgp-default]peer 4.4.4.4 connect-interface LoopBack0
[R5-bgp-default]address-family ipv4 unicast
[R5-bgp-default-ipv4]peer 4.4.4.4 enable
步骤 6:R6 的配置与 R1 类似,对照拓扑进行配置
[R6]bgp 300
[R6-bgp-default]peer 100.6.6.4 as-number 200
[R6-bgp-default]address-family ipv4 unicast
[R6-bgp-default-ipv4]peer 100.6.6.4 enable
- R1 把业务网段宣告进 BGP,要求 AS 200 内部所有路由器都能够学习到该业务网段路由
分析:由于上一步配置的 BGP 联盟已经解决了 BGP 路由黑洞问题,AS 200 内部所有路由器都能够学习到 R1 的业务网段路由
步骤 1:在 R1 上把业务网段宣告进 BGP[R1-bgp-default-ipv4]network 192.168.0.0 24
[R1-bgp-default-ipv4]network 192.168.1.0 24
效果测试:AS 200 内部所有路由器都学习到 R1 的业务网段路由,步骤略
- 通过配置团体属性,使
192.168.0.0/24
网段路由只能传递至 AS 200
分析:BGP 公认团体属性中,No_export 为不能被发布到本 AS 之外,如果存在联盟,则不能发布到联盟之外,但可以发布到其他子 AS。根据需求,需要在 R1 上对192.168.0.0/24
网段的路由赋予团体属性 No_export,并且在 AS 100 到 AS 300 的途径路由器中都开启团体属性传递
步骤 1:在 R1 上配置 ACL 抓取192.168.0.0/24
网段路由[R1]acl basic 2000
[R1-acl-ipv4-basic-2000]rule permit source 192.168.0.0 0.0.0.255
步骤 2:创建路由策略,赋予 192.168.0.0/24
网段路由 No_export 团体属性。并配置空节点放行其他路由
[R1]route-policy tt permit node 10
[R1-route-policy-tt-10]if-match ip address acl 2000
[R1-route-policy-tt-10]apply community no-export
[R1]route-policy tt permit node 20
步骤 3:在 R1 上对 R2 调用上一步创建的路由策略
[R1-bgp-default-ipv4]peer 100.1.1.2 route-policy tt export
步骤 4:在 R1 上开启对 R2 传递团体属性,在 R2 上开启对 R4 传递团体属性
[R1-bgp-default-ipv4]peer 100.1.1.2 advertise-community
[R2-bgp-default-ipv4]peer 100.2.2.4 advertise-community
效果测试:R6 已经无法学习到 192.168.0.0/24
网段路由
[R6]display bgp routing-table ipv4
Network NextHop MED LocPrf PrefVal Path/Ogn
* >e 192.168.1.0 100.6.6.4 0 200 100i