西山尼派通信之基于证书的IPsec over L2TP V7设备典型配置
西山尼派为武林中的一个小门派,尽管能人辈出,但是由于大多数人不愿问及武林之事,所以并不为众人所知,但是关于这个门派有一个传说,传说300年前,创派真人,曾经以一剑击败武林十大恶霸,使之成为响誉武林的一代侠客,并被武林人士送与天下第一剑的称号。但人在江湖,身不由己,自从众人送其该名号之后,便引起无数的江湖侠士不服,为争第一,去千方百计寻之,与之比武。俗话说,剑无情,刀无眼,多年的比武之争,伤到了很多的江湖侠客,也夺去了很多人的命。
而被夺去性命的那些后代们,长大后又来寻仇,一代代的恩仇,造成了一代代的杀戮。
于是创派真人立下誓言,放弃第一剑的称号,不再涉足江湖,要求自己的后代,不论何种原因,不准去争强好胜、伤害他人,武功仅用来强身健体,保护弱小。
旗下弟子并不多,但个个身怀绝技,分散在各地,通过通信网络,大家都能够快速安全的与门派掌门取得联系,逢年过节,大家都会相聚山头,畅谈世事。遇到紧急事项,大家都能够快速得到消息,保护该派及门下弟子不受外来侵害,使得该派一直流传了下来。
由于众弟子较为分散,一般的通信方式,都有可能受到外来的干扰,或者入侵,导致通信异常,为保证西山尼派的通信正常,创派真人及旗下众长老经过慎重选择,采用了H3C的基于证书的ipsec over l2tp方案,在总部采用性能较好的MSR3660路由器。
H3C针对该派的人员分布情况,给予了相应的组网方案,总部采用3A服务器与MSR3660配合做LNS,对下接拨上来的用户进行验证授权,然后再采用ipsec加密隧道,形成IPsec over L2TP通信方案:
一、总部LNS设备配置
MSR36做为LNS设备,采用证书方式,主要配置有:
1、配置PKI实体Router向CA服务器申请本地证书
# 配置PKI实体名称为msr3660,通用名为ca,地区为CN。
<MSR-3660-LNS> system-view
[MSR-3660-LNS] pki entity msr3660
[MSR-3660-LNS-pki-entity-aaa] common-name ca
[MSR-3660-LNS-pki-entity-aaa] country CN
# 创建并进入PKI域1,配置设备信任的CA的名称为mytest,配置注册受理机构服务器的URL,配置证书申请的注册受理机构为ra,指定PKI实体名称为msr3660,指定证书申请使用的密钥对,用途为通用,名称为rsa。
[MSR-3660-LNS-pki-domain-1]pki domain 1
[MSR-3660-LNS-pki-domain-1] ca identifier mytest
[MSR-3660-LNS-pki-domain-1] certificate request url http://192.168.32.19:8080/certsrv
/mscep/mscep.dll
[MSR-3660-LNS-pki-domain-1] certificate request from ra
[MSR-3660-LNS-pki-domain-1] certificate request entity msr3660
[MSR-3660-LNS-pki-domain-1] public-key rsa general name rsa
[MSR-3660-LNS-pki-domain-1] root-certificate fingerprint sha1 9812278E36C095D344
19702AB22FA219A8B123EF
[MSR-3660-LNS-pki-domain-1]
# 生成RSA算法的本地密钥对
[MSR-3660-LNS] public-key local create rsa name rsa
The range of public key size is (512 ~ 2048).
If the key modulus is greater than 512,it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................++++++
.....................................++++++
Create the key pair successfully.
# 证书申请
# 获取CA证书并下载至本地。
[MSR-3660-LNS] pki retrieve-certificate domain 1 ca
The trusted CA's finger print is:
MD5 fingerprint:766C D2C8 9E46 845B 4DCE 439C 1C1F 83AB
SHA1 fingerprint:97E5 DDED AB39 3141 75FB DB5C E7F8 D7D7 7C9B 97B4
Is the finger print correct?(Y/N):y
Retrieved the certificates successfully.
# 手工申请本地证书。
[MSR-3660-LNS] pki request-certificate domain 1
Start to request the general certificate ...
……
Certificate requested successfully.
# 验证配置
# 通过以下显示命令可以查看申请到的本地证书信息。
[MSR-3660-LNS] display pki certificate domain 1 local
2、配置ipsec安全策略
# 配置ike name 为lns.com
[MSR-3660-LNS]ike identity fqdn lns.com
# 配置ike安全提议,采用rsa-signature验证算法,3des加密算法
[MSR-3660-LNS]ike proposal 10
[MSR-3660-LNS-ike-proposal-10] authentication-method rsa-signature
[MSR-3660-LNS-ike-proposal-10] encryption-algorithm 3des-cbc
[MSR-3660-LNS-ike-proposal-10] quit
# 配置ike profile信息,配置证书域为1,野蛮模式,本端name为lns.com,对端名为mobile.com
[MSR-3660-LNS]ike profile peer_profile
[MSR-3660-LNS-ike-profile-peer_profile] certificate domain 1
[MSR-3660-LNS-ike-profile-peer_profile] exchange-mode aggressive
[MSR-3660-LNS-ike-profile-peer_profile] local-identity fqdn lns.com
[MSR-3660-LNS-ike-profile-peer_profile] match remote identity fqdn mobile.com
[MSR-3660-LNS-ike-profile-peer_profile] proposal 10
# 配置ipsec安全提议,采用sha1验证算法,3des加密算法
[MSR-3660-LNS]ipsec transform-set vpn_transform
[MSR-3660-LNS-ipsec-transform-set-vpn_transform] esp encryption-algorithm 3des-cbc
[MSR-3660-LNS-ipsec-transform-set-vpn_transform] esp authentication-algorithm sha1
# 此处采用虚模板的方式,配置ipsec模板,调用配置ipsec安全提议,及ike profile,并开启反向路由器注入。
[MSR-3660-LNS]ipsec policy-template vpn 10
[MSR-3660-LNS-ipsec-policy-template-vpn-10] transform-set vpn_transform
[MSR-3660-LNS-ipsec-policy-template-vpn-10] ike-profile peer_profile
[MSR-3660-LNS-ipsec-policy-template-vpn-10] reverse-route dynamic
[MSR-3660-LNS-ipsec-policy-template-vpn-10] quit
# 配置ipsec安全策略:
[MSR-3660-LNS]ipsec policy ipsec_vpn 10 isakmp template vpn
3、配置L2TP功能
# 首先使能l2tp
[MSR-3660-LNS] l2tp enable
# 配置虚模板并应用ipsec策略,认证域选择为inode
[MSR-3660-LNS]interface Virtual-Template0
[MSR-3660-LNS-Virtual-Template0] ppp authentication-mode chap domain inode
[MSR-3660-LNS-Virtual-Template0] ip address 172.168.40.1 255.255.252.0
[MSR-3660-LNS-Virtual-Template0] ipsec apply policy ipsec_vpn
[MSR-3660-LNS-Virtual-Template0] quit
# 配置l2tp-group组,隧道验证密码为123456
[MSR-3660-LNS]l2tp-group 1 mode lns
[MSR-3660-LNS-l2tp1] allow l2tp virtual-template 0
[MSR-3660-LNS-l2tp1] tunnel password simple 123456
[MSR-3660-LNS-l2tp1] quit
# 配置radius,配置验证主服务器地址为192.168.32.17,备用服务器为192.168.32.18,服务器验证密码设置为123456
[MSR-3660-LNS]radius scheme vpdn
[MSR-3660-LNS-radius-vpdn] primary authentication 192.168.32.17 1645
[MSR-3660-LNS-radius-vpdn] primary accounting 192.168.32.17 1646
[MSR-3660-LNS-radius-vpdn] secondary authentication 192.168.32.18 1645
[MSR-3660-LNS-radius-vpdn] secondary accounting 192.168.32.18 1646
[MSR-3660-LNS-radius-vpdn] key authentication simple 123456
[MSR-3660-LNS-radius-vpdn] key accounting simple 123456
[MSR-3660-LNS-radius-vpdn] user-name-format without-domain
[MSR-3660-LNS-radius-vpdn] nas-ip 172.168.39.137
[MSR-3660-LNS-radius-vpdn]
# 然后在domain域中将验证设置为radius,指向radius项目vpdn
[MSR-3660-LNS]domain inode
[MSR-3660-LNS-isp-inode] authentication ppp radius-scheme vpdn
[MSR-3660-LNS-isp-inode] authorization ppp radius-scheme vpdn
[MSR-3660-LNS-isp-inode] accounting ppp radius-scheme vpdn
4、配置访问控制策略
此处配置完,还有一个重要的内容需要配置,此时在MSR G2设备中缺少证书访问控制策略配置,需要添加如下配置:
# 创建证书属性组
[MSR-3660-LNS]pki certificate attribute-group 1
[MSR-3660-LNS-pki-cert-attribute-group-1] attribute 1 subject-name dn ctn inode
[MSR-3660-LNS-pki-cert-attribute-group-1] quit
# 添加证书访问控制策略:
[MSR-3660-LNS]pki certificate access-control-policy acp1
[MSR-3660-LNS-pki-cert-acp-acp1] rule 1 permit 1
[MSR-3660-LNS-pki-cert-acp-acp1] quit
# 在ike profile提议中添加该证书访问控制策略
[MSR-3660-LNS]ike profile peer_profile
[MSR-3660-LNS-ike-profile-peer_profile] match remote certificate acp1
[MSR-3660-LNS-ike-profile-1] quit
# 路由及接口IP配置(略)。
二、旗下弟子侧inode设置
在证书设置里面导入证书,启动IPsec安全协议,验证方法选择为证书,并配置lns地址:
配置IPsec封装模式,安全协议,加密及验证算法
配置ike,采用野蛮模式,ID类型为name,配置本端及对端安全网关名:
然后配置拨号用户名和密码及L2TP,配置完成之后,从PC上进行触发拨号,可以在LNS设备上使用display ike sa和display ipsec sa观察建立起来的隧道。
至此,采用该方案,安全解决了西山尼派的通信问题,对于维护西山尼派的稳定发展,起了至关重要的作用。
三、心法秘籍:
V7设备采用证书做ipsec时,与V5设备有所不同,V7设备需要另外证书访问策略和证书属性,如果不配置的话,在inode侧可能会报找不到证书错误“No CERT payload in message.”,进而导致ipsec协商失败,报错如下
[2014-10-04 15:20:41] [DtlCmn] [af4] c055317e ba602f0c 8abd16aa 6932d1de eeac439f
[2014-10-04 15:20:41] [DtlCmn] [af4] post exchange KE_NONCE: SKEYID_e:
[2014-10-04 15:20:41] [DtlCmn] [af4] d667f0b3 f431bda4 19ec74f6 e1e001d9 d53e2286
[2014-10-04 15:20:41] [DtlCmn] [af4] crypto init: key:
[2014-10-04 15:20:41] [DtlCmn] [af4] c2bb29a9 c6cc8b0f 405104af b61b5805 952e97a4 1ba6c87f
[2014-10-04 15:20:41] [DtlCmn] [af4] initialized IV:
[2014-10-04 15:20:41] [DtlCmn] [af4] b630a933 243aebda
[2014-10-04 15:20:41] [DtlCmn] [af4] recv ID: FQDN:
[2014-10-04 15:20:41] [DtlCmn] [af4] 6c6e732e 636f6d
[2014-10-04 15:20:41] [Err] [af4] No CERT payload in message.
另外 comware V7设备与V5设备对接证书IPsec时,也是同样,需要手动添加证书属性及证书访问控制策略,方可正常建立起ipsec。