# 大规模路由综合实验

# 一、实验拓扑

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

# 二、实验需求

  1. 某企业总公司和分公司运行 BGP 实现路由互通,另外还有办事处运行 RIPv2。总公司和分公司之间通过两条线路相连。企业内有 A 流和 B 流两种流量,如图所示
  2. 按照图示配置 IP 地址,除 R7 外,所有路由配置 Loopback0 口 IP 地址用于 OSPF 的 Router-id 和 IBGP 建立邻居,地址格式为 X.X.X.X/32,X 为设备编号
  3. 总公司和分公司内部配置 OSPF,仅用于实现 BGP 的 TCP 可达,不允许宣告业务网段
  4. 办事处和总公司之间配置 RIPv2
  5. 适当调整链路 Cost,避免产生等价路由
  6. 总公司和分公司配置 BGP 实现路由互通,总公司在 AS 65001,分公司在 AS 65002,各自 AS 内部使用对等体组建立可靠的 IBGP 全连接,AS 之间使用直连接口建立 EBGP 邻居,总公司和分公司的业务网段宣告在 BGP 中
  7. 为了实现总公司和分公司的流量负载均衡,要求通过修改 AS_path,使 A 流数据经过 R2 和 R4,B 流数据经过 R3 和 R5
  8. 在 R2 上配置 RIP 和 BGP 的双向引入,要求办事处的 A 流和 B 流都能与总公司互通,但办事处与分公司之间只有 A 流能够互通
  9. 不允许业务网段出现协议报文,不允许出现不相关的 RIP 协议报文
  10. 随着公司业务发展,后续可能会有其他分公司通过 R2 或 R3 接入总公司;不允许分公司之间互访,所以要求总公司只能对分公司发布属于本 AS 的路由

# 三、实验解法

1.配置IP地址略

2.配置OSPF略

3.配置RIPv2略

4.调整Cost避免等价略

5.总公司与分公司边界配置EBGP,内部使用对等体组配置IBGP,总公司、分公司业务网段宣告至BGP

步骤一:R2/R3与R4/R5配置EBGP对等体

[R2]bgp 65001
[R2-bgp-default]peer 10.0.0.14 as-number 65002
[R2-bgp-default] address-family ipv4 unicast
[R2-bgp-default-ipv4] peer 10.0.0.14 enable
[R3]bgp 65001
[R3-bgp-default]peer 10.0.0.18 as-number 65002
[R3-bgp-default] address-family ipv4 unicast
[R3-bgp-default-ipv4] peer 10.0.0.18 enable

R4/R5上配置EBGP对等体配置略

步骤二:公司内部使用对等体组配置IBGP全连接

[R1]bgp 65001
[R1-bgp-default]group AS65001 internal 
[R1-bgp-default]peer 2.2.2.2 group AS65001
[R1-bgp-default]peer 3.3.3.3 group AS65001
[R1-bgp-default]peer AS65001 as-number 65002
[R1-bgp-default]peer AS65001 connect-interface LoopBack 0
[R1-bgp-default]add ipv4
[R1-bgp-default-ipv4]peer AS65001 enable 
[R1-bgp-default-ipv4]peer AS65001 next-hop-local 

R2与R3同样方式创建对等体组使其形成全连接

分公司AS65002内部配置IBGP方式同上,这里略

步骤三:R1与R6业务网段IP到BGP

[R1]bgp 65001
[R1-bgp-default]add ipv4
[R1-bgp-default-ipv4]network 192.168.0.0 24 
[R1-bgp-default-ipv4]network 172.16.0.0 24

R6宣告略

6.为了实现总公司和分公司的流量负载均衡,要求通过修改 AS_path,使 A 流数据经过 R2 和 R4,B 流数据经过 R3 和 R5

分析:根据BGP的选路原则,总公司与分公司之间的A流B流都会走IP地址小的一边,也就是R2与R4; 那么可以通过在R2,R4上使BGP发布出去的各自AS内部B流的AS_path变长,R3,R5上使BGP发布各自A流的AS_path变长,则可以实现流量负载

步骤一:R2上创建ACL匹配 B流 172.16.0.0/24

[R2]acl basic 2000
[R2-acl-ipv4-basic-2000]rule 0 permit source 172.16.0.0 0.0.0.255

步骤二:创建路由策略使其匹配B流后增长AS_path属性

[R2]route-policy BL permit node 10
[R2-route-policy-BL-10]if-match ip address acl 2000
[R2-route-policy-BL-10]apply as-path 65001

[R2]route-policy BL permit node 20
[R2-route-policy-BL-20]qui

步骤三:在BGP应用该路由策略

[R2]bgp 65001
[R2-bgp-default]address-family ipv4
[R2-bgp-default-ipv4]peer 10.0.0.14 route-policy BL export

其他设备路由策略配置略

7.在 R2 上配置 RIP 和 BGP 的双向引入,要求办事处的 A 流和 B 流都能与总公司互通,但办事处与分公司之间只有 A 流能够互通

