|
工作原理:一边服务器的网络子网为192.168.1.0/24路由器为100.10.15.1另一边的服务器为192.168.10.0/24路由器为200.20.25.1.执行下列步骤:1 k9 M- I+ f# L4 |# {9 D" H8 D4 \
1. 确定一个预先共享的密钥(保密密码)(以下例子保密密码假设为noIP4u)- g$ N0 q* S N
2. 为SA协商过程配置IKE.
7 `" t0 S9 c+ ~6 d& e" k! o) R& x4 T5 C- ^: {8 Q: M4 B% z6 E I3 N
3. 配置IPSec.2 Y: i( O: N3 n6 q( ^
9 B" B1 u& g [
配置IKE:
! G# p& b" Y* |5 n/ T Shelby(config)#crypto isakmp policy 16 n9 Z/ c' { P- ]! Z
3 P9 X( @5 N. n+ I* h# n 注释:policy 1表示策略1,假如想多配几个VPN,可以写成policy 2、policy3┅
9 I6 @( V- M0 o. y
2 s3 u6 t2 x* e Shelby(config-isakmp)#group 1/ V7 B: l& b+ m3 R, W2 Y3 L
3 n) Z2 b* |! S6 |
注释:除非购买高端路由器,或是VPN通信比较少,否则最好使用group 1长度的密钥,group命令有两个参数值:1和2.参数值1表示密钥使用768位密钥,参数值2表示密钥使用1024位密钥,显然后一种密钥安全性高,但消耗更多的CPU时间。
/ ~6 V8 u' D) B# r; t& S Shelby(config-isakmp)#authentication pre-share
2 m6 k; v( [7 p
; U# G6 R9 H3 ] 注释:告诉路由器要使用预先共享的密码。
: n9 X2 _' j8 w+ z6 V; g Shelby(config-isakmp)#lifetime 3600) B. u/ a& _6 N
6 D7 b: T6 e! ~) V0 r0 d
注释:对生成新SA的周期进行调整。这个值以秒为单位,默认值为86400,也就是一天。值得注意的是两端的路由器都要设置相同的SA周期,否则VPN在正常初始化之后,将会在较短的一个SA周期到达中断。# c3 H- B/ W R! O
Shelby(config)#crypto isakmp key noIP4u address 200.20.25.1
; E( X9 a" P) J6 ?9 f% D [( W
, U# O0 l' m1 e! c$ ?$ e- F- E' N 注释:返回到全局设置模式确定要使用的预先共享密钥和指归VPN另一端路由器IP地址,即目的路由器IP地址。相应地在另一端路由器配置也和以上命令类似,只不过把IP地址改成100.10.15.1.
! [& i* |. L, Z
* o3 M* H# L! G( o配置IPSec+ g+ \9 X; P3 J! ^" e% j
: ]7 l0 z' W0 B3 m Shelby(config)#access-list 130 permit ip 192.168.1.0 0.0.0.255 172.16.10.0 0.0.0.255( D0 U* X* n, `0 v& ^5 _
( U1 h6 ?. |0 B! p8 [" Z 注释:在这里使用的访问列表号不能与任何过滤访问列表相同,应该使用不同的访问列表号来标识VPN规则。% Y/ H9 [, b* H4 `5 d0 U* h" H
Shelby(config)#crypto ipsec transform-set vpn1 ah-md5-hmac esp-des esp-md5-hmac2 \: d! l5 m" X/ a& L; l* t# J% ]
8 Z; \* H) k. u, j% e9 e# ]0 u
注释:这里在两端路由器唯一不同的参数是vpn1,这是为这种选项组合所定义的名称。在两端的路由器上,这个名称可以相同,也可以不同。以上命令是定义所使用的IPSec参数。为了加强安全性,要启动验证报头。由于两个网络都使用私有地址空间,需要通过隧道传输数据,因此还要使用安全封装协议。最后,还要定义DES作为保密密码钥加密算法。
% V* h1 }0 ?$ j) @ Y' [0 x Shelby(config)#crypto map shortsec 60 ipsec-isakmp0 |" k; o8 h7 w+ Q) c" @" ~
/ Z1 M! L/ ~! `; X7 }& c; ?6 i" p9 W# V 注释:以上命令为定义生成新保密密钥的周期。如果攻击者破解了保密密钥,他就能够解使用同一个密钥的所有通信。基于这个原因,我们要设置一个较短的密钥更新周期。比如,每分钟生成一个新密钥。这个命令在VPN两端的路由器上必须匹配。参数shortsec是我们给这个配置定义的名称,稍后可以将它与路由器的外部接口建立关联。8 T+ }# @3 A: h
Shelby(config-crypto-map)#set peer 200.20.25.11 q! `- v; J1 x7 {
2 F) Y d# O7 H1 x( K
注释:这是标识对方路由器的合法IP地址。在远程路由器上也要输入类似命令,只是对方路由器地址应该是100.10.15.1.
. ^" k3 v$ m9 }' Y2 j! {) ^ |5 H! I( R
Shelby(config-crypto-map)#set transform-set vpn17 ?- G6 F8 {/ g# m0 J+ ]
0 K" ]+ i P2 Z9 n- X% M
Shelby(config-crypto-map)#match address 130
' j4 v- _. {; e
* u/ q: @# }: Q; J# g 注释:这两个命令分别标识用于这个连接的传输设置和访问列表。
- v: `7 c3 S6 w3 B/ O0 X( X Shelby(config)#interface s04 }. y" g E2 ^
( c! Q' @: [1 C- s2 z2 F2 Q Shelby(config-if)#crypto map shortsec
' E( R3 i- }. W6 i; V5 r7 @* b# W: r2 P: { s; b
注释:将刚才定义的密码图应用到路由器的外部接口。
+ q5 D8 C0 H% t7 }4 b* f+ i2 M, z 现在剩下的部分是测试这个VPN的连接,并且确保通信是按照预期规划进行的。
1 J8 m. F+ g! Y1 ]7 u$ } 最后一步是不要忘记保存运行配置,否则所作的功劳白费了。
8 Z# }- i5 e/ o( l; _ 附:参照网络安全范围,VPN硬件设备应放置以下四个地点:0 K& K0 G: i8 y1 ?( r
● 贒MZ的防火墙之外; z- J6 o9 I; Q& s
● 连接到防火墙的第三个网卡(服务网络)
a4 G2 [7 S8 t2 G ● 在防火墙保护的范围之内9 e7 x4 @( g! {% q
● 与防火墙集成9 X5 g: O2 f4 h1 b
3 P' O% W2 F1 e& i6 f4 ^
本文摘自中国IT论坛2 S j; t7 y, J) c# y
% o7 y5 P2 c- d( w2 G/ |
|
|