为了给企业的员工提供更多的服务,我们通常会在局域网内部搭建文件服务器、应用程序服务器或打印服务器等,一旦用离开单位(出差或在家办公)就无法使用企业内部的这些共享资源了,如何开发这些内网的共享资源给我们在外出差或在家办公的用户呢?解决这个问题我们就要用到VPN(Virtual Private Network,虚拟专用网)技术,利用internet公网建立一个以远程访问协议(Remote access protocol)为基础的私有通道(tunnel),让外网用户能够安全的访问公司内部的资源。
通常在一些对网络访问性能极其安全、要求比较严格的网络中会使用一些硬件VPN设备,不过Windows Server 2008也完全可以胜任VPN的工作,接下来我们先了解一下VPN的基础知识,然后再看一下具体的配置。
第一节 VPN部署场景及应用协议
在部署VPN时一般将其分为两种连接方式,一种是让外网用户通过互联网访问内网的共享资源,我们平时家里面用的宽带拨号上网就是这种方式(PPPoE),也叫远程访问VPN连接(remote access VPN connection),如下图所示:
图: 1
另外一种应用方式一般用来解决分支机构与公司总部的连接,因为分支机构的PC设备较多且集中,第一种连接方式就显得不够智能,我们更希望实现路由器与路由器之间的连接(route-to-route VPN connection),让两个局域网的计算机实现互联互通,用户即便是在异地,但感觉仍然是在一个网络里(如图2所示),这时候的VPN服务器我们称之为 VPN网关(VPN gateway)。
图: 2
我们将处于外网并通过VPN访问的设备统称为VPN客户端,那么在公网中,VPN客户端是如何找到VPN服务器(第一种连接方式)、VPN网关与VPN网关(第二种连接方式)之间又是怎样相互联系的呢?我们知道在TCP/IP网络中,数据的收发是由封装不同的协议来确定源目标的,所以在互联网中不同地方的VPN客户端(或VPN服务器)与VPN服务器之间的的通讯也需要封装特殊的协议,也就是专属于VPN的PPP协议(Point-to-Point Protocol)。
VPN客户端(VPN服务器)与VPN服务器之间是通过互联网传输数据,当VPN客户端(VPN服务器)与VPN服务器创建连接(建立私有通道)以后,为了保证数据的安全,必须要将通过私有通道传输的数据进行特殊的加密处理以防止被拦截,如果没有揭秘密钥,即便是被拦截也无法解密读取,Windows Server 2008支持的加密协议有:PPTP、L2TP/IPSec和SSTP(SSL),在实施VPN解决方案时也一般以这三种加密协议为参考并实施,在下面的章节里,我们也会以此为例具体看一看它们的配置方法。
但远程的VPN客户端连接到VPN服务器时,必须要输入正确的用户名和密码以验证其身份,如果验证成功,VPN用户就可以访问授权下的资源,验证失败当然就会拒绝登陆了,为了防止用户名和密码被拦截破解,Windows Server 2008所支持的验证协议(authentication protocol)也不一样。最基本的验证协议是PAP(Password Authentication Protocol),但是其验证密码是以明文的形式发送的,最不安全,在项目实施时一般不会使用这种方式。比PAP较安全的是CHAP(Challenge Handshake Authentication Protocol),与PAP相比,虽然CHAP比较安全,但是CHAP不支持客户端修改密码,一旦VPN客户端的身份验证过期,将无法正常登陆。
更为安全的验证协议是MS-CHAP v2(Microsoft Challenge Handshake Authentication Protocol Version2)和EAP(Extensible Authentication Protocol),其协议的验证方式和数据加密解密的形式我就不细说了,大家可以去找一下相关的文档了解一下。
第二节 PPTP应用实例
在部署VPN时最常用的协议就是PPTP协议了,它默认的身份验证方式是MS-CHAPv2,我们也可以自定义选择更为安全的EAP验证,如果采用MS-CHAPv2验证,建议VPN客户端的密码设置的复杂一些,以最大限度的降低被破解的可能。下面我们以图3所示的拓扑环境来搭建一个测试平台,在这个环境中,我们需要一台域控制器,一台VPN服务器,并将其加入到域中作为域成员服务器,还有一台NAT服务器(NAT服务器的部署方法请参见《实用window2008之三:NAT服务器的架设应用实例》),另外我们用一台Windows7作为VPN客户端,域控、VPN和NAT都以Windows Server2008为搭建平台,其中域控还要兼着文件服务器和DHCP服务器的角色,
图: 3
从上图我们可以看出VPN服务器的内外网卡分属于不同的网络,我们将192.168.16.0网段称之为内网,192.168.10.0网段称之为外网,同时NAT服务器扮演路由的角色,用来转换192.168.20.0 网段到192.168.10.0,我们用来做验证的VPN客户端就在192.168.20.0网段内,但我们搭建完毕实验环境后,可以先用PING命令测试一下(为了保证ping命令正确返回数据包,可以将图3所示的各计算机都关闭防火墙),我们会发现从VPN客户端执行ping 通192.168.10.2(VPN服务器外网卡的IP地址),但却不能ping通192.168.16.130(VPN服务器的内网卡),这个没有关系,我们配置完VPN后,我们再来ping 192.168.16.130,确定测试环境中的几台计算机都可以ping通后,我们接下来进入主题,看看PPTP VPN服务器的配置。
图: 4
图: 5
图: 6
Step4. 在“开始”菜单中的“管理工具”中找到“路由和远程访问”选项,打开后我们发现 “路由和远程访问”还是禁用状态,在它上面点击右键,选择“配置并启用“路由和远程访问”打开“欢迎使用路由和远程访问服务器安装向导”。
图: 7
Step5. 在接下来的界面中选择“远程访问(拨号或VPN)”,点击“下一步”选择“VPN”,如果VPN服务器还兼职着NAT转换让内部客户端也可以上网的话,我们就要选择第三项:虚拟专用网络(VPN)和NAT。
图: 8
Step6. 选择连接外网的网卡,系统默认情况下会选中下面的复选框,让外网网卡只通过与VPN相关的数据包,而其他的数据包则会被拒绝,这会增加服务器的安全性,不过我们可以在设置完后,通过“输入筛选器”和“输出筛选器”更改设置。
图: 9
图: 10
图: 11
图: 12
图: 13
Step10. 我们可以在“开始”—〉“管理工具”下的“路由和远程访问”看到完成后的配置界面,在上一步中我们知道已经开启了DHCP中继代理,在这一步中我们需要将DHCP服务器添加进来,展开IPv4下的“DHCP中继代理”,将DHCP服务器的IP地址:192.168.16.129,到这一步为止,VPN的设置基本设置就算是搞一段落了,接下来我们看一下VPN客户端的设置。
图: 14
图: 15
图: 16
图: 17
图: 18
图: 19
图: 20
Step17. 接下就是测试连接了,不过在连接时我们需要做一下小调整,我们在控制面板—网络和internet—网络连接下找到刚才创建的VPN连接,打开它的属性界面,在安全选项卡下将VPN类型更改为PPTP,因为咱们这个实例演示的就是PPTP,如果不修改的话,在拨入的时候会以此验证VPN类型下的所有选项,势必会影响客户端的连接速度,然后选择身份验证协议,设置完成后直接在VPN连接上点击右键连接即可。
图: 21
图: 22
图: 23
这时候我们的VPN客户端虽然在192.168.20.0网段,中间还隔着一个192.168.10.0网段,但我们仍然可以像在192.168.16.0网段内一样地去访问文件服务器的资源。PPTP的配置实例就先分析到这,在接下来的文章中我们在继续分享L2TP/IPSec的配置方法。
来源URL:http://www.360doc.com/content/14/0304/10/15165033_357561827.shtml