|
工作原理:一边服务器的网络子网为192.168.1.0/24路由器为100.10.15.1另一边的服务器为192.168.10.0/24路由器为200.20.25.1.执行下列步骤:0 W+ [+ q7 t8 f2 X" F+ ^
1. 确定一个预先共享的密钥(保密密码)(以下例子保密密码假设为noIP4u)+ Z' {, \) m+ F$ N' |
2. 为SA协商过程配置IKE.5 Y& R" K! H; W# r+ g* Q, S6 [" ~4 o, e
' S {8 C, ~$ Q( }% Y
3. 配置IPSec.+ X& h: }+ l! {% A# T
: A# x3 _& O; m7 V+ a4 v( s 配置IKE:+ |) P L M P1 h H7 B1 H7 }+ w1 v2 r
Shelby(config)#crypto isakmp policy 17 x4 n5 e: T1 T- U, I4 d
6 N: d' m1 ?. b+ I6 k$ O. l3 I 注释:policy 1表示策略1,假如想多配几个VPN,可以写成policy 2、policy3┅
; ]* L- {. m' e4 C; L# I1 w9 y% K0 v# @' y. Q; J V; W( d
Shelby(config-isakmp)#group 16 @5 D" P! g3 e- A# w. e% b
% V: E3 X+ j }% c! |- m' X D 注释:除非购买高端路由器,或是VPN通信比较少,否则最好使用group 1长度的密钥,group命令有两个参数值:1和2.参数值1表示密钥使用768位密钥,参数值2表示密钥使用1024位密钥,显然后一种密钥安全性高,但消耗更多的CPU时间。 p ~% g/ K) q. Z/ P6 Y; |
Shelby(config-isakmp)#authentication pre-share
$ K( y! j$ J! r1 U6 {/ X2 i! F% T* S3 A) z, D m: ]
注释:告诉路由器要使用预先共享的密码。+ P/ n' ^& d7 p. Q* M+ B; L- h
Shelby(config-isakmp)#lifetime 3600
1 A( h, e$ Z8 U0 v. B% O1 g7 b7 X7 p0 j8 U1 [3 W$ K
注释:对生成新SA的周期进行调整。这个值以秒为单位,默认值为86400,也就是一天。值得注意的是两端的路由器都要设置相同的SA周期,否则VPN在正常初始化之后,将会在较短的一个SA周期到达中断。& e t8 B6 `6 a6 z
Shelby(config)#crypto isakmp key noIP4u address 200.20.25.1
# j1 H x5 _" [9 A! @9 P
$ D4 s* t" a: F4 q4 u9 S7 O 注释:返回到全局设置模式确定要使用的预先共享密钥和指归VPN另一端路由器IP地址,即目的路由器IP地址。相应地在另一端路由器配置也和以上命令类似,只不过把IP地址改成100.10.15.1.
[* S/ I$ _4 R7 `! M1 |+ W; B t7 A! l: N4 @3 |
配置IPSec( \; G: K/ q* ]( F( g" E
" r" D" r; |0 H% e: w
Shelby(config)#access-list 130 permit ip 192.168.1.0 0.0.0.255 172.16.10.0 0.0.0.255
$ v5 X/ w% `- \& @4 U v* s. Q. X" K4 R% ]
注释:在这里使用的访问列表号不能与任何过滤访问列表相同,应该使用不同的访问列表号来标识VPN规则。( q: L0 h M2 j+ t% s) j3 }
Shelby(config)#crypto ipsec transform-set vpn1 ah-md5-hmac esp-des esp-md5-hmac
$ W }+ m" D$ E/ n7 G$ N! `
5 }; M! S1 A3 r. j7 v 注释:这里在两端路由器唯一不同的参数是vpn1,这是为这种选项组合所定义的名称。在两端的路由器上,这个名称可以相同,也可以不同。以上命令是定义所使用的IPSec参数。为了加强安全性,要启动验证报头。由于两个网络都使用私有地址空间,需要通过隧道传输数据,因此还要使用安全封装协议。最后,还要定义DES作为保密密码钥加密算法。
& M. g- q3 L; W6 A! i Shelby(config)#crypto map shortsec 60 ipsec-isakmp
* {+ W1 C( Z+ C) y
, s) ?6 k, {/ | 注释:以上命令为定义生成新保密密钥的周期。如果攻击者破解了保密密钥,他就能够解使用同一个密钥的所有通信。基于这个原因,我们要设置一个较短的密钥更新周期。比如,每分钟生成一个新密钥。这个命令在VPN两端的路由器上必须匹配。参数shortsec是我们给这个配置定义的名称,稍后可以将它与路由器的外部接口建立关联。0 r4 H1 B3 O" J$ i- T+ n4 D$ Z
Shelby(config-crypto-map)#set peer 200.20.25.1
) q* I- m9 u" v) b: ?
/ K% R- c! t' N) y- A% F 注释:这是标识对方路由器的合法IP地址。在远程路由器上也要输入类似命令,只是对方路由器地址应该是100.10.15.1.
! r! s" v4 C* H$ x) i% @
7 W* K8 v: @. z e/ }% t. W; h Shelby(config-crypto-map)#set transform-set vpn1
4 H h3 T0 p# F: h2 ?4 z9 P1 j' i' W# J
, m, a& Z" H8 g5 B% |0 m. d Shelby(config-crypto-map)#match address 130
/ C& N# E! L# m7 p) B- f4 F
) |& `" B; J% L 注释:这两个命令分别标识用于这个连接的传输设置和访问列表。& \' p$ {+ @4 ~6 B% b
Shelby(config)#interface s0 r9 }! O2 k3 x0 k
3 R! j3 U5 O0 B$ d& ?& Y8 M
Shelby(config-if)#crypto map shortsec0 X9 |8 z6 W8 D a
7 `* C- g9 C" z+ c3 E! W( Z 注释:将刚才定义的密码图应用到路由器的外部接口。" T* i1 _! ?3 q$ H/ r3 @! G
现在剩下的部分是测试这个VPN的连接,并且确保通信是按照预期规划进行的。
' U$ \6 a3 w: [: X 最后一步是不要忘记保存运行配置,否则所作的功劳白费了。8 u+ V* W0 a! B5 j' j5 a
附:参照网络安全范围,VPN硬件设备应放置以下四个地点:; V# d# R+ c$ M* a5 q, | [
● 贒MZ的防火墙之外2 ?7 f9 Z$ \, i+ q* Q* f
● 连接到防火墙的第三个网卡(服务网络)
/ h; Y* P3 S5 k2 N ● 在防火墙保护的范围之内
* h* V, w) }& X+ f% |$ ^) ^ ● 与防火墙集成
% \; u0 r8 Y4 R
" W9 {$ d& ?5 T5 w$ o! f本文摘自中国IT论坛
, U2 p0 ?& B0 A8 y% b: [5 j% O0 T 5 o' w7 j9 Y& H8 t0 u
|
|