基于Linux经济安全的校园网VPN系统的实现林少丹1(福建交通职业技术学院福建福州350007)摘要:使用双网卡搭建基于LINUX的VPN系统,在实现VPN系统的同时可以为学校节省大量的开支。使用linux系统自带IPTBALES防火墙对系统的访问进行有效的安全控制,从而实现安全的网络通信。关键词:校园网;虚拟专用网络;LINUX;双网卡;IPTABLESTheRealizationOfTheEconomicalAndSafeCampusVPNSystemBasedOnLinuxLINShaoDan1(FujianCommunicationTechnologyCollegeFujianFuzhou350007)AbstractUseddual-cardbuilttheVPNsystembasedontheLINUXcouldachieveVPNsystem,andalsocouldsavealotofexpensesforschools.theVPNsystembasedontheLINUXwasconstructedandappliedIPTBALESfirewalltotheaccessonVPNsystemforeffectivesecuritycontrolcouldachievesecuritynetworkcommunications.Keywordscampusnetwork,virtualprivatenetworks;LINUX;dual-card;IPTABLESVPN(虚拟专用网络)可看成是一个构建在公共网络基础设施上的,同时具有安全特性的网络或网络环境,也可以理解为一种公共网络中隔离出来的安全网络。用户可以通过ISP提供的各种Internet接入VPN服务,可以方便建立物理连接。VPN技术的核心内容主要包括:配置管理技术、隧道技术、协议封装技术和密码技术。以上这些技术构成一个安全可靠的专用网络[1]。目前大部分校园网的内部办公系统或内部PC及服务器,外网用户无法直接访问。如:住在校外的人员,出差在外的人员等无法访问一些没有向外网开放的网络资源。当然,这些网络资源没有对外开放的原因主要出于网络安全方面的考虑。如果没有一种安全实用的远程接入技术,那么将给在外的内部人员带来很多不便。那么搭建VPN系统是解决以上问题的一种比较合适的方法。VPN系统可以提供一个安全可靠的接入方式,通过VPN系统为客户机分配一个内网IP,这样用户便可以在外网方便地访问内网的网络资源。也就解决了上述我们在外网遇到的不能访问内网资源的问题。因此实施VPN技术在校园网建设中是十分的必要的。1搭建基于Linux的VPN系统1.1硬件环境的搭建在一台普通的服务器上安装一个RedHat企业版Linux。可以选择一台普通的pc,也可以选择一台性能比较好的服务器作为操作系统载体。选择操作系统硬件载体取决于VPN系统支持接入用户的数量。如果想支持越多的用户同时接入,那么在排除网络接入带宽的因素外我们则要重点考虑VPN服务器的性能。这点处理不当,可能造成是VPN网络服务的一个瓶颈。为了降低实现VPN系统的复杂程度并实现路由功能,我们可以选择安装双网卡的技术措施[2]。即一张网卡面向外网接入,另一张网卡实现内网连接。双网卡安装及配置的关键点是把Linux缺省的网关指到外网所在的网卡上,这点则是关系到系统能否运行成功的关键所在。网卡IP及网关的设定如表1所示。表1双网卡IP分配表内网(eth0)IP:211.80.233.99GATEWAY:211.80.233.1外网(eth1)IP:218.5.5.6GATEWAY:218.5.5.254配置步骤:(1)先安装好第一块网卡,默认为eth0,插上内网线,一般不会有什么问题。(2)插上第二块网卡,开机检测,允许对第二块网卡进行配置。(3)netconf(4)在HostNameandIPneworkdevices设置好两块网卡的IP和netmask等信息,然后Accept。(5)在Nameserverspecification(DNS)中设置eth1的DNS,这里为202.101.98.55(6)在Routingandgateways中设置default选项的缺省网关为eth1的网关,这里为218.5.5.254,(7)系统默认路由要设成外网接口地址。(routeadddefaultgw218.5.5.254)并将Enablerouting选中。1.2软件环境的实现为了让RedHat企业版Linux支持PPTP协议和微软点对点加密MPPE(由于客户端大多为微软的操作系统)要对系统内核打补丁、升级自带的PPP程序、安装PPTP和MPPE软件包。VPN服务所需软件安装包如表2所示。表2安装包及其功能说明表软件安装包说明dkms-2.0.5-1.noarch.rpm动态内核模块支持kernel_ppp_mppe-0.0.5-2dkms.noarch.rpmMPPE加密协议的内核补丁ppp-2.4.3-5.rhel4.i386.rpm升级PPP到2.4.3版本,以支持MPPE加密协议pptpd-1.3.0-0.i386.rpmPPTP点对点隧道协议1.2.1安装VPN服务器根据表2中软件安装包的信息,说明VPN服务器的软件都是RPM安装包,因此安装起来比较方便,可以使用下面的命令安装和升级。rpm–ivhdkms-2.0.5-1.noarch.rpmrpm–ivhkernel_ppp_mppe-0.0.5-2dkms.noarch.rpmrpm–Uvhppp-2.4.3-5.rhel4.i386.rpmrpm–ivhpptpd-1.3.0-0.i386.rpm1.2.2配置VPN服务器通过修改/etc/pptpd.conf和/etc/ppp/chap-secrets文件来配置VPN服务器的运行参数[3]。这里要注意的一点是:每一次修改配置文件的配置后,都需要重新启动PPTP服务后才能使新的配置生效。(1)配置主配置文件PPTP服务的主配置文件是/etc/pptpd.conf[3]。进入该文件,首先设置VPN服务器的本地地址。localip选项定义了VPN服务器本地的地址,客户机在拨号后VPN服务器会自动建立一个PPP0网络接口供客户机使用。接着配置给客户机的地址段。remoteip选项定义了分配给VPN客户机的地址段,当VPN客户机拨号到VPN服务器后,服务器从这个地址段中分配一个IP地址给VPN客户机,以便客户机能访问内网。可以用“-”符号表示连续的地址,用“,”符号隔开不连续的地址。(2)配置账号文件账号文件/etc/ppp/chap-secrets保存了VPN客户机拨入时所使用的账户名、口令和分配的IP地址,该文件中每个账户的信息为一行,如表3所示。表3系统帐号口令分配表账户名服务口令分配该账户的IPtest1pptptest1192.168.1.3test2pptptest2*表3中分配给test2账户的ip地址参数为”*”,它表示VPN客户机IP地址由PPTP服务随机在地址段中选择。1.2.3操作VPN服务(1)启动VPN服务命令:servicepptpdstart(2)停止VPN服务命令:servicepptpdstop(3)重新启动VPN服务命令:servicepptpdrestart(4)自动启动VPN服务如果需要让VPN服务随系统启动而自动加载,可以执行命令:chkconfigpptpon1.3配置linux内核路由通常,在校园网内部存在着多个不同的网段。为了能让VPN客户机与内部网络的各个网段互连,还应打开Linux内核的路由功能以及配置相应静态路由,否则VPN客户机只能访问VPN服务器内部网卡所在的网段。(1)修改内核路由参数echo1/proc/sys/net/ipv4/ip_forward如果要永久修改内核路由参数则可以:vi/etc/sysctl.conf后加入net.ipv4.ip_forward=1(2)添加静态路由使用静态路由,可以使VPN客户机通过所在内部网段访问其他内部网段的网络资源。通常内网存在有多少个网段就添加多少条静态路由。添加静态路由尽量把路由添加到路由配置文件,这样在重新启动操作系统后,静态路由不会丢失。通过vi/etc/rc.d/rc.local,在rc.local文件的最后一行添加一条静态路由,命令格式如:routeadd–net“内网网段网络地址”netmask255.255.255.0“内网网卡名”2VPN系统的安全性实施由于VPN系统是基于Linux的,因此从系统安全性考虑我们可以开启Linux服务器的iptables防火墙功能。但是,要想能让客户机通过防火墙访问VPN服务,必须在iptables防火墙上开启VPN服务相应端口[3]。PPTP服务使用TCP协议的1723端口和编号为47的IP协议(GRE常规路由封装)[3]。如果Linux服务器开启防火墙功能,就需设置允许TCP协议的1723端口和编号为47的IP协议通过,可以使用以下命令开放TCP协议的1723端口和编号为47的IP协议。iptables-IINPUT-ptcp--dport1723-jACCEPT[4]iptables-IINPUT-pgre-jACCEPT[4]系统所处网络结构如图1所示:图1系统网络拓扑结构图图1中的VPN/Client表示为外网VPN用户所在。内外网边界上放有Router(路由器)和VpnServer。这里的内网包含管理中心、安全子网1、安全子网2。安全子网2则是DMZ(非军事区)所在,vpnserver在DMZ前添加了一道安全屏障[5]。从而使未授权的外网普通用户通过Router访问内网允许向外网开放的资源,让vpn/Client通过vpnserver验证并授权后访问到内网资源。3VPN技术的经济实用性目前VPN技术凭借其特有的灵活性、安全性、经济性和扩展性等,已成为企业、院校等主流的远程访问方式之一。VPN技术的最大优点在于利用了Internet这个廉价的公共网络平台安全地传输信息,大大降低了建设专用网络连接所需的高昂线路租用费用,同时使得网络可以无限延伸到地球的每个角落[5]。VPN除了降低了高昂线路租用费用以外,VPN所依附的Linux操作系统的一个主要特点是其完全免费的特点。由于Linux遵循通用公共许可证GPL,因此任何人有使用、拷贝和修改Linux的自由。VPN系统在Linux上安装自然也是免费的。目前市场上流行的一些VPN专用设备,如兼容VPN的路由器,VPN型防火墙等。这些设备的价格都比较高,大多价格都在数万或数十万以上。比起以上所述的基于Linux的VPN系统对于一个校园网来说未尝不是一种经济实用的选择。4结论(1)本文所述的VPN系统是完全免费的。(2)本VPN系统所涉及的技术关键点在于采用了双网卡来实现内外网的数据交换,并开启了linux操作系统的路由功能以及添加了必要的静态路由。(3)本VPN系统属于轻量级VPN系统,特别适合为节约资金又渴望实现VPN服务的企业或高校。(4)该类型VPN系统存在着需要改进的方面。譬如:它从配置管理以及系统管理上还比较原始,需要靠熟悉LINUX网络操作系统的管理员来操作配置文件。这样使得VPN系统中如:用户开户,IP段地址配置,路由设置等系统及配置管理十分不便。如果可以制作一个基于后台数据库有着图形化操作界面的VPN管理系统,那么这样的VPN系统将更加实用。参考文献[1]林柏钢.网络与信息安全教程.机械工业出版社,2005[2]邵闻珠,徐燕,周淑萍.基于Linux校园网双出口的实现.计算机工程与设计,2006,11(3):2010-2013[3]林慧琛,刘殊,尤国君.RedHatLinux服务器配置与应用.人民邮电出版社,2006[4]袁海燕.基于Linux的经济安全VPN在校园网中的研究与应用.科技广场,2006,3(2):84-85[5]刘杰.构建基于Linux服务器的网络安全平台.信