用Windows+Server+2003架设L2TPIPSEC+VPN服务器

更新时间:2023-11-02 07:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

用Windows Server 2003架设L2TP/IPSEC VPN服务器

本文曾发表于黑客防线2004年第8期,这篇文章本身与防火墙没多大关系,但文章里面讲到的东西我们却可能碰到,所以也就把它发在这里了

本文将提到NAT-T,如有不明白的地方可以在本站搜索关于NAT的文章

如果你已经熟悉了Windows 2000,现在来用windows server 2003,相信你会有不少惊喜发现,在外观改变不大的情况下,功能确实处处在增强,今天我们就来利用windows server 2003的“路由与远程访问”组件搭建一个L2TP/IPSEC VPN服务器,让你从外部以更安全的L2TP方式访问内网,windows 2003的VPN支持NAT-T,这使得外部内网中的用户也能够使用L2TP的方式访问VPN服务器及内网,在以前,由于NAT与IPSEC的不兼容,使得我们只能通过PPTP的方式从一个内网中访问远方的VPN服务器及内网,比如从网吧访问自己的网络,有了windows server 2003,你也可以从任何地方以更安全的L2TP方式进行VPN访问了。

本文的大致网络环境如图1所示,以典型的ADSL共享上网为因特网接入方式,这里ADSL猫以一条网线连接到双网卡的Windows Server 2003上,然后Windows Server 2003再以内网卡连接到内部交换机上,两块网卡都配置了不同网段的IP,但网关和DNS都为空,内网中的客户机通过Windows Server 2003上的ADSL共享上网,这里将在这台Windows Server 2003上创建L2TP VPN服务器。为了完成这个工作,我们将做以下几部分工作: 1, 启用“路由与远程访问” 2, 创建ADSL连接 3, 用NAT实现共享上网 4, 配置VPN 5, 安装独立根CA

6, 为VPN服务器安装服务器证书 7, L2TP客户端证书的安装 8, L2TP客户端相关问题 下面将依次讲述。 [ 相关贴图 ]

一、 启用“路由与远程访问”

1,在管理工具中运行“路由与远程访问”,默认情况下“路由与远程访问”是禁用的,所以右击服务器图标,选择“配置并启用路由与远程访问”; 2,进入“配置”窗口,选择“自定义配置”项;

3,在“自定义配置”窗口,勾选“VPN访问”、“NAT和基本防火墙”和“LAN路由”项,其他的可以以后根据需要再配置。

二、 创建ADSL用的PPPoE连接

Windows Server 2003的“路由与远程访问”组件支持直接创建PPPoE的请求拨号接口,方法如下: 1,展开服务器图标,右击“网络接口”,选择“新建请求拨号接口”,点击下一步; 2,在“接口名称”窗口给这个接口取个有意义的名字,比如PPPoE; 3,在“连接类型”中选择“使用以太网上的PPP(PPPOE)连接”项; 4,在“服务名称”中取个有意义的名称,也可以不填,直接点下一步; 5,在“协议及安全措施”窗口中勾选上“在此接口上路由选择IP数据包”;

6,在“远程网络的静态路由”窗口中添加一条默认路由,也即是添加一条到目的0.0.0.0的默认路由,点击“添加”按钮,然后弹出一个窗口,这里只添加一条默认路由,所以直接确定此窗口即可(如图2)。 [ 相关贴图 ]

7,在“拨出凭据”窗口中,填入你ADSL虚拟拨号的用户名和密码,域一栏保持为空。

上面的过程就完成了PPPOE连接的创建,但要想拨号成功,还需要修改一个地方,右击刚创建的PPPoE接口,选择“属性”,在弹出的窗口中选择“安全”标签(如图3),在其中选择“典型”项,“验证我的身份为”栏选择“允许没有安全措施的密码”项。为了保持这个接口的永久在线,切换到“选项”标签,在“连接类型”中选择“持续型连接”。完成了上面的操作后就可以右击PPPOE连接,然后选择“连接”项来建立ADSL连接了。

[ 相关贴图 ]

要说明的一点是之所以在这里创建PPPoE连接而不是直接通过“网络连接”中的“创建一个新的连接”来创建ADSL连接,是因为“网络连接”窗口中创建的连接不能为NAT识别,而在NAT中又需要选择此PPPOE连接为外部连接以进行地址转换,所以就只有在这里创建了。

三,用NAT安全共享此ADSL连接

