转载:https://blog.51cto.com/12633577/1978414
ospf支持broadcast、NBMA、P2P、P2MP 4种类型的网络,他们的差异主要在发送报文形式不同。因此在4种网络类型中设置ospf协议时,主要的区别就是体现在协议报文的发送形式上。
具体配置流程:
1、设置接口的网络层地址,使相邻节点网络可达 2、设置ospf基本功能 3、设置接口网络类型
[Huawei-GigabitEthernet0/0/2]ospf network-type ?
broadcast Specify OSPF broadcast network nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network p2p Specify OSPF point-to-point network
默认情况下,接口的网络类型是根据物理接口类型而定的: 以太网接口的网络类型:广播
串口和POS(封装PPP协议或DHLC协议时)接口的网络类型:P2P ATM和Frame-relay(帧中继)接口的网络类型:NBMA
可根据实际情况设置接口的网络类型,但要考虑以下几个方面:
1、如果同一网段内只有两台设备运行ospf协议,可(建议)将接口的网络类型改为P2P 2、如果接口的类型是广播,但在网络上有不支持组播地址的设备(路由器),可将接口的类型改为NBMA。
3、如果接口的类型是NBMA,且网络是全连通的,即任意两台路由器都直接可达。此时可以将接口类型改为broadcast,且不必再配置邻居路由器。
4、如果接口的类型是NBMA,但网络不是全连通的,必须将接口类型改为P2MP。这样两台不能直接可达的路由器可以通过一台与两者都直接可达的路由器来交换路由信息。接口类型改为P2MP类型后,也不必再配置邻居路由器。
在设置网络类型,要注意以下几个方面:
1、P2MP类型必须是由其他的网络类型强制更改
2、一般情况下,链路两端ospf接口的网络类型必须一致,否则不可用建立邻居关系
3、当链路两端ospf接口一端是broadcast,另一端是P2P时,仍可以建立邻居关系,但互相学习不到路由信息。 4、当链路两端ospf接口一端是P2MP,另一端是P2P时,仍可建立邻居关系,但互相学习不到路由信息。为了相互学习到路由信息,可在两端ospf接口上设置相同的hello报文发送间隔和邻居失效时间。
在broadcast网络中可以通过ospf dr-priority 在接口视图下设置路由器的优先级,用于DR和BDR选举,其值越大,优先级越高。如果一台设备的接口优先级为0,则它不会被选举为DR或BDR。
在NBMA网络中,也可以通过设置接口的优先级来影响DR和BDR的选举。
1、设置P2MP网络属性
默认情况下,P2MP网络上接口IP地址的子网掩码长度不一致的设备不可用建立邻居关系,但可以通过设置设备间忽略对hello报文中网络掩码的检查来正常建立ospf建立邻居关系。
[Huawei-GigabitEthernet0/0/2]ospf p2mp-mask-ignore
在P2MP网络中,当两台路由器之间存在多条链路时,可通过对出方向的LSA进行过滤以减少LSA在某些链路上的传送,减少不必要的重传,节省带宽资源。
[Huawei-ospf-10]filter-lsa-out peer 10.1.1.1 ?
all Filter all types of LSAs #指定除grace-lsa之外的所有lsa进行过滤 ase Filter type-5 ASE LSAs nssa Filter type-7 NSSA LSAs
summary Filter type-3 Summary LSAs
2、设置NBMA网络属性
1、设置接口网络类型为NBMA
NBMA网络必须是全连通的,所以网络中任意两台路由器之间都必须之间可达(无需经过其他中间路由器),如果这个要求无法满足,则必须通过命令强制将网络类型改为P2MP。
2、设置NBMA网络发送轮询报文的时间间隔(可选,默认120s)
在NBMA网络上,当邻居失效后,路由器将按设置的轮询时间间隔定期发送hello报文。 [Huawei-GigabitEthernet0/0/1]ospf timer poll 200
3、设置NBMA网络的邻居
可以通过设置NBMA网络的邻居使整个网络达到全连通状态,这样ospf就可以看作是广播网络进行DR、BDR选举等。但由于无法通过广播hello报文的形式动态发现相邻设备,必须手动通过peer指定相邻设备的IP地址(需重复指定多台相邻设备)已经用于DR选举的优先级(两端的DR优先级(默认为1)要一致)
[Huawei-ospf-10]peer 10.1.1.1 dr-priority 2 DR/BDR选举
在一个广播型ospf网络中,一旦选举了DR和BDR后,区域内路由器仅与DR、BDR交互LSA,DRother之间不需要交互LSA。
六、设置ospf的stub、totally stub、nssa、totally nssa区域
通常将位于AS边缘的一些非骨干区域配置成stub(totally stub)、nssa(totally nssa)、区域,可以缩减LSDB和路由表规模(不存在引入的外部路由,看见的是一条缺省路由)。当然,stub、totally stub、nssa、totally nssa区域都是一种可选配置属性。
配置这些区域时要注意:
1、骨干区域(area 0)不能不能配置成stub、totally stub、nssa、totally nssa区域 2、如果要将一个区域设置成stub、totally stub、nssa、totally nssa区域,则该区域中的所有路由器都要配置为stub、totally stub、nssa、totally nssa区域属性。
3、stub、totally stub、nssa、totally nssa区域内不能存在虚连接 4、stub区域内不能有ASBR,即自治系统外部的路由不能在stub区域内传播(即引入外部路由),且只有有一个abr。 NSSA区域可以有一个或多个ABR和ASBR,允许自治系统外部的路由通过type7 LSA在NSSA区域内传播,然后在NSSA区域的ABR上转换成type 5 LSA向其他ospf区域传播
1、设置ospf的stub、totally stub区域
1、设置当前区域为stub区域(需要在区域内的所有路由器上设置) [Huawei-ospf-1-area-0.0.0.5]stub
2、设置totally stub区域(也就是在ABR上禁止向stub区域内发送type 3 LSA)。 [Huawei-ospf-1-area-0.0.0.5]stub no-summary
3、设置在stub区域的ABR上发送到stub区域缺省路由开销(必须在本地路由表已存在该缺省路由(abr自动生成))
[Huawei-ospf-1-area-0.0.0.5]default-cost 15
2、设置ospf的NSSA/totally NSSA区域 1、设置当前区域为NSSA区域
[Huawei-ospf-12-area-0.0.0.10]nssa ?
default-route-advertise Originate Type 7 default into NSSA area
flush-waiting-timer Flush waiting timer
no-import-route No redistribution into this NSSA area
no-summary Do not send summary LSA into NSSA
set-n-bit Set n bit in DD packet in NSSA area
suppress-forwarding-address Suppress forwarding address for Translated Type-5LSAs
translator-always Set NSSA translator role always
translator-interval Configure NSSA translator interval value
zero-address-forwarding Allow zero forwarding address for Type-7 LSAs Please press ENTER to execute command 3、设置ABR上发送到NSSA区域的type 3 lsa的缺省路由开销 [Huawei-ospf-1-area-0.0.0.10]default-cost 15
七、设置ospf安全功能
在对安全性要求较高的网络中,可以通过配置GTSM(generalized ttl security mechanism ,通用ttl安全保护机制 )以及ospf区域认证和接口认证来提高ospf网络的安全性。
1、GTSM设置
如果攻击者模拟真实的ospf协议单播报文对路由器不断发送报文,路由器在收到这些报文后发现目的IP是本设备的的地址,则会直接上送给控制层面的ospf协议处理,不辨其合法性。这样会导致设备控制层因忙于处理这些报文使系统繁忙,占用较多的CPU资源。
可通过GTSM检查IP报头中的TTL 值是否在一个预先定义好的范围,对IP层以上业务进行保护。 GTSM仅对单播报文有效,对组播无效,因为组播报文本身具有ttl值为255的限制。 GTSM不支持基于tunnel的邻居。 GTSM的实现机制:
对于直连协议的邻居,将需要发出的单播协议报文的ttl值设定为255; 对于多跳的邻居则可以定义一个合理合理的ttl范围。
使能了GTSM的设备会对收到的所有IP单播报文进行检查,对于没有通过策略的报文丢弃或上送控制平面,从而达到防止攻击的目的。
具体配置:
1、使能gtsm,并设置需要检测ttl的最大值 [Huawei]ospf valid-ttl-hops 5 ?
***-instance *** routing/forwarding Instance
Please press ENTER to execute command 2、设置未匹配gtsm策略报文的缺省动作 [Huawei]gtsm default-action ?
drop Default action is drop # 丢弃 pass Default action is pass # 通过
3、打开单板的log信息开关(只记录丢弃动作log信息)
[Huawei]gtsm log drop-packet all
2、安全认证设置
为了拒绝非法ospf报文进入,ospf支持报文认证功能,使只有通过认证的报文才能被接收,否则不能正常建立邻居。
路由器支持两种认证方式: 1、区域认证
使用区域认证时,一个区域中所有的路由器在该区域下的认证模式和密码必须一致 具体配置
[Huawei-ospf-1-area-0.0.0.1]authentication-mode ? hmac-md5 Use HMAC-MD5 algorithm keychain Keychain authentication mode md5 Use MD5 algorithm
simple Simple authentication mode 2、接口认证
[Huawei-GigabitEthernet0/0/2]ospf authentication-mode ? hmac-md5 Use HMAC-MD5 algorithm keychain Keychain authentication mode md5 Use MD5 algorithm null Use null authentication
simple Simple authentication mode
八、调整ospf路由选择
在复杂网络环境下,可通过调整ospf的功能参数来达到灵活组网、优化网络负载分担。 1、设置ospf的接口开销
ospf接口开销影响路由选择,开销值越小,优先级越高,越能成为路由。 ospf链路开销可以手动指定,也可以根据接口带宽自动计算
链路状态路由协议(ospf、is-is)的接口开销也即链路开销,是二层概念,是指接口所在链路的开销,主要依据接口带宽确定。如果链路两端接口的带宽不一致,则以带宽低的接口为准计算接口开销。路由开销等于所经过的链路开销之和。同一路由器上的不同接口之间的链路开销为0.
具体配置
[Huawei-GigabitEthernet0/0/3]ospf cost 20 # 直接设置开销值 或
[Huawei-ospf-2]bandwidth-reference 1024 # 通过计算接口带宽所得开销值 2、设置等价路由
当网络中存在多条路由协议发现的到达同一目的地的路由,且这几条路由的开销值也相同时,则这些路由就是等价路由,可以实现负载分担。
在ospf中可以设置最大的等价路由条数。 1、设置最大等价路由数量
[Huawei-ospf-2]maximum load-balancing 3 2、设置路由数量的负载分担优先级 [Huawei-ospf-3]nexthop 10.1.1.1 weight 2
3、设置ospf 路由选择规则
ospfv2在发展过程中,经过了几次大的修改,其中影响最大的是RFC1583和RFC2328这两个版本。在这两个版本中,在计算外部路由时的规则不一样,可能会导致路由环路。为了避免路由环路的发生,在最新的RFC2328中提出了
对RFC1583兼容特性,使能RFC1583兼容特性后,ospf采用RFC1583的路由计算规则。
具体配置
[Huawei-ospf-2]rfc1583 compatible
默认情况下,ospf支持RFC 1283定义的规则,但如果ospf域的其他设备配置的是RFC2328选路规则,则需要通过undo rfc1583 compatible 设置成RFC2328定义的规则。
4设置抑制接口接收和发送ospf报文
通过抑制接口接收和发送的ospf报文,使得路由信息不被某一网络中的其他路由器获得,且使本地路由器不接收网络中其他路由器发布的路由更新信息,从而达到优先保证某条路由的目的。
假如本地路由器有一条到达某个目的地的路由,但通过其他区域的路由通过或引入外部路由,可能还有其他更佳的路由到达同一目的地。这时为了使本路由器上的这条路由最终生效,就可以设置对应接口为抑制状态。
具体配置
[Huawei-ospf-10]silent-interface GigabitEthernet 0/0/2 将允许ospf协议的接口指定为silent状态后,该接口的直连路由仍可以通过ospf协议发布出去,但接口的hello报文发送和接受都将被阻塞,接口无法与其他设备建立邻居关系,其他ospf报文就更无法发送和接收了。
本命令只对本进程已经使能的ospf接口起作用,对其他进程的接口不起作用。
九、设置ospf路由信息发布和接收
1、设置ospf引入外部路由
当ospf网络中的设备需要访问运行其他协议网络中的设备时,需要将其他协议的路由引入ospf进程中。 仅可在连接了其他AS的ASBR上设置
尽管ospf是一个无环路的路由协议,但这是针对域内路由和域间路由而言的,而对引入的外部路由环路没有很好的防范机制,所以在设置引入外部路由时一定要慎重,防止引起环路。
引入外部路由时不能引入缺省路由 具体配置:
[Huawei-ospf-1]import-route ?
bgp Border Gateway Protocol (BGP) routes direct Connected routes
isis Intermediate System to Intermediate System (IS-IS) routes limit Limit the number of routes imported into OSPF ospf Open Shortest Path First (OSPF) routes rip Routing Information Protocol (RIP) routes static Static routes
unr User Network Routes -----------------
[Huawei-ospf-1]import-route rip ? INTEGER<1-65535> Process ID cost Set cost route-policy Route policy
tag Specify route tag
type Metric type of the imported external routes Please press ENTER to execute command
统一设置引入外部路由时的缺省参数() [Huawei-ospf-1]default ?
cost Cost assigned to the ASE or NSSA LSA generated when importing an
externalroute;limitNumberofASEorNSSALS;tagSpecifyroutetag;typeMetrictypeoftheimpor;inherit-metric#引入路由的开销值为;2、设置ospf将缺省路由通告到ospf区域;在ospf实际组网应用中,区域边界或自治系统边界;ospf缺省路由通常应用于下面两种情况;1、由A
external route
limit Number of ASE or NSSA LSAs calculated at a time when importing external route
tag Specify route tag
type Metric type of the imported external routes
inherit-metric #引入路由的开销值为路由自带的开销值
2、设置ospf将缺省路由通告到ospf区域
在ospf实际组网应用中,区域边界或自治系统边界通常都是由多个路由器组成的多出口冗余备份或者负载分担。此时为了减少路由表的容量,可以配置缺省路由来保证网络的高可用性。
ospf缺省路由通常应用于下面两种情况
1、由ABR发布type3 LSA,用来指导区域内的ABR路由器进行区域之间报文的转发 2、ASBR发布type5或type7 LSA,用来进行域外(AS)报文转发 当路由器无精确匹配的路由时,就通过缺省路由进行报文转发。 type3 LSA缺省路由优先级要高于type5或type7 LSA路由。
ospf缺省路由的发布方式取决于引入该缺省路由的区域类型,如下图。
产生条件发布方式产生LSA类型通过default-route-advertise配置ASBR发布type 5 lsa自动产生ABRtype 3 lsa通过NSSA[default-route-NSSA区域ASBR发布type 7 lsaadvertise]配置abr自动产生,asbr上有缺省路由时产type 3或type 7完全NSSA区域ABR或asbr发布生lsa具体配置:
将缺省路由通告到ospf路由区域(可选) [Huawei-ospf-2]default-route-advertise ?
always Always advertise default route cost OSPF default cost
permit-calculate-other Always permit the local router to calculate the default routes advertised by other routers route-policy Route policy
summary Distribute a default route
type Set OSPF metric type for the default routes
-----------------------------
[Huawei-ospf-2]default-route-advertise route-policy 1 ?
always Always advertise default route cost OSPF default cost match-any Match any route
permit-calculate-other Always permit the local router to calculate the default routes advertised by other routers type Set OSPF metric type for the default routes
区域类型普通区域stub区域泛洪范围普通区域stub区域NSSA区域NSSA区域
3、设置ospf路由聚合
当ospf网络规模较大时,设置路由聚合可以有效减少路由表中的条目,减小对系统资源的占用。配置路由聚合后,如果聚合的IP范围内的某条链路频繁UP和down,该变化不会通告到聚合外的IP地址范围外的设备,可以避免网络中
的路由震荡,提高网络的稳定性。
仅可在允许ospf协议的ABR和ASBR上配置路由聚合。不能聚合不同区域中的路由。
设置路由聚合后,ABR和ASBR本地的ospf路由表是保存不变的,仍为各网段的明细路由,但是向区域内其他设备通告时,是以一条聚合路由进行通告,这样区域内其他路由器上的ospf路由表中只有这一条聚合路由达到对应聚合网段的路由。
具体配置:
------------在ABR上配置------------
[Huawei-ospf-2-area-0.0.0.2]abr-summary 10.10.0.0 255.255.0.0 ?
advertise Advertise this summary (default) # 同时向被聚合区域和其他区域发布这条聚合路由。 cost Set cost # 聚合路由的开销值
not-advertise Do not advertise this summary # 不向其他区域发布这条聚合路由,仅向被聚合区域通告这条路由。 Please press ENTER to execute command ---------------------在ASBR上配置------------------------- [Huawei-ospf-2]asbr-summary 10.1.0.0 255.255.0.0 ? cost Set cost
distribute-delay Set distribute delay # 延迟发布该聚合路由的时间
not-advertise Do not advertise #不向区域内发布路由,如果不选此项则向区域内发布 tag Set tag #指定聚合路由的标记,默认为1. Please press ENTER to execute command
4、设置ospf对接收和发布的路由进行过滤
ospf对接收的路由的过滤适用于任何ospf路由器,是通过设置对接收的路由过滤策略,只允许通过过滤策略的路由添加到本地设备的ospf路由表中对外发布。这主要是为了减小本地设备ospf路由表规模,同时抑制一些已有其他路由实现同一效果的路由。
ospf对发布路由得过滤仅针对在ASBR引入的路由,仅允许满足过滤条件的外部生成的type5 lsa发布出去,主要是为了避免路由环路的产生。
具体配置:
1、配置接收路由的过滤策略 [Huawei-ospf-5]filter-policy ?
INTEGER<2000-2999> Apply basic ACL
acl-name Specify the ACL name for filtering IPv4 routes
ip-prefix IP address prefix-list #用于过滤策略 IP地址前缀列表 route-policy Route policy # 用于过滤策略的路由策略名称 ----------------
[Huawei-ospf-5]filter-policy 2000 import 2、配置发布路由的过滤侧
[Huawei-ospf-5]filter-policy 2000 export ?
bgp Border Gateway Protocol (BGP) routes direct Connected routes
isis Intermediate System to Intermediate System (IS-IS) routes ospf Open Shortest Path First (OSPF) routes rip Routing Information Protocol (RIP) routes static Static routes
unr User Network Routes
Please press ENTER to execute command
5、设置对发送的LSA过滤
当两台路由器之间存在多条链路时,通过对发送的LSA过滤可以在某些链路上过滤LSA的传送,减少不必要的重
传,节省带宽。
可以在任意ospf路由器上配置。
[Huawei-GigabitEthernet0/0/1]ospf filter-lsa-out ? all Filter all types of LSAs ase Filter type-5 ASE LSAs nssa Filter type-7 NSSA LSAs
summary Filter type-3 Summary LSAs
6、设置对ABR type3 LSA进行过滤
可在ABR上对出、入方向(接收、发布)的type3 lsa(区域聚合路由)设置过滤条件,进一步减少区域间LSA的发布和接收。
具体配置
[Huawei-ospf-6-area-0.0.0.3]filter ?
INTEGER<2000-2999> Apply basic ACL
acl-name Specify the ACL name for filtering type-3 LSAs ip-prefix IP address prefix-list route-policy Route policy -------------------------
[Huawei-ospf-6-area-0.0.0.3]filter 2002 ? export Filtering outgoing routing updates import Filtering incoming routing updates
十、设置ospf网络收敛性能
ospf网络的收敛性能与路由报文的收敛优先级、各种报文发送和接收定时器参数的配置密切相关。
1、配置路由的收敛优先级
允许用户配置特定路由(如要求敏感度高的路由)的优先级,使这些路由比其他路由优先进行收敛。
当一个LSA满足多个策略优先级时,最高优先级生效OPPF依次按区域内路由、区域间路由、自治系统外部路由顺序进行LSA计算。
[Huawei-ospf-2]prefix-priority ?
critical Config the priority of routes as critical #优先级为关键(最高) high Config the priority of routes as high #优先级 高
medium Config the priority of routes as medium # 优先级中 --------------------------
[Huawei-ospf-2]prefix-priority critical ? ip-prefix Specify an address prefix-list #指定用于过滤设置路由优先级的IP地址前缀列表的名称
2、配置LSA更新时间间隔
指路由器主动通过LSU报文发布LSA更新是时间间隔。恰当的设置可以做到既不会引起网络收敛性能问题,又不会引起网络振荡,也不会消耗过多其他设备的CPU资源。
可以对不同类型的lsa设置不同的更新时间间隔;对于type1 lsa 和type2 lsa 可以采用智能定时器来设置更新时间间隔。
在相对稳定、对路由收敛要求较高的的网络中,可以指定lsa的更新时间为0 来取消lsa的更新时间间隔,使得在网络拓扑或者路由发生变化时可以立即通过LSA发布到网络中,从而加快网络中路由的收敛速度。
[Huawei-ospf-10]lsa-originate-interval ?
0 No interval exists (instantly) # 更新时间为0
intelligent-timer Specify an intelligent timer for router-LSA and network-LSA #指通过只能定时器分别设置 router-LSA 和network-LSA的间隔时间
other-type Specify an interval for Type-3, Type-4 and Type-10 LSAs # 指定除router-LSA and network-LSA之外LSA的更新时间间隔
3、配置接收LSA的时间间隔
是为了避免过多消耗本地设备的CPU资源,频繁引起网络振荡而设置的。 [Huawei-ospf-4]lsa-arrival-interval ?
INTEGER<0-10000> Specify an interval(in millisecond) intelligent-timer Specify an intelligent timer # 指通过只能定时器设置
4、设置SPF路由计算的时间间隔
当ospf的链路状态数据库(LSDB)发生变化时,需要重新计算最短路径。如果网络频繁变化,需要频繁的计算最短路径会导致占用大量系统资源、引起网络振荡。
除了手动设置外还可以采用智能定时器来设置SPF计算时间间隔 [Huawei-ospf-4]spf-schedule-interval ?
INTEGER<1-10> SPF schedule interval(in second) intelligent-timer Specify an intelligent timer #通过智能定时器计算
millisecond Specify an interval(in millisecond) #以毫秒为单位计算
5、设置接口发送hello报文的时间间隔
ospf邻居之间的hello定时器时间间隔要保持一致,否则不能协商为邻居。 [Huawei-GigabitEthernet0/0/1]ospf timer hello ? INTEGER<1-65535> Second(s)
6、设置邻居失效定时器
在邻居失效定时器(dead interval)时间间隔内(通常为hello interval 定时器的4倍),若为收到邻居的hello报文则认为该邻居失效。
[Huawei-GigabitEthernet0/0/1]ospf timer dead ? INTEGER<1-235926000> Second(s) 7、设置smart-discover
缺省情况下,ospf路由器必须等待hello报文发送时间间隔超时后才能再次发送hello报文,这样依赖路由器的邻居状态或多址网络(广播型或NBMA)上的DR、BDR发生变化时会影响设备间建立邻居的速度。
设置此功能后不必等到hello报文超时就可以立即主动向邻居发送hello报文,从而提高建立邻居的速度,达到网络快速收敛的目的。
[Huawei-GigabitEthernet0/0/1]ospf smart-discover
十一、设置OSPF与BFD联动
全局OSPF or BFD特性设置 1、使能BFD功能 [Huawei]bfd
2、全局OSPF下使能BFD
此功能该进程下所有邻接关系的的邻居(达到full时)都会建立BFD会话 [Huawei-ospf-4]bfd all-interfaces ? enable
detect-multiplier Specify the detect multiplier #指定本地检测倍数
enable Enable BFD
frr-binding Configure BFD binding link status for Auto FRR #将BFD会话与接口链路状态绑定 min-rx-interval Specify the minimum receive interval #期望从对端接收BFD报文的最小接收间隔 min-tx-interval Specify the minimum transmit interval #向对端发送BFD报文的最小发送间隔 ---------------------
3、阻止某个接口动态建立BFD会话
因为在进程下配置BFD后,所有相邻的邻居状态为full的邻居都会创建BFD会话,如果不希望某些接口使能BFD特性,就需要通过本命令阻止。
[Huawei-GigabitEthernet0/0/0]ospf bfd block
----------------------------------- 接口OSPF or BFD特性设置 1、打开ospf功能
[Huawei-GigabitEthernet0/0/0]ospf bfd enable
2、接口下ospf其他特性设置
[Huawei-GigabitEthernet0/0/0]ospf bfd ?
block Disable BFD on this interface detect-multiplier Specify the detect multiplier enable Enable BFD
frr-binding Configure BFD binding link status for Auto FRR min-rx-interval Specify the minimum receive interval min-tx-interval Specify the minimum transmit interval [Huawei-GigabitEthernet0/0/0]ospf bfd