S1720, S2700, S5700, S6720 V200R011C10 配置指南-IP单播路由
本文档介绍了设备支持的IP单播路由相关配置。主要内容包括IP路由概述,静态路由、RIP、RIPng、OSPF、OSPFv3、IS-IS(IPv4)、IS-IS(IPv6)、BGP、路由策略以及策略路由的基本原理和配置过程,并提供相关的配置案例。
OSPF网络设计部署案例
图6-57是一个典型园区网的拓扑图,可以看到这是一个大型园区网络,核心、汇聚、接入三层分明,有多出口到Internet,网络内部存在双链路冗余,核心、汇聚交换机部署集群保护等。这种大型园区网络,园区出口设备一般选用华为NE系列高端路由器,核心交换机和汇聚层交换机选用华为园区框式交换机集群。用户网关部署在汇聚层上,汇聚层作为二层和三层的分界点。
由于上述典型园区网络中核心交换机和汇聚交换机都属于集群系统,因此它们在逻辑上相当于一台设备,多链路捆绑在逻辑上也属于一条链路。为了简化问题的描述,这里把上述网络拓扑经过抽象形成图6-58所示的逻辑拓扑图,园区网中可能存在很多栋楼,这里以3栋为例进行描述。
保持OSPF网络的稳定性:Router ID的规划
部署OSPF的首要工作就是设计和部署Router ID。一般情况下,使用一个合适的私有IP地址段即可。本例选用的Router ID地址段为10.0.0.0/24。
选取完Router ID地址段后,接下来需要做的工作是在每个OSPF设备上创建相应的Loopback接口并配置接口IP为10.0.0.X/32。
Router ID的配置以核心层交换机框式交换机集群为例:
[HUAWEI] interface LoopBack 0 [HUAWEI-LoopBack0] ip address 10.0.0.3 32 //为环回接口0配置32位掩码的IP地址 [HUAWEI-LoopBack0] quit [HUAWEI] ospf 1 router-id 10.0.0.3 //创建OSPF进程1并设置Router ID为10.0.0.3
如无特殊要求,建议不要在OSPF进程中发布Loopback0的接口地址,以减少无用的OSPF信息交互报文。
规划Router ID后的网络拓扑图如图6-59所示。
层次化的网络设计:OSPF区域的规划
在分配完Router ID后,需要对整个OSPF网络进行区域划分。对于层次分明的网络,划分OSPF区域时,可以直接把出口路由器和核心交换机包含到Area 0,再按照地理位置来区分非骨干区域。规划非骨干区域Area编号时需要注意编号之间的差值,方便后续网络扩容时添加新的区域。本例中按照地理位置,把出口路由器和核心交换机划分到骨干区域,把每栋楼的汇聚交换机划分为一个非骨干区域。图6-60是划分区域后的OSPF网络拓扑图。
区域划分的配置以核心层交换机集群的Area 0和Area 10的配置为例。
[HUAWEI] ospf 1 //进入OSPF进程视图 [HUAWEI-ospf-1] area 0 //进入Area 0区域视图 [HUAWEI-ospf-1-area-0.0.0.0] network 10.200.10.0 0.0.0.3 //将上行口的网段发布进Area 0 [HUAWEI-ospf-1-area-0.0.0.0] network 10.200.20.0 0.0.0.3 //将上行口的网段发布进Area 0 [HUAWEI-ospf-1-area-0.0.0.0] quit [HUAWEI-ospf-1] area 10 //进入Area 10区域视图 [HUAWEI-ospf-1-area-0.0.0.10] network 10.100.10.0 0.0.0.3 //将下行口的网段发布进Area 10 [HUAWEI-ospf-1-area-0.0.0.10] quit
从配置命令中可以看到OSPF区域是以OSPF设备为边界的,例如此拓扑中核心层交换机集群上行接口属于Area 0,下行接口属于Area 10,也就是说此交换机集群跨越了两个区域,是ABR。
在单个区域包含过多的低端路由器或者三层交换机是一种不好的设计,如果出现这种情况应该考虑缩小区域范围。
非骨干区域的路由表项优化:特殊区域的使用
划分完OSPF网络区域后可以看到非骨干区域的路由表项的规模相对较大。如果非骨干区域的设备性能较低且用户不希望路由表项规模过大,此时可以考虑运用特殊区域。本例中非骨干区域一律采用Totally NSSA区域,具体拓扑如图6-61所示。
Totally NSSA区域的配置以Area 10中的核心层交换机集群和汇聚层交换机集群为例。
核心层交换机集群的配置如下:
[HUAWEI] ospf 1 //进入OSPF进程视图 [HUAWEI-ospf-1] area 10 //进入Area 10区域视图 [HUAWEI-ospf-1-area-0.0.0.10] nssa no-summary //ABR需要配置nssa no-summary [HUAWEI-ospf-1-area-0.0.0.10] quit
汇聚层交换机集群的配置如下:
[HUAWEI] ospf 1 //进入OSPF进程视图 [HUAWEI-ospf-1] area 10 //进入Area 10区域视图 [HUAWEI-ospf-1-area-0.0.0.10] nssa //非ABR设备配置nssa [HUAWEI-ospf-1-area-0.0.0.10] quit
配置Totally NSSA区域前,汇聚层交换机集群上的非骨干区域路由表项如下:
<HUAWEI> display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 21 Routes : 21 Destination/Mask Proto Pre Cost Flags NextHop Interface 10.0.0.4/32 Direct 0 0 D 127.0.0.1 LoopBack0 10.10.1.0/24 Direct 0 0 D 10.10.1.1 Vlanif100 10.10.1.1/32 Direct 0 0 D 127.0.0.1 Vlanif100 10.10.2.0/24 Direct 0 0 D 10.10.2.1 Vlanif200 10.10.2.1/32 Direct 0 0 D 127.0.0.1 Vlanif200 10.10.3.0/24 Direct 0 0 D 10.10.3.1 Vlanif300 10.10.3.1/32 Direct 0 0 D 127.0.0.1 Vlanif300 10.20.1.0/24 OSPF 10 3 D 10.100.10.1 Vlanif10 10.20.2.0/24 OSPF 10 3 D 10.100.10.1 Vlanif10 10.20.3.0/24 OSPF 10 3 D 10.100.10.1 Vlanif10 10.30.1.0/24 OSPF 10 3 D 10.100.10.1 Vlanif10 10.30.2.0/24 OSPF 10 3 D 10.100.10.1 Vlanif10 10.30.3.0/24 OSPF 10 3 D 10.100.10.1 Vlanif10 10.100.10.0/30 Direct 0 0 D 10.100.10.2 Vlanif10 10.100.10.2/32 Direct 0 0 D 127.0.0.1 Vlanif10 10.100.20.0/30 OSPF 10 2 D 10.100.10.1 Vlanif10 10.100.30.0/30 OSPF 10 2 D 10.100.10.1 Vlanif10 10.200.10.0/30 OSPF 10 2 D 10.100.10.1 Vlanif10 10.200.20.0/30 OSPF 10 2 D 10.100.10.1 Vlanif10 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
配置Totally NSSA区域后,汇聚层交换机集群上的非骨干区域路由表项如下:
<HUAWEI> display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 10 2 D 10.100.10.1 Vlanif10
10.0.0.4/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.10.1.0/24 Direct 0 0 D 10.10.1.1 Vlanif100
10.10.1.1/32 Direct 0 0 D 127.0.0.1 Vlanif100
10.10.2.0/24 Direct 0 0 D 10.10.2.1 Vlanif200
10.10.2.1/32 Direct 0 0 D 127.0.0.1 Vlanif200
10.10.3.0/24 Direct 0 0 D 10.10.3.1 Vlanif300
10.10.3.1/32 Direct 0 0 D 127.0.0.1 Vlanif300
10.100.10.0/30 Direct 0 0 D 10.100.10.2 Vlanif10
10.100.10.2/32 Direct 0 0 D 127.0.0.1 Vlanif10
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
可以明显看出,配置Totally NSSA区域以后,Area 10的路由表的规模明显减小,说明在非骨区域通过配置Totally NSSA区域可以达到降低路由表项规模的作用。
骨干区域的路由表项优化:非骨干区域IP子网规划和路由汇聚
在非骨区域通过配置Totally NSSA区域后,非骨干区域内部路由器的路由表得到极大的精简并且减少了区域内部OSPF路由器之间的信息交互量。在骨干区域也需要作出适当的操作来达到同样的目的,这就要对非骨干区域使用的IP子网作出合理规划并在ABR进行汇总。
图6-62显示了Area 10作出合理的IP规划后往Area 0通告的路由汇总表项。
区域路由汇总会抑制明细路由条目的通告,这样Area 10的ABR就只会向Area 0内注入一条汇总路由10.10.0.0/16,这样可以精简骨干路由器路由表项,减少Area 0的OSPF报文交互量和保证其路由表的稳定。建议在设计OSPF网络时合理规划IP地址,以方便进行路由汇总。
路由汇总的配置以Area 10中的ABR(核心层交换机集群)为例,配置如下:
[HUAWEI] ospf 1 //进入OSPF进程视图 [HUAWEI-ospf-1] area 10 //进入Area 10区域视图 [HUAWEI-ospf-1-area-0.0.0.10] abr-summary 10.10.0.0 255.255.0.0 //ABR进行路由汇总 [HUAWEI-ospf-1-area-0.0.0.10] quit
abr-summary命令只能在ABR上配置,区域内部路由器上不要使用此条命令,否则会造成路由表项错误。
路由汇总前,NE40E-1上的路由表项如下:
<NE40E-1> display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 12 Routes : 12 Destination/Mask Proto Pre Cost Flags NextHop Interface 10.0.0.1/32 Direct 0 0 D 127.0.0.1 LoopBack0 10.10.1.0/24 OSPF 10 3 D 10.200.10.2 GigabitEthernet0/0/1 10.10.2.0/24 OSPF 10 3 D 10.200.10.2 GigabitEthernet0/0/1 10.10.3.0/24 OSPF 10 3 D 10.200.10.2 GigabitEthernet0/0/1
路由汇总后,NE40E-1上的路由表项如下:
<NE40E-1> display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.0.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.10.0.0/16 OSPF 10 3 D 10.200.10.2 GigabitEthernet0/0/1
可以看出,路由汇总之前骨干区域内有用户网段的明细路由。在ABR上配置路由汇总后,骨干区域的NE40E-1上只有一条16位掩码的汇总的用户网段路由。这样,在有很多用户网段的情况下,通过汇可以在很大程度上精简骨干区域的路由,减少骨干区域和非骨干区域的LSA交互数量,提高网络的稳定性。
上行流量的引导:OSPF缺省路由的引入和选路优化
对于一个园区网络,很大一部分流量是流向Internet的,因此对于这种多出口的网络拓扑,引入缺省路由和多出口流量分担是必须要考虑的问题。
引入缺省路由的方式有多种,建议的做法是在ASBR上通过OSPF“非强制”下发缺省路由来实现。OSPF“非强制”下发缺省路由,是指只有ASBR自身的IP路由表中存在缺省路由的时候才能发布缺省路由,否则就不能发布。这样可以防止在特殊场景下产生环路或者次优路由。
在本例中两台ASBR发布缺省路由后,核心层交换机集群会收到两条缺省路由,下一跳分别指向两个出口路由器。此时核心层交换机集群可以选择其中一条链路作为上行,也可以选择两条上行链路负载分担。具体如何分配流量,可以根据实际的网络情况灵活配置。核心层交换机集群的缺省路由和流量的走向如图6-63所示。
NE40E-1上发布缺省路由的配置如下,NE40E-2上的配置类似,不再赘述。
[NE40E-1] ip route-static 0.0.0.0 0.0.0.0 202.10.10.1 //在NE40E-1上手工配置一条下一跳指向电信运营商的公网地址的缺省路由 [NE40E-1] ospf 1 //进入OSPF进程视图 [NE40E-1-ospf-1] default-route-advertise //发布缺省路由,不携带always参数,即非强制下发缺省路由
完成上述配置后,核心层交换机集群会学习到两条等价的缺省路由,如下所示。此时核心层交换机集群的上行流量将会采取负载分担的方式进行转发。
<HUAWEI> display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 23 Routes : 24 Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 O_ASE 150 1 D 10.200.10.1 Vlanif40 O_ASE 150 1 D 10.200.20.1 Vlanif50 ......
如果用户想让核心层交换机集群上行的两条链路采取主备份的形式,正常情况下上行流量发送到NE40E-1,当NE40E-1发生故障时流量自动切换到NE40E-2,最简单直接的方法就是使用OSPF自身的选路机制,通过修改cost值来影响选路。
为了实现路由的主备份,可以修改核心层交换机集群到达NE40-2这条链路的cost,使得核心层交换机集群到达NE40-2这条链路的cost值大于核心层交换机集群到达NE40-1这条链路。
核心层交换机集群的配置:
[HUAWEI] interface vlanif 50 //进入OSPF接口视图 [HUAWEI-Vlanif50] ospf cost 10 //修改该接口的OSPF cost值为10
NE40E-2的配置:
[NE40E-2] interface gigabitethernet 0/0/1 //进入OSPF接口视图 [NE40E-2-GigabitEthernet0/0/1] ospf cost 10 //修改该接口的OSPF cost值为10
如果需要调整cost值来影响OSPF的选路,则需要在链路两侧的设备上都调整cost值,否则会形成不对称路由,引起网络故障。
缺省情况下百兆带宽以上的链路OSPF的cost为1,将核心层交换机集群到NE40E-2之间的链路的OSPF cost值修改为10以后,核心层交换机集群将优选到NE40E-1的链路作为上行流量的出口。此时核心层交换机集群的IP路由表中将会仅存在一条指向NE40E-1的缺省路由,如下所示。
<HUAWEI> display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 23 Routes : 23 Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 O_ASE 150 1 D 10.200.10.1 Vlanif40 ......
路由汇总场景下的防环设计:黑洞路由的使用
经过上述规划与部署,该网络已经具备基本的OSPF功能,路由表项也得到了优化。但是,该网络当前存在产生环路的风险,原因是路由汇总通常容易产生环路。
对于园区网来说,来自内部的网络攻击是很常见的。假设1号楼内的某台主机受到病毒攻击,这种攻击会导致主机遍历并访问10.0.0.0网段的IP地址。此时就有很大的风险产生环路。
假设主机访问10.10.50.1这个地址(1号楼实际上不存在这个地址)。环路产生的过程如下:
主机发送数据包时,数据包会被发送至主机的网关,即1号楼的汇聚层交换机集群1。
汇聚层交换机集群1上不存在这个目的地址的明细路由,所以会匹配默认路由发送至核心层交换机集群。
由于10.10.50.1这个地址在整个园区网中根本不存在,所以数据包到达核心层交换机集群后只能匹配缺省路由,发送至NE40E-1。
NE40E-1上学习到的路由是核心层交换机集群通过路由汇总发布出去的,所以会匹配到10.10.0.0/16这条路由,所以数据包又重新发回核心层交换机集群。
这样,核心层交换机集群和NE40E-1之间就形成了路由环路,如图6-64所示。一旦形成路由环路,将会严重影响网络的运行,甚至导致整网的瘫痪。所以做路由汇总的场景下,必须考虑如何防止路由环路。
形成路由环路的主要原因是在核心层交换机集群上把目的地址为一个园区网内不存在的地址的数据包匹配默认路由发送给和骨干区域,同时骨干区域又通过汇总的回程路由回送回来。
解决这个路由环路的方法就是在核心层交换机集群上阻断目的地址为一个园区网内不存在的地址的数据包,推荐使用的方法就是配置黑洞路由。配置如下:
[HUAWEI] ip route-static 10.10.0.0 255.255.0.0 NULL0
配置黑洞路由后,回程到10.10.0.0这个网段的数据包都会由明细路由引导回到用户网段。如果找不到这个明细路由,则证明园区网内不存在这个主机地址。此时数据包就会匹配这条黑洞路由而被丢弃,从而防止产生路由环路。其他区域中也需要在配置路由汇总的同时配置黑洞路由用来防止路由环路的产生。
OSPF网络基本安全:OSPF静默接口的使用
完成上述部署后,整个OSPF网络已经能够正常的运行。但是这个网络存在一个较大的安全漏洞,即用户侧能够接收到OSPF的Hello报文,使用网络嗅探工具可以很轻易地获得基本的网络信息,并作出下一步的攻击行为。
为了实现OSPF网络的基本安全,推荐使用静默接口的方式来阻止发往用户的OSPF报文,如图6-65所示。
以Area 10中的汇聚层交换机集群1为例,静默接口的配置如下:
[HUAWEI] ospf 1 [HUAWEI-ospf-1] silent-interface vlanif100 [HUAWEI-ospf-1] silent-interface vlanif200 [HUAWEI-ospf-1] silent-interface vlanif300
silent-interface命令会禁止接口接收和发送OSPF报文,一般只用于用户侧接口上。应用于OSPF路由器之间的链路会导致OSPF邻居无法建立。