NAT就是Network Address Translation,也就是把不能直接与公网IP通信的私有IP翻译成公网IP(还有端口),以便能完成与公网的通信,关于它的介绍已很多了,这里就不细述,只强调一下设置NAT主要是设置好内部接口和外部接口,因为地址翻译就是在它们之间进行的。下面是基本操作方法:

1, 定位到“IP路由选择”下的“NAT/基本防火墙”,右击之,选“新增接口”,这里首先选择内部接口,也就是内网卡所代表的那个本地连接,在弹出的窗口中选择“专用接口连接到专用网络”项。

2, 再次添加接口,这次选择外部接口,即上面创建的PPPoE接口(注意不要选连ADSL那块网卡所在的本地连接),在弹出窗口中选择“公用接口连接到Internet”,并勾选上“在些接口上启用NAT”和“在此接口上启用基本防火墙”两项(图4)。这里的基本防火墙是一种动态包过滤防火墙,相当于一个小型的状态检测防火墙,当外部的通信到达外部接口时,基本防火墙会检测NAT表中是否有相应的会话,如果没有就将拒绝通信。之所以这里要启用基本防火墙,是因为启用了“路由与远程访问”之后就不能启用操作系统内置的ICF(Internet连接防火墙)了。另外也可以利用图4中的静态数据包筛选器静态地进行包过滤。启用了基本防火墙之后最好也不要再安装其他防火墙了,如果要安装,请先在这里取消基本防火墙(即取消图4的“在此接口上启用基本防火墙”项)。 [ 相关贴图 ]

通过上面的配置,内网客户端只要把网关和DNS都指向这台windows server 2003的内网卡地址就可以共享且安全地上网了。注意不要再去启用ICS(Internet连接共享)。

四、 配置VPN (一) 配置端口

在第一部分启用“VPN访问”选项之后,在“端口”中就已经有了PPTP和L2TP端口,默认情况下各自分配了128个,可以根据实际情况自行调整数量,调整方法是右击“端口”项进入“属性”窗口,双击其中的L2TP端口进行调整。现在你还可以保留一定量的PPTP端口,因为后面申请证书时可能要用,如果不需要PPTP端口,把它的数量设置为0。

(二)配置VPN客户端要使用的IP范围

右击服务器图标进入属性窗口,选择“IP”标签,在“IP地址指派”栏选择“静态地址池”,添加一段静态IP。之所以不用DHCP分配IP,是因为静态IP范围更容易识别VPN客户端。 (三)启用用户拨入权限或创建远程访问策略

要启用用户拨入权限,如果是域,请在“AD用户和计算机”管理工具中右击相应用户,在属性窗口中选择“拨入”标签,在“远程访问权限”中选择“允许访问”或“通过远程访问策略控制访问”(如图5),如果不用域帐户验证,就在VPN服务器的“计算机管理”工具下的“本地用户和组”中启用用户的拨入权限。如果上面选择的是“通过远程访问策略控制访问”(此选项只有域是windows 2003本地模式时才会启用),可以再创建一个组,以包含所有有远程拨入权限的用户,然后进入“路由与远程访问”窗口,右击“远程访问策略”,新建一个远程访问策略,在“访问方法”中选择“VPN”项,“用户或组访问”中选择刚创建的组,在“身份验证方法”中默认选择了MS-CHAPv2,也可以把MS-CHAP选上,在“策略加密级别”中默认全部都选上了的,这是因为以前的操作系统版本可能不支持高位加密,这里根据客户端情况选择。

通过上面的配置后用户即可以PPTP的方式访问了,但要以L2TP的方式访问,还需要进行下面的工作。 [ 相关贴图 ]

五、在内网中安装独立根CA

为什么要安装证书服务(CA)呢?这是因为L2TP/IPSEC通信的双方需要先验证对方的计算机身份,通常有三种验证方法,一是用kerberos协议进行计算机身份验证,但kerberos不适合这种网络访问环境,另一种验证方法是通过预共享密钥,但这种方法容易导致预共享密钥的泄露,这就降低了安全性,还有一种方法就是通过证书来验证计算机身份,当通信开始时,双方都要向对方出示证书以证明自己的合法身份。比较三种方法,我们这里就选择用证书来验证计算机身份,所以这就需要在内网中安装可以发布计算机证书的CA服务。那为什么要安装独立根CA 而不是企业根CA呢?这是因为独立根CA不需要域的支持,这正适合那些可能不是域成员的外部VPN客户端,另外你会发现通过WEB方式申请计算机用的客户端证书或服务器端证书时使用独立CA更方便。当然如果你的网络环境是域,也建议你同时安装企业CA,这对于域中证书的发布和管理更方便更有效。证书服务可以安装在内网中的某一台Windows 2000 Server或Windows Server 2003上,安装时请选择“独立根CA”项就行了。