步骤一:RIP中引入BGP

注意1:RIP中引入BGP路由时只能默认只引入EBGP路由,而从IBGP学习的路由不进行引入,这里需要进行手动指定引入IBGP路由

注意2:根据需求不让办事处与分公司B流互通,那么RIP引入BGP路由时可直接过滤掉分公司B流路由

[R2]acl basic 2001
[R2-acl-ipv4-basic-2001]rule permit source 192.168.0.0 0.0.0.255
[R2-acl-ipv4-basic-2001]rule permit source 192.168.1.0 0.0.0.255
[R2-acl-ipv4-basic-2001]rule permit source 172.16.0.0 0.0.0.255

[R2]route-policy B2R permit node 10
[R2-route-policy-B2R-10]if-match ip address acl 2001
[R2]rip 1 
[R2-rip-1]import-route bgp allow-ibgp route-policy B2R 

查看R7路由表发现分公司的B流已被过滤掉

[R7]dis ip routing-table 

Destinations : 26       Routes : 26

Destination/Mask   Proto   Pre Cost        NextHop         Interface
0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
10.0.0.0/30        RIP     100 1           10.0.0.33       GE0/0
10.0.0.8/30        RIP     100 1           10.0.0.33       GE0/0
10.0.0.12/30       RIP     100 1           10.0.0.33       GE0/0
10.0.0.32/30       Direct  0   0           10.0.0.34       GE0/0
10.0.0.32/32       Direct  0   0           10.0.0.34       GE0/0
10.0.0.34/32       Direct  0   0           127.0.0.1       InLoop0
10.0.0.35/32       Direct  0   0           10.0.0.34       GE0/0
127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0
127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
172.16.0.0/24      RIP     100 1           10.0.0.33       GE0/0
172.16.2.0/24      Direct  0   0           172.16.2.1      Loop1
172.16.2.0/32      Direct  0   0           172.16.2.1      Loop1
172.16.2.1/32      Direct  0   0           127.0.0.1       InLoop0
172.16.2.255/32    Direct  0   0           172.16.2.1      Loop1
192.168.0.0/24     RIP     100 1           10.0.0.33       GE0/0
192.168.1.0/24     RIP     100 1           10.0.0.33       GE0/0
192.168.2.0/24     Direct  0   0           192.168.2.1     Loop0
192.168.2.0/32     Direct  0   0           192.168.2.1     Loop0
192.168.2.1/32     Direct  0   0           127.0.0.1       InLoop0
192.168.2.255/32   Direct  0   0           192.168.2.1     Loop0
224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
[R7]

步骤二:BGP中引入RIP

注意:BGP引入RIP时会使分公司学习到办事处的B流路由,根据需求分公司与办事处的B流是禁止互通的,虽然目前已经无法通过B流互通,但是分公司任存在办事处B流路由则不合理 所以可以通过在R2、R3上使发布BGP路由至对等体(分公司)时过滤掉引入的RIP中B流路由

注意:因为BGP中相同方向只能调用一条路由策略,则这里直接使用 过滤策略 出方向去过滤

[R2]acl basic 2002
[R2-acl-ipv4-basic-2002]rule deny source 172.16.2.0 0.0.0.255
[R2-acl-ipv4-basic-2002]rule permit 
[R2]bgp 65001
[R2-bgp-default]add ipv4
[R2-bgp-default-ipv4]peer 10.0.0.14 filter-policy 2002 export 

R3过滤策略同理配置这里略

步骤三:测试在R6中查看BGP路由表发现已经没有到分公司的B流路由了

[R6]dis bgp routing-table ipv4

 Total number of routes: 6

 BGP local router ID is 192.168.1.1 
 Status codes: * - valid, > - best, d - dampened, h - history
               s - suppressed, S - stale, i - internal, e - external
               a - additional-path
       Origin: i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >i 172.16.0.0/24      5.5.5.5                    100        0       65001i
* >  172.16.1.0/24      172.16.1.1      0                     32768   i
* >i 192.168.0.0        4.4.4.4                    100        0       65001i
*  i                    5.5.5.5                    100        0       65001i
* >  192.168.1.0        192.168.1.1     0                     32768   i
* >i 192.168.2.0        5.5.5.5                    100        0       65001?
[R6]

8.不允许业务网段出现协议报文,不允许出现不相关的 RIP 协议报文

[R2-rip-1] silent-interface GigabitEthernet0/0
[R2-rip-1] silent-interface GigabitEthernet0/1
[R2-rip-1] silent-interface GigabitEthernet0/2

9.R2 或 R3 接入总公司;不允许分公司之间互访,所以要求总公司只能对分公司发布属于本 AS 的路由

步骤一:R2、R3通过 ip as-path 去设置只发布属于本AS的路由

[R2-bgp-default-ipv4]peer 10.0.0.14 as-path-acl 1 export 

R3配置同理这里略