L2TP over IPSec
在保证L2TP连接没有任何问题的情况下,才接着按下面介绍去配置。
IPSec原理在这里就不细说,更系统地了解VPN,还是买“华为VPN学习指南”,里面讲得非常详细。毕竟你现在学的也是华为数通产品,购买华为认可出品的书籍学习好一点。直接进入配置环节,环境检查以L2TP检查为准。
IPSec基于ACL方式(手工、动态)、虚拟隧道、Efficient三种模式。Efficient需要向华为购买有偿服务,用于总部与分部互联。虚拟隧道多用于总部与分部之间VPN互联。ACL方式为目前使用较多,其中还细分手工与动态两种模式。手工方式没有动态协商安全性高,并且手工方式要求两端的IPSec设备必须为固定的公网IP地址。根据IPSec不同工作方式和两端设备环境要求,对于出差员工访问总部,无疑是基于ACL的IKE动态协商的IPSec。
Secoclient软件本身是作为“ISAKMP”方式的IPSec安全策略另一端(作为协商发起方),那么路由器设备端就是策略模板方式的IPSec安全策略。讲人话就是,secoclient是攻,路由器是受。你懂的!!!
当你明白VPN客户端是作为协商发起方时,你需要检查你的VPN软件能支持哪些功能,才在华为的路由器配置相应的IPSec功能,否则一切白瞎。我现在使用的是secoclient 3.0.3,其它版本或其他类型软件的相关配置需要你自行探索。
配置路由器端,响应方:
第一:
(1) 配置IPSec安全提议
(2) 配置IKE安全提议
(3) 配置IKE对等体
(4) 配置IPSec策略模板
(5) 配置IPSec安全策略模板
(6) 在接口下调用IPSec安全策略模板
ipsec proposal ipsec //创建一个IPSec安全提议命名:ipsec,命名自定义
transform esp //安全协议为ESP协议(缺省命令,可不配置。不可修改成AH协议,否则无法支持野蛮模式)
esp authentication-algorithm sha2-256 //配置ESP协议的认证算法,推荐
esp encryttion-algorithm aes-256 //配置ESP协议的加密算法,推荐
encapsulation-mode tunnel //配置对数据的封闭模式为隧道模式(缺省命令,可不配置。不可修改成传输模式)
ike proposal 10 //创建一个IKE安全提议编号10,数字自定义
authentication-method pre-share //配置IKE安全提议的认证方法 :预共享密钥
authentication-algorithm sha2-256 //配置IKE安全提议的认证算法,推荐
encryption-algorithm aes-256 //配置IKE安全提议的加密算法,推荐
dh group2 //配置IKE密钥协商采用1024位的Diffie-Hellman,可选择更高位数加密方式,需检查VPN客户端支持范围。
sa duration 5657 //配置IKE SA的硬生存周期:缺省时间为:86400,可按需求做调整。个人建议根据VPN接入时间需求适当调整IKE SA的生存时间。因为存活时间过长无法及时删除IKE SA,不利于安全性。并且两端设备协商时,实际生效的硬生存周期为两端设备上配置的硬生存周期中较小的一个。
ike peer ipsec //创建IKE对等体名为,对等体名自定义
undo version 2 //删除v2支持,个人推断secoclien仅支持IKEv1,从软件配置参数与野蛮模式推断。如果我描述错,请纠正我。缺省同时开启v1和v2版本,默认启用V2,建议删除v2支持。
ike-proposal 10 //为当前对等体引用编号1的IKE安全提议
pre-shared-key cipher ipsec //配置预共享密钥的密码:ipsec,自定义
lifetime-notification-message enable //使能发送IKE SA 生存周期时间的通知消息。IKEV1中,需要协商生存周期,并取双方最小值。针对某些友商VPN软件和两台华为设备间的建立都需要开启,因为当前的IKE对等体版本为V1。
local-id-type fqdn //配置IKE协商时本端的ID类型为名称形式,野蛮模式只能为fqdn
local-id //配置IKE协商时本端ID值为:,ID值自定义
remote-id-type fqdn //配置IKE协商时对端的ID类型为名称形式,野蛮模式只能为fqdn
remote-id //配置IKE协商是对端ID值为:,ID值自定义
这里的本端于对端的ID值与L2TP下的“allow virtual-template 1 remote ”这条命令下的对端ID值要一致,否则会协商失败。本端ID和对端ID合计四条可不配置,个人出于少许安全角度,都给配置上了。
exchange-mode aggressive //配置IKEV1的协商模式为野蛮模式。当前两端VPN互联都经过NAT转换,必须配置野蛮模才能建立。
ipsec policy-template ipsectemplate 100 //配置策略模板名为ipsectemplate,模板编号为100。模板名称不能与安全策略名称相同,提前规划好。编号自定义。
route inject dynamic //配置路由动态注入,主要为了解决没有到发起方对端的地址导致建立失败。此命令只能用IKE动态协商方式。路由注入分静态和动态:静态方式适用发起方公网固定IP,动态IP会导致路由黑洞。动态方式能适应网络变化,自动老化不可用路由。AR路由器响应方作为策略模板,又无法获知发起方的动态IP,导致无法配置高级ACL。配置路由注入后,作为响应方会根据发起方传递过来的路由网关,建立隧道连接。相同网关也能建立起隧道连接。L2TP根据IPSec SA中的相关地址来建立L2TP隧道。会在文章后面做出注释。
proposal ipsec //引用已经建立的IPSec安全提议,ipsec
ike-peer ipsec //引用已经建立的IKE对等体,ipsec
pfs dh-group2 //协商时启用PFS特性,提高通信的安全性,选用组2。可根据VPN客户端提供的PFS选项配置。此命令可以不配置,个人认为提高安全性,选择启用。
ipsec policy ipsecsecurtiy 10 isakmp template ipsectemplate //创建安全策略名称ipsecsecurtiy编号为10,并引用策略模板ipsectemplate。此条命令在不同的配置举例和真机配置命令” display ipsec policy brief “反复对比核实后,可以确认此命令是在配置策略模板。为什么需要加isakmp?从整条命令推测:
- 在系统视图下配置一条策略模板既可以作为发起方,也可以作为响应方。但是策略模板只能做为响应方,是不会自己作为发起方。这很矛盾!
- 这是华为研发在命令调度上指定要求这么配置,为了适应未来发展出新的模板方式的灵活调度。不存在为什么。
我只能想到是这两个情况,如果华为研发能为我解答这个命令调度原意的话,是最好不过的,我洗耳恭听。
将IPSec安全策略配置为策略模板方式在定义保护范围的ACL是可选的。在不配置ACL的情况下,相当于支持最大范围的保护,即接受发起方的ACL配置。
interface dialer 1 //此接口为你的动态域名解析的dialer口,我这边调用的是dialer 1口。根据自己实际环境调配。PPPOE拨号调用在dialer口,固定IP调用在物理接口。
ipsec policy ipsecsecurtiy //引用已经建立的ipsec安全策略
相信有人会疑惑,为什么你说是配置基于ACL的IKE动态协商的IPSec,为什么不在IPSec安全策略下调用security acl ?ACL是其于高级的ACL,需要添加源目地址。因为远程接入端为PPPOE拨号,目的地址不可能知道。而且我们把AR路由器的IPSec策略配置为策略模板方式,即可不配置ACL规则。如何让接入方指定流量的走VPN链路,在secoclient客户端上配置即可,在最后面给配置方法。
配置完后,需要检查各配置:
display ipsec proposal
display ike proposal
display ike peer
display ipsec policy-template
display ipsec policy brief
display ipsec interface brief
以上六条命令分别核对各相应配置检查。
配置secoclient客户端,发起方,“ISAKMP”
第二:
在华为官网下载secoclient,版本非常多。我个人选择3.0.3,1.60也不错。看自己喜好。系统版本的话,自行搜索下载,下面为windowns-64-3.0.3版本:
http://support.huawei.com/enterprise/zh/software/22854326-ESW2000009393
安装不可拦截虚拟网卡驱动安装,否则会出现异常。
1.点击建立VPN模板:
2.选择L2TP/IPSec:
把相应的IPSec参数配置完成:
参考IPSec安全提议配置,如跟文档配置,直接按图配置。
参考IKE安全提议和对等体配置,如跟文档配置,直接按图配置。
参考策略模板配置FPS特征和IKE安全提议,如跟文档配置,直接按图配置。
IPSec SA 缺省硬超时时间为3600秒,系统视图下ipsec sa global-duratio调整ipsec sa硬超时时间。缺省情况下,IPSec SA以时间为基准的全局SA硬生存周期为3600秒,以流量为基准的全局SA硬生存周期为1843200KB。
对于IKE SA和IPSec SA 硬超时时间,为何配置5657和3600?当IKE SA使用默认值86400,需要等待24小时后才能删除IKE SA。在删除期间客户端重新发起,会导致多条相同的公网地址的旧IKE SA出现在IKE SA表里。个人觉得不利于维护IKE SA表,更不利于安全性。当IPSec SA在60分钟后硬超时断开后,IKE SA会等待90分钟后硬超时断开。硬超时时间过短造成设备开销增大和过长对安全性造成影响。需要根据实际使用情况调整。
IKE SA和IPSec SA的生存周期有两种类型:
- 硬生存周期(硬超时时间):是SA 生命周期截止时间。
两端设备协商时,实际生效的硬生存周期为两端设备上配置的硬生存周期中较小的一个。
- 软生存周期(软超时时间):是从旧SA建立到生命周期截止前启动协商新IKE SA的时间。
把发起方和响应方配置成相同或不同最后都会协商参数,不影响隧道连接。配置相同数值纯粹强迫症。
- 选择确定,连接。出现账号密码输入窗口,请填写预设的账号和密码。
登陆账号密码在AAA下创建,看我分享过的L2TP里的文档。
选择登陆,等待十几秒左右,右下角会出现协商成功,表明L2TP连接正常。
第三:
排错,接后面文章篇幅接着讲。
移动端接入配置只了解,并不配置。
移动端需要把密钥等级降低才能接入,sha1和aes-128。不能配置本地和对端名称。有着各种限制条件。从手机目前的VPN功能来看,只是为了功能而来。