使用DPD 技术实时检测VPN 线路故障

2019-11-26 04:49南京张韬
网络安全和信息化 2019年10期
关键词:路由路由器状态

南京 张韬

IPSec VPN通道的建立过程中,当其中一端peer 出现故障连接时,VPN 的另一端是没有办法检测出来的,只有在SA 的lifetime 时间超时以后,另一端才能识别出来,显然这种情形在实际使用中会带来问题。通过引入一种类似动态路由协议中建立和维护邻居关系的机制,可以实现对VPN 通信双方失效的检测和发现,这个机制就是IPSec DPD(IPSec Dead Peer Detection)技术。

DPD 技术概述

在IPSec VPN 通道建立的过程中,通常由两个阶段构成。无论是在第一阶段IKE 还是在第二阶段IPSec 协商加密的过程中,它们的SA 都会存在一个lifetime 时间,IKE SA 的 lifetime 时间默认为86400 秒(1 天),而IPsec SA 的lifetime 时间默认为3600 秒(1 小时)。如果其中一边的VPN 对等体出现故障失去连接时,另一边是无法检测出来的,只有在SA 的lifetime 超时后才会删除与对端peer 建立的SA 信息。换句话说,在VPN 其中的一端peer 断开以后,另一端至少要等待3600 秒才能发现线路故障,显然这对实际通信是有明显影响。

为了解决上述问题,可以在建立IPSec VPN 通道的双方对等体之间引入一个类似于OSPF 动态路由协议邻居之间使用的hello 包机制,在对等体之间定期交换hello 包信息,如果超过一定时间内没有收到对方的hello 包,便认为对方已经失效,从而立刻删除与对方建立的SA,这个机制就是IPSec DPD 技术,可以用在IPSec 中用来实时检测两边对等体状态。

DPD 两种模式

DPD 技术可以分为周期性和按需两种模式使用。

周期性模式就是VPN 对等体双方每隔一个固定时间就会向对方发送一个hello包或者从对端收到一个hello 包,如果超过一定的时间后仍然没有收到对方发送 的hello 包,则认为对方已经失效,从而立即删除与对方建立的SA。

图1 验证相关IPSec DPD 效果

图2 R1 上VPN 主要配置

在使用周期模式时,除了需要配置hello间隔时间外,还可以选择设置retry 时间,如hello 间隔定义为10 秒,retry 时间为2秒,那就表示每隔10 秒都应该收到邻居一个hello 包,但如果到了10 秒后没收到邻居发送的hello 包,则不会再等10 秒,而是会在retry 定义的时间2 秒后即向对方发送hello 包,默认连续发5 次,即10 秒后还没收到就认为邻居已经失效。retry 默认时间为2 秒、发送5 个。

图3 激活IKE SA 并查看其相应状态

按需模式则不会在双方间发送hello 包,而是根据流量来检测。只有在要发数据时,才发送hello 包去查询邻居状态,如果没有数据要发,就不会发送hello包,所以在没有数据发送时,即使邻居失效了,本地也不知道,只有SA 的lifetime 超时后才会发现。

DPD 配置与实现

这里以GNS3 模拟器来实现相关IPSec DPD 效果验证,3 台路由器连接及IP 地址信息如图1 所示,R1 同时和R2 与R3 建立IPSec VPN 隧道,R2 和R3 之间不需要建立VPN,路由器上使用环回口进行测试,此处各路由器基本信息和相关路由配置省略。

1.配置IPSec site-tosite VPN

R1 上VPN 主要配置如图2 所示。

分别在R2 和R3 路由器上配置与R1 之间相对应的IPSec VPN 信息,此处省略配置。

2.测试IPSec VPN 隧道

图4 SA 的lifetime 超时后进行删除

图5 R1 路由器上只有与R3 建立的SA 信息

在R1 路由器上向R2 和R3 的环回口分别发送流量激活IKE SA,并查看其相应状态,如图3 所示,并且可以看到相应IPSec SA 也已为活动状态。

这时可以清楚的看到当前R1 与R2 建立的IKE SA 的lifetime 还剩23 小时50 分4 秒,与R3 建立的lifetime 还剩23 小时50 分29 秒。

3.测试和验证IPSec DPD 技术

关闭R2 路由器的fa0/0接口后,再次查看IKE SA 信息,可以看到R1 上并没有发现此时连接已断开,IKE SA的状态依然显示正常,直到SA 的lifetime 超时后才会删除,如图4 所示。

这时需要分别在三台路由器上配置IPSec DPD 技术,以R1 为例,R2 和R3 配置一样,如下所示:

注意:配置了IPSec DPD后,必须重新应用crypto map才能生效。

因为此时R1 路由器不可能收到R2 的DPD 周期检测信息,所以会将与R2 路由器的IKE SA 信息删除,R1 路由器上这时只有与R3 建立的SA 信息,如图5 所示。

结语

在IPSec 中使用DPD 技术可以及时高效的实现检测VPN 对等体间的连接状态,确保网络的可靠性。它不仅支持site-to-site 场景VPN,也可以支持Easy VPN。在使用中必须先配置DPD,再应用crypto map 到接口,反之无法生效,并且两边必须同时都要配置DPD 才有意义。

猜你喜欢
路由路由器状态
买千兆路由器看接口参数
路由器每天都要关
路由器每天都要关
数据通信中路由策略的匹配模式
路由选择技术对比
OSPF外部路由引起的环路问题
状态联想
路由重分发时需要考虑的问题
生命的另一种状态
坚持是成功前的状态