|
工作原理:一边服务器的网络子网为192.168.1.0/24路由器为100.10.15.1另一边的服务器为192.168.10.0/24路由器为200.20.25.1.执行下列步骤: J4 J8 p- j9 F4 k$ J6 [
1. 确定一个预先共享的密钥(保密密码)(以下例子保密密码假设为noIP4u)
- L( X. [1 N, e; u7 c 2. 为SA协商过程配置IKE.+ {$ t. F) k' j: {
! g ]* o- y- F0 D0 O% \ 3. 配置IPSec.% N8 J, p, D* `
: q+ m3 U* b* b3 f1 R 配置IKE:
7 n. g0 U7 j& F2 q) D' C Shelby(config)#crypto isakmp policy 1
, r6 y/ q. u* E9 H3 V" Y
+ ~6 _5 ~2 j! i; A e 注释:policy 1表示策略1,假如想多配几个VPN,可以写成policy 2、policy3┅& E$ E/ B) h% ]
1 @- M0 F5 {: u6 \1 _ Shelby(config-isakmp)#group 10 Q7 q" j8 ]5 |/ i& W
3 i I# f' n4 K( D# N
注释:除非购买高端路由器,或是VPN通信比较少,否则最好使用group 1长度的密钥,group命令有两个参数值:1和2.参数值1表示密钥使用768位密钥,参数值2表示密钥使用1024位密钥,显然后一种密钥安全性高,但消耗更多的CPU时间。
/ `5 A7 H9 q i5 ~7 r Shelby(config-isakmp)#authentication pre-share6 o \3 D3 _' F2 ]& H6 E, }
, Z ^4 a# D( x8 n, K# R 注释:告诉路由器要使用预先共享的密码。
8 L3 Q6 q v6 e( l! z' @" I& t Shelby(config-isakmp)#lifetime 3600
9 z3 W& E* i9 \+ b \/ `. ~: |2 \1 h3 G) \
注释:对生成新SA的周期进行调整。这个值以秒为单位,默认值为86400,也就是一天。值得注意的是两端的路由器都要设置相同的SA周期,否则VPN在正常初始化之后,将会在较短的一个SA周期到达中断。
. ?8 Z+ R) D6 N6 s Shelby(config)#crypto isakmp key noIP4u address 200.20.25.1
) i0 H0 G. ?: V; r4 p3 J6 k
3 K# t% k+ F# ^2 J* H 注释:返回到全局设置模式确定要使用的预先共享密钥和指归VPN另一端路由器IP地址,即目的路由器IP地址。相应地在另一端路由器配置也和以上命令类似,只不过把IP地址改成100.10.15.1.
8 a( N/ V, V6 g8 L4 F8 p' \6 {4 P5 q6 I1 u
配置IPSec
7 i! x0 H n- U O0 H- u! T
. t# r6 O+ ]% E Shelby(config)#access-list 130 permit ip 192.168.1.0 0.0.0.255 172.16.10.0 0.0.0.255: c& R) p' `2 W9 T0 r2 M8 c
1 u) t, \8 g# d8 e 注释:在这里使用的访问列表号不能与任何过滤访问列表相同,应该使用不同的访问列表号来标识VPN规则。
; J/ t g3 E/ e4 ^ Shelby(config)#crypto ipsec transform-set vpn1 ah-md5-hmac esp-des esp-md5-hmac
7 o' B8 ^+ f. F4 T: z# q6 [7 V) E6 k3 M4 W( V% _
注释:这里在两端路由器唯一不同的参数是vpn1,这是为这种选项组合所定义的名称。在两端的路由器上,这个名称可以相同,也可以不同。以上命令是定义所使用的IPSec参数。为了加强安全性,要启动验证报头。由于两个网络都使用私有地址空间,需要通过隧道传输数据,因此还要使用安全封装协议。最后,还要定义DES作为保密密码钥加密算法。
+ V6 ]' ~9 d: T* F" X5 B( C6 H Shelby(config)#crypto map shortsec 60 ipsec-isakmp
A8 F: T+ g K5 H4 X
( A; K& w4 c$ f7 f# Q 注释:以上命令为定义生成新保密密钥的周期。如果攻击者破解了保密密钥,他就能够解使用同一个密钥的所有通信。基于这个原因,我们要设置一个较短的密钥更新周期。比如,每分钟生成一个新密钥。这个命令在VPN两端的路由器上必须匹配。参数shortsec是我们给这个配置定义的名称,稍后可以将它与路由器的外部接口建立关联。
& I" F) s' \& V1 H Shelby(config-crypto-map)#set peer 200.20.25.12 ^$ D0 ]$ D( D
# A- P# B" U+ i 注释:这是标识对方路由器的合法IP地址。在远程路由器上也要输入类似命令,只是对方路由器地址应该是100.10.15.1.; J2 D8 c+ u" a# b
% P: Q$ _8 M# V: n/ {* ^, ] Shelby(config-crypto-map)#set transform-set vpn1' q9 E" s" c$ N& | @2 x
7 [: B6 X5 M' K& }
Shelby(config-crypto-map)#match address 130
$ {# N7 M/ G( ?( Q7 `7 S t7 K' |$ f- v1 ~0 E ^6 V' P6 S
注释:这两个命令分别标识用于这个连接的传输设置和访问列表。
1 l0 w: b$ x3 g% f. s5 g$ X$ g Shelby(config)#interface s0* A2 V @4 @' l
8 d% K' ]* ~3 {3 u Shelby(config-if)#crypto map shortsec
8 Q7 b8 |$ ?+ f0 L" k
6 h6 T8 S7 I. q1 v g5 t7 a 注释:将刚才定义的密码图应用到路由器的外部接口。
0 X! ^% C5 z2 D5 P 现在剩下的部分是测试这个VPN的连接,并且确保通信是按照预期规划进行的。
) l3 D8 P7 j5 V$ `8 T" }7 T 最后一步是不要忘记保存运行配置,否则所作的功劳白费了。5 s6 s) s# J1 u# `' E z
附:参照网络安全范围,VPN硬件设备应放置以下四个地点:2 {; N; }/ E. c, c3 q) W, F
● 贒MZ的防火墙之外
& `. D/ i2 a3 f' M6 i3 c1 j ? ● 连接到防火墙的第三个网卡(服务网络); e- L% J) `/ G1 r- R" ?: W
● 在防火墙保护的范围之内
5 [4 f3 P8 ~ L* T2 v ● 与防火墙集成
1 \% G9 k; @8 n: v
6 u* ?6 R- S, l, Q本文摘自中国IT论坛# `0 m5 e* M) c0 w. }- E5 B5 z9 N" {) G
! E9 W& n8 m b' e6 c# U |
|