微软公司在它的新操作系统――Windows Server 2003家族中继续提供对VPN通信技术的支持,并且还增加了许多新的特性,使得微软的Windows VPN方案更加实用,安全性更强。下面先来了解VPN通信的基础知识。
虚拟专用网(VPN)是专用网络的延伸,它包含了类似Internet的共享或公共网络链接。通过VPN可以以模拟点对点专用链接的方式通过共享或公共网络在两台计算机之间发送数据。要模拟点对点链路,应压缩或包装数据,并加上一个提供路由信息的报头,该报头使数据能够通过共享或公用网络到达其终点。若要模拟专用链接,数据应加密以进行保密,没有加密密钥,在共享或公用网络上截取的数据包是无法破译的。封装和加密专用数据之处的链接是虚拟专用网(VPN)连接。VPN网络的基本结构如图1所示.
图1
在整个VPN通信中,主要有两种VPN通信方式,适用于两类不同用户选择使用,满足各方面用户与企业VPN服务器进行通信的需求。这两种VPN通信方式就是俗称的“远程访问VPN”和“路由器到路由器VPN”,前者也称之为“Access VPN”(远程访问VPN),后者又包括“Intranet VPN(企业内联VPN)”和“Extranet VPN(企业外联VPN)”。前者是采用Client-to-LAN(客户端到局域网)的模式,而后者所采用的是LAN-to-LAN(局域网到局域网)模式。前者适用于单机用户与企业VPN服务器之间的VPN通信连接,而后者适用于两个企业局域网VPN服务器之间的VPN通信连接。
在家里或者旅途中工作的用户可以使用远程访问VPN连接建立到组织服务器的远程访问连接,方法是使用公共网络(例如Internet)提供的基础结构。从用户的角度来讲,VPN是一种在计算机(VPN客户端)与企业服务器(VPN服务器)之间的点对点连接。VPN与共享或公用网络的具体基础结构无关,因为在逻辑上数据就象是通过专用的私有链接发送的。这种远程访问VPN连接只能是单向的,即由远程客户端向VPN服务器发起连接请求,VPN服务器端不可能向客户机发起连接请求。典型的网络结构如图2所示。
图2
在这种VPN中,VPN用户先呼叫ISP,与ISP建立连接之后,ISP服务器就呼叫建立点对点隧道协议 (PPTP) 或第二层隧道协议 (L2TP) 隧道的远程访问服务器。这些协议已自动安装到计算机。建立VPN连接之后,你就可以访问企业网络,单位也能够使用VPN连接来为地理位置分开的办公室建立路由连接,或者在保持安全通讯的同时通过公共网络,例如Internet,连接到其他单位。这里所用的就是“路收器到路由器VPN连接”,这种连接通常是双向的,即连接的双方用户都可以对对方发起VPN通信连接,所访问的资源通常也是对方整个网络资源。通过Internet被路由的VPN连接逻辑上作为专用的WAN链接来操作。通过远程访问和路由连接,组织可以使用VPN连接将长途拨号或租用线路换成本地拨号或者到Internet服务提供者(ISP)的租用线路。这种VPN连接的典型的网络结构如图3所示。
图3
以上两种VPN连接的逻辑等价图如图4所示。
图4
【说明】在Microsoft Windows Server 2003 Web Edition和Windows Server 2003 Standard Edition上,你最多可以创建1000个点对点隧道协议(PPTP)端口和1000个两层隧道协议(L2TP)端口。但是在Windows Server 2003 Web Edition系统中一次只能接收一个虚拟专用网(VPN)连接。Windows Server 2003 Standard Edition最多可以接受1000个并发的VPN连接。如果已经连接了1000个VPN客户端,则其他连接尝试将被拒绝,直到连接数目低于1000为止。
在Microsoft Windows Server 2003 家族中有两种基于点对点协议(PPP)的VPN 技术,它们分别是:
(1)点对点隧道协议(PPTP)
PPTP协议使用用户级别的PPP身份验证方法和用于数据加密的Microsoft点对点加密(MPPE)。
(2)带有Internet协议安全性(IPSec)的第二层隧道协议(L2TP)
L2TP将用户级别的PPP身份验证方法和计算机级别的证书与用于数据加密的IPSec或隧道模式中的IPSec(IPSec本身在其中仅对IP通信提供封装)一起使用。
表1描述了使用 VPN 连接的优点
VPN的优点
Microsoft Windows Server 2003家族提供如下虚拟专用网(VPN)的新功能:
1. 网络地址转换(NAT)透明度
运行Windows Server 2003的VPN服务器通过Internet协议安全性(L2TP/IPSec)通信(源于NAT后的VPN客户端)支持“第二层隧道协议”。要使该功能正常运行,客户端计算机必须支持如下IPSec协议工作组Internet草案:
NAT协商-遍历IKE(draft-ietf-ipsec-nat-t-ike-02.txt)。
对IPsec数据包的UDP封装(draft-ietf-ipsec-udp-encaps-02.txt)。
2. 使用“网络负载平衡”的VPN部署
结合“网络负载平衡”,运行Windows Server 2003的VPN服务器支持VPN部署,从而创建高效的VPN解决方案。包含了对于点对点隧道协议(PPTP)和带有“网络负载平衡”的L2TP/IPSec VPN解决方案的支持。
3. 通过TCP/IP名称解析(NetBT)代理NetBIOS
当远程访问VPN客户端连接到VPN服务器时,它依赖于名称解析目标网络上的DNS或WINS服务器。
DNS和WINS服务器在组织上是相同的,该组织为主机名称解析使用DNS或为NetBIOS名称解析使用WINS。但是,在小型或家庭办公室环境,可能不存在这些服务器。在这种情况下,需要通过其他方式解析尝试进行通讯的计算机名,从而获得成功的通讯。
不使用WINS或DNS服务器,通过运行Windows Server 2003的VPN服务器可以解析NetBIOS名,因为Windows Server 2003操作系统包括NetBT代理。使用NetBT代理,所连接的VPN客户端和VPN服务器连接至的网络段上的节点能够解析所有其他的NetBIOS名称。解析过程如下:
(1)当一个VPN客户端需要将名称解析为IP地址,而不需要配置的DNS或WINS服务器时,它将把NetBIOS名称查询数据包发送至VPN服务器。当连接至VPN服务器的网络段上的节点需要将名称解析为IP地址,而不需要配置的DNS或WINS服务器时,它将把NetBIOS名称查询数据包作为广播在网络段上发送。
(2)VPN服务器接收NetBIOS名称查询数据包,检查解析的NetBIOS名的本地缓存,并且当没有找到名称时将NetBIOS名称查询作为NetBIOS广播在所有连接的接口上转发,除了连接到所有VPN客户端的逻辑接口。
(3)已经注册了NetBIOS名称的节点将正NetBIOS名称查询响应发送至VPN服务器。
(4)VPN服务器接收NetBIOS名称查询响应,然后在接口上(NetBIOS名称查询数据包源于该接口)将其转发至发送节点。
结果是连接至VPN服务器(以及所有连接的VPN客户端)的网络段上的网络节点都能够自动解析所有其他名称,而不使用DNS或WINS服务器。
4. L2TP连接的预共享密钥配置
Windows Server 2003家族支持计算机证书和预共享密钥,将其作为身份验证的方法以建立L2TP连接的IPSec安全关联。一个预共享密钥是在VPN客户端和VPN服务器上配置的一个文本字符串。预共享密钥是一种相对较弱的身份验证方法,因此建议你仅当部署公钥基础结构(PKI)以获取计算机证书时,或者VPN客户端要求预共享密钥时,才使用预共享密钥身份验证。你可以使用L2TP连接的预共享密钥,并从运行“路由和远程访问”的服务器的属性上的“安全”选项卡指定预共享密钥。
运行Windows XP的远程访问VPN客户端也支持预共享密钥的身份验证。你可以使用预共享密钥的身份验证,并从网络连接中VPN连接属性上的“安全”选项卡上的“IPSec设置”中配置预共享密钥。
对于运行Windows Server 2003操作系统的计算机间的路由器到路由器的VPN连接,也支持预共享密钥身份验证。你可以使用预共享密钥的身份验证,并在路由和远程访问中请求拨号接口的属性上的“安全”选项卡上的“IPSec设置”中为请求拨号接口配置预共享密钥。