刘 君
(武汉工程大学,湖北 武汉 430073)
VPN技术在跨越网络区域中的应用
刘 君
(武汉工程大学,湖北 武汉 430073)
本文探讨灵活利用VPN技术,实现在在基于IP地址认证的网络模式中跨越区域限制。
VPN;IP地址认证;网络限制
在许多网管出于特殊原因对内网中部分区域实施访问外网的限制,允许某些区域终端通过IP地址认证访问外网,有些区域的终端不给予认证,禁止访问 Internet,这对那些拥有合法账号,却经常在限制区域和非限制区域之间活动的人员带来一些不便。为了让这个别的终端能访问外网,很多人都想到了代理上网,而传统的利用代理服务器上网又存在许多限制,例如有些应用根本就不支持代理上网模式,本文基于这种情况,结合现在日趋成熟的虚拟专用网(VPN ,Virtual Private Network)技术,实现方便快捷的访问外网。
VPN(虚拟专用网,Virtual Private Network),一般来讲是依靠ISP(Internet服务提供商)和其他NSP(网络服务提供商),在公用网络中建立专用的数据通信网络的技术。而现在随着VPN网络技术的不断发展,VPN已经不仅仅指通过Internet等大型IP互联网构建大企业、大集团的私有专用网,而目前已经有了更加广阔的应用空间,它可以建立穿透其他非IP网络构建某集团的私有专用网络,也可以是某小集体内部某些部门间实现机密数据传递而建立的端到端的加密数据传输,甚至是两个特殊终端进行的机密信息交换。
VPN由三个部分组成:隧道技术、用户认证和数据加密。隧道技术定义数据的封装形式,并利用IP协议以安全方式在公共网络上传输。用户认证是保证合法的用户安全地通讯,并确保传出的数据不被篡改。而数据加密则使数据在传输过程中不被非法阅读,使得通讯双方外的第三方无法获知传输数据的内容。VPN有三种解决方案:远程访问虚拟网(Access VPN)、企业内部虚拟网(Intranet VPN)和企业扩展虚拟网(Extranet VPN)。但在许多大型企业中可能同时具备这3种解决方案。而本文中的应用,鉴于用例的特点,介绍使用第一种方案比较简单实用,即远程访问虚拟网(Access VPN)。
网络隧道技术指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。网络隧道技术涉及了三种网络协议,即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议。隧道技术是指包括数据封装、传输和解包在内的网络技术体系。此外创建隧道的客户机和服务器双方必须使用相同的隧道协议。
隧道的实现机制主要设计两个方面,其一是所建立的虚连接是在第二层还是在第三层。第二层隧道协议对应 0SI模型中的数据链路层,使用帧作为数据交换单位,主要有PPTP,L2TP和L2F等,主要优点是协议简单,易于加密,但由于其需要维护大量的 PPP会话连接状态,故其传输效率和系统的扩展均受到影响,但在少量VPN连接的应该用案例中,采用这种方式比较灵活,如本文阐述的案例中用拨号的方式即使用了PPTP。第三层隧道协议对应OSI模型中的网络层,使用包作为数据交换单位,主要有GRE(General Routing Encapsulation,通用路由封装)以及IPSec等,第三层隧道不需要像第二层隧道协议那样维护大量的 ppp会话连接,因此其可靠性及扩展性方面要优于第二层隧道。
另外是在网络是的什么层次上实现IP隧道的问题。目前较多的是IP协议实现IP隧道,但也有用UDP等协议来实现IP隧道的,如L2TP。对于IP隧道来说,当在隧道的开启处封装及在隧道中止处还原装配数据报时,进行包的过滤、检查非常方便,所以VPN网关通过“过滤型”隧道可直接融人“包过滤”防火墙机制,进一步增强了VPN的安全性。[1]
如图所示,非限制区内的终端能够通过认证、授权、记账(AAA,Authentication, Authorization and Accounting)系统来访问 Internet,而在限制区内的终端,用同样的帐户登录认证服务器时,服务器提醒“非法 IP”,“此用户不允许在此IP上登录”等信息。而限制区域的终端能够通过路由网络访问非限制区域的终端,也即是说,限制区与非限制区内的网络是能相互ping通的。
有了以上的前提条件,如何能让限制区的 IP“变成”合法IP呢,通俗的讲,就是如何让终端A获得非限制区域的网段的IP地址,并且能够用此获得的IP地址如同局域网一般访问非限制区域的IP终端。运用VPN技术可以简洁方便的实现。我们在非限制区的一台服务器 B上安装并启用VPN拨入服务,通常Microsoft Windows server就可以胜任,本文的实践就是以windows server2003实现。下面简明扼要的介绍实现过程中的几个主要环节。
第一,服务器端
首先开启路由与远程访问服务:进入“开始”—“程序”—“管理工具”—“路由和远程访问”,打开“路由和远程访问”窗口,右击本地计算机名,选择“配置并启用路由和远程访问”,在弹出的“路由和远程访问服务器安装向导”中点下一步,如果服务器是单网卡,只能选择“自定义配置”选项,下一步,勾选“VPN访问”选项,点下一步,在弹的对话框中点“完成”,系统会提示是否启动服务,点击“是”,系统会按刚才的配置启动路由和远程访问服务。[2]
设置客户端IP地址:右击本地服务器名,选择“属性”并切换到IP选项卡,如果内网有DHCP Server则可用默认设置,否则点选“静态地址池”点“添加”,根据需要接入数量添加若干地址范围,但要避免和本地已用IP地址冲突;如果非限制区域的IP地址来自于本网段以外设置的DHCP服务器,可以在服务器B上启用DHCP中继,转发DHCP包到外部DHCP服务器请求地址。点“确定”回到“IP选项卡”点“确定” 应用设置。
设置远程访问策略:在“路由和远程访问”窗口,右击“远程访问策略”,选择“新建远程访问策略”,在弹出的对话框中点“下一步”,填入方便记忆的“策略名”,点“下一步”,选择“VPN”选项,点“下一步”,点“添加”把允许拨入的用户组加入到这里,就完成了远程策略的设置。
第二,VPN客户端设置
客户端设置比较简单,以Windows XP为例,打开网络连接窗口,点击“创建一个新的连接”弹出的向导点击“下一步”,选择“连接到我的工作场所的网络”点击“下一步”,选择“虚拟专用网络连接”,点“下一步”,填写好连接的名字后继续,在vpn服务器选择窗口填入服务器B的IP地址。继续默认就可以完成连接的创建。双击打开连接,输入正确的账户密码点击连接后,显示连接成功。
[1] 陈震.VPN技术及其应用的研究[J].电脑知识与技术,2009,4.
[2] 陈国耿.利用Windows Server 2003搭建VPN服务器[J].医学信息,2008,5.
TP393
A
1008-7427(2011)12-0160-01
2011-10-12