六、为Windows Server 2003 VPN服务器申请并安装服务器证书

当L2TP客户端访问VPN服务器时,客户端要提供它的客户端证书,而VPN服务器则提供它的服务器证书,所以需要为VPN服务器申请一张服务器证书,申请通过WEB方式进行,假如那台CA服务器IP是A,那么在VPN服务器上就可打入如下申请地址1, 在欢迎页面中选择“申请证书”项; 2, 在“选择申请类型”页面选择“高级申请”项;

3, 在“高级证书申请”页面选择“使用表格向这个CA提交一个证书申请”;

4, 在这个表格页面中(如图6)填写上服务器的相关信息,在“意图”栏选择“服务器身份验证证书”,勾选上“使用本地机器保存”,其他项可以保持默认设置。 [ 相关贴图 ]

http://a/certsrv/default.asp,申请步骤如下:

上面只是完成了证书申请过程,还需要管理员审核此证书请求并手动颁发证书,通过这种离线审批的方式,也防止了非法人员获得证书。由于你自己就是管理员,用下面的过程为VPN服务器安装它刚申请的服务器证书。

1, 在CA服务器的管理工具中运行“证书颁发机构”,然后在“待定的证书”下右击刚申请的证书,选择“所有任务”*“颁发”项即可(如图7)。 [ 相关贴图 ]

2, 到VPN服务器安装证书。仍然通过

http://a/certsrv/default.asp进行,此时在欢迎页面中选

择“检查挂起的证书”项,然后根据向导安装即可。

证书安装完成了,但过程并没有完,因为我们还需要安装CA根证书以及证书链中的所有CA证书,这样才能验证CA所颁发证书的合法性,比如将来验证客户端证书的合法性时就要同时验证上层CA及根CA的证书,因为只有上层合法才能保证最底层的计算机证书合法。此时仍然通过http://a/certsrv/default.asp页面进行,在欢迎页面中选择第一项“检索 CA 证书或证书吊销列表”项,然后在下一个页面中(如图8)点击“下载CA证书”和“下载CA证书路径”两个链接,并把下载的证书保存到桌面上。 [ 相关贴图 ]

上面两项下载完成后,现在需要把它们导入相应的证书存储区,方法如下:

1, 在运行中输入mmc,添加“证书”管理插件,并选择“计算机帐户”和“本地计算机”项。 2, 双击展开“个人”*“证书”项,现在你应该可以在右窗格中看到刚才安装的服务器证书。

3, 展开“受信任的根证书颁发机构”,右击“证书”项,选择“所有任务”*“导入”,导入你保存到桌面上的CA根证书(默认情况下这是一个*.cer的文件),导入完成后你应该检查CA根证书是否已在此证书区域存在。 4, 然后再右击“中级证书颁发机构”下的“证书”项,导入保存在桌面上的CA证书路径,导入完成后同样要检查证书是否已在此区域存在。

七、L2TP客户端证书的安装

同VPN服务器一样,L2TP客户端也需要安装同一个CA颁发的计算机证书,申请方法一样,只是此时在图6中选择“客户端身份验证证书”项,注意也要选中“使用本地机器保存”。如果客户机在外网,申请证书时可以先用PPTP方式登录,然后再通过

http://a/certsrv/default.asp申请证书,与VPN服务器

一样,也需要手动颁发此证书并安装,同样也需要安装CA根证书和证书路径中的证书,这样才能验证服务器证书的合法性,具体方法与前面一样。可能这里让你头痛的是在什么时机为客户机配置证书,也许你会担心用户不会安装证书,所以你应该准备一份安装说明,不要低估用户的动手能力,如果他真的按照安装说明也不会操作,那么你也别指望他能真正保证数据的安全了,即使你配置了最安全的方法。

八、L2TP客户端的相关问题

1,windows 2000以下的操作系统需要安装专门的L2TP客户端,可以到微软网站下载,在微软首页搜索L2TP即可。

2,windows 2000/xp本身已经支持L2TP了,但微软也提供了一个更新以支持NAT-T,你需要安装此更新,方法是运行开始菜单中的windows update,然后搜索818043号更新进行安装。

3, 在客户端使用“网络连接”中的“新建连接向导”创建到VPN服务器的连接,在连接“属性”窗口的“网络”标签中选择“L2TP IPSEC VPN”项。

本文来源:https://www.bwwdw.com/article/aqt2.html

Top