12-IPV4路由操作
本章节下载 (575.8 KB)
目 录
& 说明:
本章所指的路由器,代表了一般意义下的路由器及运行了路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
静态路由是一种特殊的路由,它由管理员手工配置。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。恰当地设置和使用静态路由可以改进网络的性能,并可为重要的网络应用保证带宽。
静态路由的缺点在于:当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,导致网络中断,此时必须由网络管理员手工修改静态路由的配置。
简单来说,缺省路由是在路由器没有找到匹配的路由表入口项时才使用的路由。在路由表中,缺省路由的目的地址是0.0.0.0,目的地址掩码是0.0.0.0。可通过命令display ip routing-table查看当前是否设置了缺省路由。
当报文的目的地址不能与路由表的任何入口项相匹配时,如果路由表中有缺省路由表项(Route Entries),那么该报文将选取缺省路由;如果路由表中没有缺省路由,那么该报文将被丢弃,并向源端返回一个目标网络不可达的ICMP报文。
配置静态路由时,需要了解以下内容:
(1) 目的地址与掩码
在ip route-static命令中,IPv4地址为点分十进制格式,掩码可以用点分十进制表示,也可用掩码长度(即掩码中连续‘1’的位数)表示。
(2) 出接口和下一跳地址
在配置静态路由时,可指定出接口,也可指定下一跳地址。如果指定出接口,必须指定下一跳地址。对于NULL0接口,配置了出接口就不再配置下一跳地址。下一跳地址不能为本地接口IP地址,否则路由不会生效。
实际上,所有的路由项都必须明确下一跳地址。在发送报文时,首先根据报文的目的地址寻找路由表中与之匹配的路由。只有指定了下一跳地址,链路层才能找到对应的链路层地址,并转发报文。
(3) 其它属性
对于不同的静态路由,可以为它们配置不同的Tag值,从而更灵活地应用路由管理策略。
在配置静态路由之前,需完成以下任务:
l 配置相关接口的物理参数
l 配置相关接口的链路层属性
l 配置相关接口的IP地址
表1-1 配置静态路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由 |
ip route-static ip-address { mask | mask-length } { [ Vlan-interface vlan-id ] nexthop-address | NULL interface-number } [ preference preference ] [ tag tag-value] [ description description-info ] |
必选 缺省情况下 l 静态路由的优先级preference为60 l 静态路由tag值为0 l 未配置描述信息 |
配置静态路由的缺省优先级 |
ip route-static default-preference default-preference-value |
可选 缺省情况下,静态路由的缺省优先级为60 |
& 说明:
l 在配置静态路由时,如果先指定下一跳地址,然后将该地址配置为本地接口(如VLAN接口等)的IP地址,则该静态路由不会生效。
l 在配置静态路由时,如果没有指定优先级,就会使用缺省优先级。重新设置缺省优先级后,仅对新增的静态路由有效。
l 配置静态路由的描述信息可以描述某条特定路由的作用、功能、用途等等,方便用户更好地分类、管理以及配置不同的静态路由。
l 设置静态路由的Tag值,可以在路由策略中根据Tag值对路由进行灵活的控制。
l 在使用ip route-static配置静态路由时,如果将目的地址与掩码配置为全零(0.0.0.0 0.0.0.0),则表示配置的是缺省路由。
在完成上述配置后,在任意视图下执行display命令查看静态路由配置的运行情况并检验配置结果。
在系统视图下执行delete命令可以删除配置的所有静态路由。
表1-2 静态路由显示和维护
操作 |
命令 |
查看IP路由表摘要信息 |
display ip routing-table |
查看IP路由表详细信息 |
display ip routing-table verbose |
查看静态路由表信息 |
display ip routing-table protocol static [ inactive | verbose ] |
删除所有静态路由 |
delete static-routes all |
& 说明:
在系统视图下执行undo ip route-static命令可以删除一条静态路由,而执行delete static-routes all命令可以一次性删除所有已配置的静态路由,包括IPv4缺省路由。
交换机各接口及主机的IP地址和掩码如所示。要求采用静态路由,使图中任意两台主机之间都能互通。
图1-1 静态路由配置组网图
(1) 配置各接口的IP地址(略)
(2) 配置静态路由
# 在SwitchA上配置缺省路由。
<SwitchA> system-view
[SwitchA] ip route-static 0.0.0.0 0.0.0.0 1.1.4.2
# 在SwitchB上配置两条静态路由。
<SwitchB> system-view
[SwitchB] ip route-static 1.1.1.0 255.255.255.0 1.1.4.1
[SwitchB] ip route-static 1.1.3.0 255.255.255.0 1.1.4.6
# 在SwitchC上配置缺省路由。
<SwitchC> system-view
[SwitchC] ip route-static 0.0.0.0 0.0.0.0 1.1.4.5
(3) 配置主机
配置主机PC1的缺省网关为1.1.1.1,主机PC2的缺省网关为1.1.2.1,主机PC3的缺省网关为1.1.3.1。
(4) 查看配置结果
# 显示SwitchA的IP路由表。
[SwitchA]display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 1.1.4.2 Vlan100
1.1.1.0/24 Direct 0 0 1.1.1.1 Vlan200
1.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
1.1.4.0/30 Direct 0 0 1.1.4.1 Vlan100
1.1.4.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
# 使用Ping命令验证连通性。
[SwitchA] ping 1.1.3.1
PING 1.1.3.1: 56 data bytes, press CTRL_C to break
Reply from 1.1.3.1: bytes=56 Sequence=1 ttl=254 time=62 ms
Reply from 1.1.3.1: bytes=56 Sequence=2 ttl=254 time=63 ms
Reply from 1.1.3.1: bytes=56 Sequence=3 ttl=254 time=63 ms
Reply from 1.1.3.1: bytes=56 Sequence=4 ttl=254 time=62 ms
Reply from 1.1.3.1: bytes=56 Sequence=5 ttl=254 time=62 ms
--- 1.1.3.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 62/62/63 ms
# 使用tracert命令验证连通性。
[SwitchA] tracert 1.1.3.1
traceroute to 1.1.3.1(1.1.3.1) 30 hops max,40 bytes packet, press CTRL_C to break
1 1.1.4.2 31 ms 32 ms 31 ms
2 1.1.4.6 62 ms 63 ms 62 ms
& 说明:
本章中所指的路由器,代表了一般意义下的路由器以及运行了路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
RIP(Routing Information Protocol,路由信息协议)是一种较为简单的IGP(Interior Gateway Protocol,内部网关协议),主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP。
由于RIP的实现较为简单,在配置和维护管理方面也远比OSPF和IS-IS容易,因此在实际组网中仍有广泛地应用。
RIP是一种基于距离矢量(Distance-Vector)算法的协议,它通过UDP报文进行路由信息的交换,使用的端口号为520。
RIP使用跳数(Hop Count)来衡量到达目的地址的距离,跳数称为度量值。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,.表示目的网络或主机不可达。由于这个限制,使得RIP不适合在大型网络中应用。
为提高性能,防止产生路由环路,RIP支持水平分割(Split Horizon)和毒性逆转(Poison Reverse)功能。
每个运行RIP的路由器管理一个路由数据库,该路由数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:
l 目的地址:主机或网络的地址。
l 下一跳地址:为到达目的地,需要经过的相邻路由器的接口IP地址。
l 出接口:转发报文的出接口。
l 度量值:本路由器到达目的地的开销。
l 路由时间:从路由项最后一次被修改到现在所经过的时间,路由项每次被修改时,路由时间重置为0。
l 路由标记:用于标识路由,在路由策略中可根据路由标记(Tag)对路由进行灵活的控制。
RIP受四个定时器的控制,分别是Update、Timeout、Suppress和Garbage-Collect。
l Update定时器,定义了发送更新报文的时间间隔。
l Timeout定时器,定义了路由老化时间。如果在老化时间内没有收到关于某条路由的更新报文,则该条路由在路由表中的度量值将会被设置为16。
l Suppress定时器,定义了路由处于抑制状态的时长。当一条路由的度量值变为16时,该路由将进入被抑制状态。在被抑制状态,只有来自同一邻居,且度量值小于16的路由更新才会被路由器接收,取代不可达路由。
l Garbage-Collect定时器,定义了一条路由从度量值变为16开始,直到它从路由表里被删除所经过的时间。在Garbage-Collect时间内,RIP以16作为度量值向外发送这条路由的更新,如果Garbage-Collect超时,该路由仍没有得到更新,则该路由将从路由表中被彻底删除。
RIP启动和运行的整个过程可描述如下:
l 路由器启动RIP后,便会向相邻的路由器发送请求报文(Request message),相邻的RIP路由器收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文(Response message)。
l 路由器收到响应报文后,修改本地路由表,同时向相邻路由器发送触发修改报文,广播路由修改信息。相邻路由器收到触发修改报文后,又向其各自的相邻路由器发送触发修改报文。在一连串的触发修改广播后,各路由器都能得到并保持最新的路由信息。
l RIP采用老化机制对超时的路由进行老化处理,以保证路由的实时性和有效性。具体实现为:RIP每隔一定时间周期性的向邻居路由器发布本地的路由表,相邻路由器在收到报文后,对其本地路由进行更新。所有RIP路由器都会重复此过程。
RIP是一种基于D-V算法的路由协议,由于它向邻居通告的是自己的路由表,存在产生路由环路的可能性。
RIP通过以下机制来避免路由环路的产生:
l 计数到无穷(Counting to infinity):将度量值等于16的路由定义为不可达(infinity)。在路由环路发生时,某条路由的度量值将被设置为16,该路由被认为不可达。
l 水平分割(Split Horizon):RIP从某个接口学到的路由,不会从该接口再发回给邻居路由器。这样不但减少了带宽消耗,还可以防止路由环路。
l 毒性逆转(Poison Reverse):RIP从某个接口学到路由后,将该路由的度量值设置为16(不可达),并从原接口发回邻居路由器。
l 触发更新(Triggered Updates):RIP通过触发更新来避免在多个路由器之间形成路由环路的可能,而且可以加速网络的收敛速度。一旦某条路由的开销发生了变化,就立刻向邻居路由器发布更新报文,而不是等到更新周期的到来。
RIP有两个版本:RIP-1和RIP-2。
RIP-1是有类别路由协议(Classful Routing Protocol),它只支持以广播方式发布协议报文。RIP-1的协议报文中没有携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持不连续子网(Discontiguous Subnet)。
RIP-2是一种无类路由协议(Classless Routing Protocol),与RIP-1相比,它有以下优势:
l 支持路由标记(Route Tag),在路由策略中可根据路由标记对路由进行灵活的控制。
l 报文中携带掩码信息,支持路由聚合和CIDR(Classless Inter-Domain Routing,无类域间路由)。
l 支持指定下一跳,在广播网上可以选择到最优下一跳地址。
l 支持以组播方式发送路由更新报文,减少资源消耗。
l 支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
& 说明:
RIP-2有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。
RIP报文由头部(Header)和多个路由表项(Route Entries)部分组成。在一个RIP报文中,最多可以有25个路由表项。
RIP-1的报文格式如图2-1所示。
各字段的解释如下:
l Command:标识报文的类型。值为1时表示Request报文,值为2表示Response报文。
l Version:RIP的版本号。对于RIP-1来说其值为0x01。
l AFI(Address Family Identifier):地址族标识,其值为2时表示IP协议。
l IP Address:该路由的目的IP地址,只能是自然网段的地址。
l Metric:路由的度量值。
RIP-2的报文格式与RIP-1类似,如图2-2所示。
其中,与RIP-1不同的字段有:
l Version:RIP的版本号。对于RIP-2来说其值为0x02。
l Route Tag:路由标记。
l IP Address:该路由的目的IP地址,可以是自然网段的地址,也可以是子网地址或主机地址。
l Subnet Mask:目的地址的掩码。
l Next Hop:提供一个更好的下一跳地址。如果为0.0.0.0,则表示发布此路由的路由器地址就是最优下一跳地址。
RIP-2为了支持报文验证,使用第一个路由表项作为验证项,并将AFI字段的值设为0xFFFF作为标识,如图2-3所示。
各字段的解释如下:
l Authentication Type:验证类型。值为2时表示明文验证,值为3时表示MD5验证。
l Authentication:验证字,当使用明文验证时包含了密码信息。
& 说明:
RFC1723中只定义了明文验证方式,关于MD5验证的详细信息,请参考RFC2082“RIP-2 MD5 Authentication”。
S5500-SI支持以下RIP特性:
l 支持RIP-1
l 支持RIP-2
与RIP相关的协议规范有:
l RFC1058:Routing Information Protocol
l RFC1723:RIP Version 2 - Carrying Additional Information
l RFC1721:RIP Version 2 Protocol Analysis
l RFC1722:RIP Version 2 Protocol Applicability Statement
l RFC1724:RIP Version 2 MIB Extension
l RFC2082:RIP-2 MD5 Authentication
在配置RIP的基本功能之前,需完成以下任务:
l 配置链路层协议
l 配置接口的网络层地址,使相邻节点的网络层可达
表2-1 启动RIP,并在指定的网段使能RIP
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
启动RIP并进入RIP视图 |
rip [ process-id ] |
必选 缺省情况下,没有启动RIP进程 |
在指定网段的接口上使能RIP |
network network-address |
必选 缺省情况下,接口禁用RIP |
& 说明:
l 如果在启动RIP前在接口视图下配置了RIP相关命令,这些配置只有在RIP启动后才会生效。
l RIP只在指定网段的接口上运行;对于不在指定网段上的接口,RIP既不在它上面接收和发送路由,也不将它的接口路由转发出去。因此,RIP启动后必须指定其工作网段。
l network 0.0.0.0命令用来在所有接口上使能RIP。
表2-2 配置接口的工作状态
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
禁止接口发送路由更新报文 |
silent-interface { all | interface-type interface-number } |
可选 缺省情况下,允许所有接口发送路由更新报文 |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
– |
允许接口接收RIP报文 |
rip input |
可选 缺省情况下,允许接口接收或发送RIP报文 |
允许接口发送RIP报文 |
rip output |
& 说明:
使用silent-interface命令可以设置接口为抑制状态,使其可以接收路由更新,但不发送路由更新。
表2-3 配置RIP版本号
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
指定全局RIP版本 |
version { 1 | 2 } |
可选 缺省情况下,RIP版本为RIP-1 |
退回到系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
指定接口接收的RIP版本 |
rip version { 1 | 2 [ broadcast | multicast ] } |
可选 缺省情况下,接口接收RIP-1和RIP-2的报文,只发送RIP-1报文。当配置接口版本为RIP-2时,同时可以指定报文的发送方式 |
& 说明:
当在接口上设置的RIP版本和全局RIP版本不一致时,以接口设置的版本为准。未设置接口RIP版本的接口则使用全局RIP版本。
在实际应用中,有时候需要对RIP路由信息进行更为精确的控制,以满足复杂网络环境中的需要。在控制RIP的路由信息之前,需完成以下任务:
l 配置接口的网络层地址,使相邻节点网络层可达
l 配置RIP基本功能
附加度量值是附加在RIP路由上的输入输出度量值,包括发送附加度量值和接收附加度量值。发送附加度量值不会改变路由表中的路由度量值,仅当接口发送RIP路由信息时才会添加到发送路由上;接收附加度量值会影响接收到的路由度量值,接口接收到一条合法的RIP路由时,在将其加入路由表前会把度量值附加到该路由上。
表2-4 配置接口附加度量值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口接收RIP路由时的附加度量值 |
rip metricin value |
必选 缺省情况下,接口接收RIP路由时的附加度量值为0 |
配置接口发送RIP路由时的附加度量值 |
rip metricout value |
必选 缺省情况下,接口发送RIP路由时的附加度量值为1 |
& 说明:
rip metricout的设置仅对路由器学习到的RIP路由,以及路由器自己产生的RIP路由有效,对于从其他路由协议引入到RIP的路由无效。
路由聚合是指:同一自然网段内的不同子网的路由在向外(其它网段)发送时聚合成一条自然掩码的路由发送。这一功能主要用于减小路由表的规模,进而减少网络上的流量。
RIP-1不支持路由聚合。RIP-2支持路由聚合。用户可配置RIP-2自动路由聚合功能。需要注意的是,当需要将所有子网路由广播出去时,必需关闭RIP-2的自动路由聚合功能。在配置RIP-2在指定接口发布一个聚合的本地IP地址时,也必需关闭RIP-2的自动路由聚合功能。
表2-5 配置RIP-2自动路由聚合功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
开启RIP-2自动路由聚合功能 |
summary |
可选 缺省情况下,RIP-2自动路由聚合功能处于开启状态 |
表2-6 配置发布一条聚合路由
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
关闭RIP-2自动路由聚合功能 |
undo summary |
可选 缺省情况下,RIP-2启用有类聚合功能自动路由聚合功能处于开启状态 |
退出到系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置RIP-2发布聚合的本地IP地址 |
rip summary-address ip-address { mask | mask-length } |
可选 |
在某些特殊情况下,路由器会收到大量来自同一网段的主机路由。路由寻址不需要用到这些路由,而这些主机路由却占用了大量的资源。此时可配置RIP禁止接收主机路由,以节省网络资源。
表2-7 禁止RIP接收主机路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
禁止RIP接收主机路由 |
undo host-route |
必选 缺省情况下,允许RIP接收主机路由 |
表2-8 配置RIP发布缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
配置RIP发布缺省路由 |
default-route originate cost value |
必选 缺省情况下,不向RIP邻居发送缺省路由 |
& 说明:
配置发布缺省路由的RIP路由器不接收来自RIP邻居的缺省路由。
路由器提供路由信息过滤功能,通过指定访问控制列表和地址前缀列表,可以配置入口或出口过滤策略,对接收或发布的路由进行过滤。在接收路由时,还可以指定只接收来自某个邻居的RIP报文。
表2-9 配置RIP对接收的路由进行过滤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
对接收的路由信息进行过滤 |
filter-policy { acl-number | ip-prefix ip-prefix-name [ gateway ip-prefix-name ] | gateway ip-prefix-name } import [ interface-type interface-number ] |
必选 缺省情况下,RIP不对接收的路由信息进行过滤 |
对发布的路由信息进行过滤 |
filter-policy { acl-number | ip-prefix ip-prefix-name } export [ protocol [ process-id ] | interface-type interface-number ] |
必选 缺省情况下,RIP不对发布的路由信息进行过滤 |
表2-10 配置RIP协议优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
配置RIP协议的优先级 |
preference [ route-policy route-policy-name ] value |
可选 缺省情况下,RIP路由的优先级为100 |
表2-11 配置RIP引入外部路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
配置引入路由的缺省度量值 |
default cost value |
可选 缺省情况下,引入路由的缺省度量值为0 |
引入外部路由信息 |
import-route protocol [ cost cost-value | route-policy route-policy-name | tag tag-value ]* |
必选 |
在某些特殊的网络环境中,需要对RIP网络的性能进行调整和优化,在调整RIP之前,需完成以下任务:
l 配置接口的网络层地址,使相邻节点网络层可达
l 配置RIP基本能力功能
表2-12 配置RIP定时器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
配置RIP定时器的值 |
timers { garbage-collect garbage-collect-value | suppress suppress-value | timeout timeout-value | update update-value }* |
可选 缺省情况下 l Update定时器的值为30秒 l Timeout定时器的值为180秒 l Suppress定时器的值为120秒 l Garbage-collect定时器的值为240秒 |
& 说明:
在配置RIP定时器时需要注意,定时器值的调整应考虑网络的性能,并在所有运行RIP的路由器上进行统一配置,以免增加不必要的网络流量或引起网络路由震荡。
表2-13 配置水平分割和毒性逆转
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启水平分割功能 |
rip split-horizon |
可选 缺省情况下,水平分割功能处于开启状态 |
开启毒性逆转功能 |
rip poison-reverse |
必选 缺省情况下,毒性逆转功能处于关闭状态 |
& 说明:
如果同时配置了水平分割和毒性逆转,则只有毒性逆转功能生效。
RIP-1报文中的有些字段必须为零,称之为零域。用户可配置RIP-1在接收报文时对零域进行检查,零域值不为零的RIP-1报文将不被处理。如果用户能确保所有报文都是可信任的,则可以不进行该项检查,以节省CPU处理时间。
此外,还可配置对接收到的报文进行源地址检查,对于在以太网接口上接收的报文,RIP将检查该报文源地址和接口的IP地址是否处于同一网段,如果不在同一网段则丢弃该报文。
表2-14 配置RIP对更新报文进行有效性检查
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
开启对RIP-1报文的零域进行检查的功能 |
checkzero |
可选 缺省情况下,对RIP-1报文的零域进行检查的功能处于开启状态 |
对更新报文的源地址进行检查 |
validate-source-address |
可选 缺省情况下,对接收到的RIP路由更新报文进行源IP地址检查的功能处于开启状态 |
& 说明:
l RIP-2的报文没有零域,配置零域检查对RIP-2无效;
l 当存在RIP非直连的邻居时,应该取消源地址检查。
RIP-2支持两种认证方式:明文认证和MD5密文认证。
明文认证不能提供安全保障,未加密的认证字随报文一同传送,所以明文认证不能用于安全性要求较高的情况。
表2-15 配置RIP-2报文的认证方式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置RIP-2报文的认证方式 |
rip authentication-mode { simple password | md5 { rfc2453 key-string | rfc2082 key-string key-id } } |
必选 |
表2-16 配置RIP邻居
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
配置RIP邻居 |
peer ip-address |
必选 缺省情况下,RIP不向任何定点地址发送更新报文 |
& 说明:
l 通常情况下,RIP使用广播或组播地址发送报文,配置peer命令后,更新报文以单播形式发送到对端,而不采用正常的组播或广播的形式。
l 通常情况下,不推荐使用peer命令,因为这样会造成对端同时收到同一报文的组播(或广播)和单播两种形式。因此建议在配置peer命令的同时,将相关接口改为被动接收(silent)模式。
l 当指定的邻居和本地路由器非直接连接,则必须通过undo validate-source-address命令来关闭对更新报文的源地址进行检查。
在完成上述配置后,在任意视图下执行display命令可以显示配置后RIP的运行情况,用户可以通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除指定RIP进程维护的计数器的统计信息。
表2-17 RIP显示和维护
命令 |
|
显示RIP的当前运行状态及配置信息 |
display rip [ process-id ] |
查看RIP发布数据库的所有激活路由 |
display rip process-id database |
查看RIP的接口信息 |
display rip process-id interface [ interface-type interface-number ] |
显示指定RIP的路由表信息 |
display rip process-id route [ statistics | ip-address { mask | mask-length } | peer ip-address ] |
清除由特殊RIP进程维护的计数器的统计数据 |
reset rip process-id statistics |
如图2-4所示,要求在SwitchA和SwitchB的所有接口上使能RIP,并使用RIP-2进行网络互连。
图2-4 配置RIP的版本
(1) 配置各接口的IP地址(略)
(2) 配置RIP基本功能
# 配置SwitchA。
<SwitchA> system-view
[SwitchA] rip
[SwitchA-rip-1] network 192.168.1.0
[SwitchA-rip-1] network 172.16.0.0
[SwitchA-rip-1] network 172.17.0.0
# 配置SwitchB。
<SwitchB> system-view
[SwitchB] rip
[SwitchB-rip-1] network 192.168.1.0
[SwitchB-rip-1] network 10.0.0.0
# 查看SwitchA的RIP路由表。
<SwitchA> display rip 1 route
Route Flags: R - RIP, T - TRIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect
-------------------------------------------------------------------------
Peer 192.168.1.2 on Vlan-interface100
Destination/Mask Nexthop Cost Tag Flags Sec
10.0.0.0/8 192.168.1.2 1 0 RA 27
从路由表中可以看出,RIP-1发布的路由信息使用的是自然掩码。
(3) 配置RIP的版本
# 在SwitchA上配置RIP-2。
<SwitchA> system-view
[SwitchA] rip
[SwitchA-rip-1] version 2
[SwitchA-rip-1] undo summary
[SwitchA-rip-1] quit
# 在SwitchB上配置RIP-2。
<SwitchB> system-view
[SwitchB] rip
[SwitchB-rip-1] version 2
[SwitchB-rip-1] undo summary
[SwitchB-rip-1] quit
# 查看SwitchA的RIP路由表。
<SwitchA>display rip 1 route
Route Flags: R - RIP, T - TRIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect
-------------------------------------------------------------------------
Peer 192.168.1.2 on Vlan-interface100
Destination/Mask Nexthop Cost Tag Flags Sec
10.2.1.0/24 192.168.1.2 1 0 RA 15
10.1.1.0/24 192.168.1.2 1 0 RA 15
从路由表中可以看出,RIP-2发布的路由中带有更为精确的子网掩码信息。
& 说明:
由于RIP路由信息的老化时间较长,所以在配置RIP-2版本后的一段时间里,路由表中可能还会存在RIP-1的路由信息。
在链路正常的情况下收不到邻居的RIP更新报文。
RIP启动后,必须使用network命令使能相应的接口。如果对接口的工作状态单独进行了配置,应确认没有抑制相关接口或禁止其收发RIP报文。
如果在对端路由器上配置的是组播方式发送RIP报文,在本地路由器上也应该配置为组播方式。
(1) 执行display current-configuration命令,检查RIP的配置。
(2) 执行display rip命令,检查是否抑制了相关RIP接口。
在链路正常的情况下,运行RIP的网络发生路由振荡,查看路由表时发现部分路由时有时无。
在RIP网络中,应确保全网定时器的配置一致,且各定时器之间的关系合理,如Timeout定时器的值应大于Update定时器的值。
(1) 使用display rip命令查看RIP定时器的配置
(2) 使用timers命令将全网的定时器配置一致
& 说明:
本章中所指的路由器,代表了一般意义下的路由器以及运行了路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
路由策略(Routing Policy)是为了改变网络流量所经过的途径而对路由信息采用的方法,主要通过改变路由属性(包括可达性)来实现。
路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,只接收或发布满足一定条件的路由信息。一种路由协议可能需要引入其它的路由协议发现的路由信息,同时引入的路由信息必须满足一定的条件,并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。
为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。匹配规则可以预先设置好,然后再将它们应用于路由的发布、接收和引入等过程的路由策略中。
路由协议可以引用访问控制列表、地址前缀列表和Route-policy几种过滤器。下面对各种过滤器逐一进行介绍。
用户在定义ACL时可以指定IP地址和子网范围,用于匹配路由信息的目的网段地址或下一跳地址。ACL有关配置请参见《H3C S5500-SI系列以太网交换机操作手册》中的“ACL操作”部分。
地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于为用户理解。地址前缀列表在应用于路由信息的过滤时,其匹配对象为路由信息的目的地址字段;另外,用户可以指定gateway选项,指明只接收某些路由器发布的路由信息。
一个地址前缀列表由前缀列表名标识。每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个index-number来标识,index-number指明了进行匹配检查的顺序。
在匹配的过程中,路由器按升序依次检查由index-number标识的各个表项,只要有某一表项满足条件,就意味着通过该地址前缀列表的过滤(不再进入下一个表项的测试)。
路由策略(Route-policy)是一种比较复杂的过滤器,它不仅可以匹配路由信息的某些属性,还可以在条件满足时改变路由信息的属性。Route-policy可以使用前面几种过滤器定义自己的匹配规则。
一个Route-policy可以由多个节点(node)构成,不同节点之间是“或”的关系。系统按节点序号依次检查各个节点,如果通过了其中一节点,就意味着通过该策略,不再对其他节点进行匹配测试。
每个节点可以由一组if-match和apply子句组成。if-match子句定义匹配规则,匹配对象是路由信息的一些属性。同一节点中的不同if-match子句是“与”的关系,只有满足节点内所有if-match子句指定的匹配条件,才能通过该节点的匹配测试。apply子句指定动作,也就是在通过节点的匹配后,对路由信息的一些属性进行设置。
路由策略主要有两种应用方式:
l 路由协议在引入其它路由协议发现的路由时,通过路由策略只引入满足条件的路由信息。
l 路由协议在发布或接收路由信息时,通过路由策略对路由信息进行过滤,只接收或发布满足给定条件的路由信息。
在配置IPv4地址前缀列表之前,需要准备以下数据:
l 前缀列表名称
l 匹配的地址范围
IPv4地址前缀列表由列表名标识,每个前缀列表可以包含多个表项。各表项可以独立指定一个网络前缀形式的匹配范围,并使用索引号标识。
在匹配过程中,系统按索引号升序依次检查各个表项,只要有一个表项满足条件,就认为通过该过滤列表,不再去匹配其他表项。
表3-1 配置IPv4地址前缀列表
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv4地址前缀列表 |
ip ip-prefix ip-prefix-name [ index index-number ] { permit | deny } ip-address mask-length [ greater-equal min-mask-length | less-equal max-mask-length ] |
必选 缺省情况下,不指定地址前缀列表 |
& 说明:
如果所有表项都是deny模式,则任何路由都不能通过该过滤列表。这种情况下,建议在多条deny模式的表项后定义一条permit 0.0.0.0 0 less-equal 32表项,允许其它所有IPv4路由信息通过。
例如,按如下配置可以保证仅过滤掉10.1.0.0/16、10.2.0.0/16、10.3.0.0/16三个网段的路由,而其它网段的路由信息可以通过。
<Sysname> system-view
[Sysname] ip ip-prefix abc index 10 deny 10.1.0.0 16
[Sysname] ip ip-prefix abc index 20 deny 10.2.0.0 16
[Sysname] ip ip-prefix abc index 30 deny 10.3.0.0 16
[Sysname] ip ip-prefix abc index 40 permit 0.0.0.0 0 less-equal 32
在配置路由策略之前,需完成以下任务:
l 配置过滤列表
l 配置路由协议
在配置之前,需要准备以下数据:
l 路由策略的名称、节点序号
l 匹配条件
l 要修改的路由属性值
表3-2 创建一个路由策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建路由策略并进入该路由策略视图 |
route-policy route-policy-name { permit | deny } node node-number |
必选 缺省情况下,没有创建路由策略 |
& 说明:
l permit指定节点的匹配模式为允许模式。当路由信息通过该节点的过滤后,将执行该节点的apply子句,不进入下一个节点的测试;如果路由信息没有通过该节点过滤,将进入下一个节点继续测试。
l deny指定节点的匹配模式为拒绝模式(此模式下apply子句不会被执行)。当路由项满足该节点的所有if-match子句时,将被拒绝通过该节点,不进入下一个节点的测试;如果路由项不满足该节点的if-match子句,将进入下一个节点继续测试。
l 如果路由策略中定义了一个以上的节点,则各节点中至少应该有一个节点的匹配模式是permit。当Route-policy用于路由信息过滤时,如果某路由信息没有通过任一节点,则认为该路由信息没有通过该Route-policy。如果Route-policy的所有节点都是deny模式,则没有路由信息能通过该Route-policy。
表3-3 配置If-match子句
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入路由策略视图 |
route-policy route-policy-name { permit | deny } node node-number |
必选 |
匹配路由策略的IP地址范围 |
if-match acl acl-numbe |
可选 缺省情况下,不匹配路由策略的IP地址范围 |
if-match ip-prefix ip-prefix-name |
||
配置路由信息的路由开销的匹配条件 |
if-match cost value |
可选 缺省情况下,没有配置路由信息的路由开销的匹配条件 |
配置路由信息的出接口的匹配条件 |
if-match interface { interface-type interface-number }&<1-16> |
可选 缺省情况下,没有配置路由信息的出接口的匹配条件 |
配置IPv4的路由信息的下一跳地址或源地址的匹配条件 |
if-match ip { next-hop | route-source } { acl acl-number | ip-prefix ip-prefix-name } |
可选 缺省情况下,没有配置IPv4的路由信息的下一跳地址或源地址的匹配条件 |
配置路由信息的标记域的匹配条件 |
if-match tag value |
可选 缺省情况下,没有配置路由信息的标记域的匹配条件 |
& 说明:
l 对于同一个Route-policy节点,在匹配的过程中,各个if-match子句间是“与”的关系,即路由信息必须同时满足所有匹配条件,才可以执行apply子句的动作。
l 在一个节点中,可以没有if-math子句,也可以有多个if-match子句。当不指定if-match子句时,如果该节点的匹配模式为允许模式,则所有路由信息都会通过该节点的过滤;如果该节点的匹配模式为拒绝模式,则所有路由信息都会被拒绝。
表3-4 配置Apply子句
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入路由策略视图 |
route-policy route-policy-name { permit | deny } node node-number |
- |
配置路由信息的路由开销 |
apply cost [ + | - ] value |
可选 缺省情况下,没有配置路由信息的路由开销 |
配置IPv4路由信息的下一跳地址 |
apply ip-address next-hop ip-address |
可选 缺省情况下,没有配置IPv4路由信息的下一跳地址 |
配置路由协议的优先级 |
apply preference preference |
可选 缺省情况下,没有配置路由协议的优先级 |
配置路由信息的标记域 |
apply tag value |
可选 缺省情况下,没有配置路由信息的标记域 |
& 说明:
对于引入的IPv4路由,使用apply ip-address next-hop命令设置下一跳地址无效。
在完成上述配置后,在任意视图下执行display命令可以显示配置后路由策略的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除路由策略的统计信息。
操作 |
命令 |
显示IPv4地址前缀列表的统计信息 |
display ip ip-prefix [ ip-prefix-name ] |
显示路由策略信息 |
display route-policy [ route-policy-name ] |
清除IPv4地址前缀列表的统计信息 |
reset ip ip-prefix [ ip-prefix-name ] |
l SwitchA与SwitchB通信,运行RIP协议。
l 对SwitchA上的RIP路由进程进行配置,并配置静态路由。
l 设置SwitchA在引入静态路由时应用路由策略,使三条静态路由部分引入、部分被屏蔽掉——20.0.0.0和40.0.0.0网段的路由被引入,30.0.0.0网段的路由则被屏蔽。
l 通过在SwitchB上查看RIP路由表,验证路由策略是否生效。
(1) 配置SwitchA
# 配置接口的IP地址(略)。
# 配置三条静态路由。
<SwitchA> system-view
[SwitchA] ip route-static 20.0.0.1 255.0.0.0 12.0.0.2
[SwitchA] ip route-static 30.0.0.1 255.0.0.0 12.0.0.2
[SwitchA] ip route-static 40.0.0.1 255.0.0.0 12.0.0.2
# 启动RIP协议。
[SwitchA] rip
[SwitchA-rip-1]network 10.0.0.0
[SwitchA-rip-1] quit
# 配置访问列表。
[SwitchA] acl number 2000
[SwitchA-acl-basic-2000] rule deny source 30.0.0.0 0.255.255.255
[SwitchA-acl-basic-2000] rule permit source any
[SwitchA-acl-basic-2000] quit
# 配置路由策略。
[SwitchA] route-policy rip permit node 10
[SwitchA-route-policy] if-match acl 2000
[SwitchA-route-policy] quit
# 引入静态路由时应用路由策略。
[SwitchA] rip
[SwitchA-rip-1] import-route static route-policy rip
(2) 配置SwitchB
# 配置接口的IP地址(略)。
# 启动RIP协议,指定使能RIP协议网络。
<SwitchB> system-view
[SwitchB] rip
[SwitchB-rip-1] network 10.0.0.0
# 在SwitchB上查看RIP路由表,验证路由策略是否生效。
<SwitchB> display rip 1 route
Route Flags: R - RIP, T - TRIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect -------------------------------------------------------------------------
Peer 10.0.0.1 on Vlan-interface100
Destination/Mask Nexthop Cost Tag Flags Sec
40.0.0.0/8 10.0.0.1 1 0 RA 29
20.0.0.0/8 10.0.0.1 1 0 RA 29
路由协议运行正常的情况下无法实现路由信息过滤。
地址前缀列表的各个表项中至少应该有一个表项的匹配模式是permit模式。Route-policy的各个节点中至少应该有一个节点的匹配模式是permit模式。
(1) 使用display ip ip-prefix命令查看前缀列表的配置。
(2) 使用display route-policy命令查看路由策略的配置。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!