先来了解一下×××,×××(Virtual private Network,虚拟专用网)是穿越专用网络或公用网络的、安全的、点对点连接的网络。×××客户端使用特定的隧道协议,与×××服务器建立虚拟连接。
% N- v( Q, H$ @' O. a ×××最佳范例就是:×××客户端使用×××连接到与Intenet相连的×××服务器上。它的工作是×××服务器应答验证×××客户端的身份,如果验证通过,内部网络与×××客户端传送数据。×××既然是虚拟的专用网,那么在×××服务器与客户端之间建立的是一种逻辑,非直接的连接,可以跟拨号网络比较来理解。×××一般都要保证数据的安全性,必须对连接进行加密。! X3 `/ e0 l( r4 D1 p 概括一下:目前常见的×××应用包括站点到站点(Site to Site)×××和远程访问(Remote Access)×××两种。前者主要用于一个组织的总部网络与分支机构网络之间的连接或者一个组织的网络与其它可信的合作伙伴的网络之间的连接。后者主要用于远程或移动用户的远程访问连接。# `# o2 C& h: O) ^ 下面来看下远程访问×××的构成:7 k0 ?# f# E- |0 Z! {; s a+ e( Q; Z* Q# X/ K 先来看看各个角色的功能:; D/ Z+ c7 W- M! E5 }(1)×××服务器:这个当然就是用于接收并响应×××客户端的连接请求,并建立连接。它可以是专用的×××服务器设备,也可以是运行×××服务的主机。在这里当然是属于后一种了。0 k: d* ^2 `( ?6 x. ]- K(2)×××客户端:×××客户端用于发起连接×××服务器的请求,通常为×××连接组件的主机,这个组件当然就是拨号的组件,要支持×××协议。7 c3 @4 t+ e. J3 t(3)隧道协议。×××有它自己的特殊协议,它的实现必须依赖于隧道协议。通过隧道协议进行特殊的封装,还可以提供加密,认证等等的安全服务。当然服务器和客户端都必须支持相同的协议。目前最常用的就是PPTP、L2TP和IPSEC。8 l d5 r w, g PPTP:(point-to-point tunneling protocol点对点隧道协议)是PPP的扩展。协调使用PPP的身份认证、压缩和加密机制,它支持在IP网络上建立多协议的×××连接,可以为使用PSTN和ISDN的用户提供×××支持。PPTP一般是通过MS-CHAP,MS-CHAPv2或EAP-TLS身份认证过程中生成的密钥,对信息进行加密。加密采用MPPE(Microsoft Point-to-Point Encryption,Microsoft 点对点加密)算法,密钥长度可以选用较弱的40位或强度较大的128位。" v, j7 S$ y! U. W+ K L2TP:(Layet 2 Tunneling Protocol,第二层隧道协议)是基于RFC的标准隧道协议。但它与PPTP不同,L2TP不利用MPPE进行加密,而是依赖于IPSec。L2TP和IPSec的组合为L2TP/IPSec。通过IPSec在IKE协商进程中生成的加密密钥,L2TP可使用DES或3DES对信息进行加密。/ C) v( g! a( i# p' C/ S IPSecIP Security,IP安全)协议是IETF开发的IP网络安全标准。它包括IKE、AH和ESP等等协议。0 C! C) M# l$ \; w6 X; G* s(4)Intenet连接:×××服务器和客户端都必须接入Internet,并且能够通过Internet进行正常通信。4 K8 T- u# S( P. _( k 好,看了原理后就来部署一个实例:& w" ^: P0 b, J, H 登录上要配置×××服务的服务器。+ J) C/ R) q2 N! W 打于路由与远程访问窗口0 G0 i& g+ W( }/ ^' W2 d; n v2 g; |& ?0 v( s2 X& z 点主机右键。选“配置并启用路由和远程访问”8 O0 U2 F0 _# @3 F, }7 M" B0 I1 E% P3 H; g+ ? 便出现安装向导,然后点下一步。6 ~! U$ [4 ^- x% M0 x$ P% Y! o' f: \! X3 z4 i7 P& G这里选第一个,然后点下一步。: o/ `! K! G" @! o9 W/ N }* [) W2 J7 Z, _5 W! k, |选×××。然后点下一步。5 b% U5 y! h: G3 d* G! \, ^2 ?' A$ N M$ @" }* l3 Y5 [# T 可以看到这里有两个网络接口,这例子是建立双网卡的×××。所以出现两个,其中Internet是连接外部网络,LAN是连接内部网络,在图中也可以清楚地看到。但这里不选“通过设置静态数据包筛选器来对选择接口进行保护”为什么呢?如果选中它是通过设置数据包筛选器来限制与INTERNET接吕的通信,阻止不需要的连接。但这里的例子远程访问×××客户端的位置相对不固定,而数据包筛选器是静态的,会给×××的实现带来不便。) |) d7 m7 c$ C7 [* {0 \8 Y6 H+ [ T这里选“来自一个指定的地址范围”。静态分配9 [9 F6 x$ M6 n9 w2 l- f5 a: M. E: |0 T' @6 R+ R 点击新建。, r2 a, }! f- n5 p5 ?- r" P" ~! {3 P" A+ c& H( ~" M* V2 x 点确定。* N# U' n* y6 s) P2 ?) @( w* `4 X4 ` 可以看到已经添加进去了。+ ?4 ]$ y, L) f. C, G3 R4 X1 ~. y4 Y* b5 |这里点否。" G$ r3 Z1 ^# [6 j h8 b- B/ ^- f! M, d可以看到两个接口的作用,点完成。* _8 f$ K! t. G, c5 e# [7 t; Q" R9 E$ V, Z! v2 U& @1 Q9 `点击确定。9 w# m5 a& @2 C6 W1 r3 a/ e' f9 S. T% F( k. p1 e是不是这样就可以了呢?不是,还要看下面配置。- c2 u8 [7 t H/ c+ g4 e3 u z! H# }4 |' r: q" S 点端口右键。选属性。% W# b; b1 i; I: D8 V+ r9 H/ I( ]( S2 g! Z+ }都打上勾。2 a+ J; k# D0 z- H( \. z, X ×××建立好了,由于本服务器不是AD,所以要在计算机管理建立一个用户来作例子。2 X I! `+ i9 G1 \1 T- I* r |6 s. y* o0 \ 在本地用户和组,用户下面建立一个WIN2003的用户,虽然名字没取好,但都一样,呵呵。: m8 M3 c1 H* E' r4 D4 V5 q$ h/ d7 B& _& F点WIN2003属性。这里肯定要勾选允许访问。看图勾选。这里分配一个静态IP地址( U6 p( w. Y8 g3 d" }: d, [3 H# _- j5 D5 {: x* ?3 K+ x下面来转向XP客户端,在这里要配置×××连接。2 c/ g8 O3 t9 H8 `2 q+ x$ F) T- M1 S1 t( _' K1 j4 {! I 打开网络连接,点新建连接向导。上面那个连接是接入INTERNET,要新建的是连接×××服务器。+ p" R% L2 e- e, ]! t f. {1 b) t: F4 p; Q) i2 a点下一步。! }; S: U; b: }. X3 e- k# A: W+ S! R2 A, Z# P在这里选第二个。8 U0 K, w, u8 G! i! K$ J$ `5 e$ b4 V% N) T2 j% J; |# J4 W* w7 Y选虚拟专用网络连接,然后点下一步。5 V% b" I- d! o& i6 K1 G4 r7 S% b% T9 B# C 刚建立好的×××服务器名是“yangming", m; y! [# [: m6 l, Y6 n1 C# W# B) F9 v7 U 输入×××服务器接入INTERNET的网卡地址。+ J- V$ Q1 B8 Y/ E5 ~3 w7 }1 h% Q4 T3 ^6 n7 h e# Q, N. F ?* L' f 这里点只是我使用。" s) {3 ?- [, h* x) o( S% A8 J Q& F点完成。( G/ M" \; ~8 S6 R/ l) D9 `6 P. i9 O3 |1 I- s: w然后就是登录。这里输入服务器上添加的用户名和密码。% r. m( f9 p& b3 X3 h3 h. T h7 Q U/ s& R L, |3 H6 ]7 b可以看到连接上去了。$ b( ?9 i- k0 U2 [) I/ y: w' {+ `4 p) S可看见右下角有个连接的图标,单击它。- |, d( y: s/ z5 r, }6 ^6 n* v: ?2 i$ e: Q 这里说明一下服务器IP地址,为什么它不是192.168.0.50.也就是LAN内部网卡地址?而是在配置分配地址范围中的第一个IP地址。×××是一个虚拟的网络,要区分实际的网卡地址。+ l" B. g8 W# T$ ^9 c客户端的IP地址也就是上面配置好的静态分配的地址。; _3 z) u1 E+ p0 b5 r2 v* T& M' a! q. Q |- ~9 m/ \8 P" i看一下它的属性。目的IP是服务器连接外部的地址。9 Y! k5 l% t" t6 f9 J6 x1 m; U3 Q8 h! @* b& \. C' R 再看下面。& j7 b1 c& Z# h E, q$ _& Z# a& |2 I9 y% v# S" G3 c. P9 | ! L1 s5 K6 G2 p/ M7 ?5 i( ~! P: I$ M, D }8 ?- X 可以看到这里的协议是PPTP。" c3 q3 ^6 B* s* \. ~2 H5 n) b1 n3 [% A 现在连接上去了,下面来测试一下:3 F9 I7 r4 c! m4 `( F/ o! A8 ^先看客户端:0 V1 S6 |- c7 {% G0 y" W& n2 A7 C) ^3 v! a% h5 W 一个是实际网卡的地址,一个是PPP ADAPTER 的地址。这可以看到是对的。( x7 e. y* v# ^6 U! E. x3 X4 K2 s% N% H: o- z) t8 N0 G& I1 \这是×××服务器的地址,其中两个是实际网卡地址,一个是PPP ADAPTER地址,可以看到它的地址是192.168.0.60。6 X! Z m, a- X" Z' c ! j" v) f. b% q& H- |: [# q' Q" s+ c这是在客户端测试连接内部的服务器,可见可以连通了。再来看一下断掉×××连接能不能PING通。. K) C f% o D' H k# ?- P9 q7 j- S3 ?& L 可以看到,在客户端断掉了就连不通内部服务器了。/ m8 h( ~' f8 r3 F最后来看一下×××服务器中的连接状态: H4 f! L7 o: f% y( I, g2 t/ ~! |, n
可看到内部IP是192。168。0。60。
$ n$ `1 i1 t/ n8 D' m, L. v1 N基本完成。0 S( M