基于Linux的远程访问VPN实现

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:abc135abc
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:VPN技术提供了一种通过公用网络安全地对内部专用网络进行远程访问的连接方式,可以将企业分散在各地的网络通过现有的公共网络安全地连接起来,利用Linux可以为企业简单、安全、高效的VPN连接,本文着重给出了服务器和客户机之间VPN连接的具体配置方法。
  关键词:VPN;Linux;远程访问;服务器/客户机配置
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)09-11622-06
  
  Linux-based Remote Access VPN Implementation
  LIU Geng-biao
  (Guangdong Construction Vocational Technology Institute,Guangzhou 510450,China)
  Abstract: VPN provides a way to get safely remote access to the special-purpose network through a kind of public network. It can unit safely the networks scattering in various parts through the present public network. Making use of Linux can establish simple, safe and high-efficient VPN for enterprises. This article mainly discusses the way to connect VPN between server and customers’ computers.
  Key words: VPN;Linux;remote access
  
  1 引言
  
  随着企业规模不断扩大,分支机构不断扩展,移动办公不断增加,企业内部及企业间信息传递越来越多。如何以
  最低的费用保障通信的高效性和安全性,是企业极其关注的问题。在此背景下,VPN技术的出现,以其低通信费、高灵活性和安全性的优势赢得了越来越多的企业的青睐,是一种非常廉价、安全、灵活的远程网络接入解决方案。
  市场研究公司InfoneticsResearch发表的题为“虚拟专用网和安全服务:年度市场规模与预测”的报告称,2008年全球虚拟专用网服务的销售总收入将超过300亿美元。效率的提高、虚拟专用网提供的节省成本和整个机构范围内应用虚拟专用网的复杂性是推动虚拟专用服务收入增长的主要因素。2008年,在虚拟专用网服务收入方面大多数增长将来自亚太地区。欧洲、中东和非洲地区也将大幅增长。
  
  2 VPN的概述
  
  VPN(Virtual Private Network)中文名为“虚拟专用网”。 是指依靠ISP(Internet服务提供商)和其它NSP(网络服务提供商),在公用网络中建立一个临时的、安全的网络连接,能实现对远程网络安全访问的数据通信网络技术。它通过特殊的加密通讯协议,在公用网络中建立临时的、安全的专用数据通信隧道,对内部专用网络进行远程访问的技术。
  对于一个企业的内部网与远程分支机构的局域网来说,它们就可以通过Internet这一公用网络,建立一条经过谁和加密的安全隧道实现互联,使企业远程用户或移动用户可以随时随地通过Internet连接到企业Intranet。
  目前可以用硬件或软件来实现VPN,如具有VPN连接功能的路由器、防火墙、交换机设备或Linux、Windows 2000/2003 Server等网络操作系统。但是硬件设备配置较复杂,费用也相对较高,且需要额外的管理和安全维护,还可能出现不同厂家产品不兼容问题。利用Linux实现VPN,不需要昂贵的专用设备,节省了网络建设成本,配置及维护都比较简单,更很需要的是,Linux不需要太高的硬件成本也可以成为性能稳定、高效安全、造价低廉的VPN服务器。
  
  3 Linux中的VPN技术
  
  Linux不但可以充当VPN服务器,也可以作为VPN的客户机,假设要配置一个远程用户各企业内部网之间的VPN连接,我们可以用一台运行RedHat Linux 9.0或其它版本的Linux系统的计算机作为VPN服务器,VPN客户机则可以使用运行Windows98或以上各版本的计算机,也可以是运行Linux系统的计算机。其配置主要包括两个步骤:
  (1)VPN服务器配置,使它能够接受VPN远程接入;
  (2)VPN客户端连接的配置,使之能够拨出到VPN服务器上。
  3.1 VPN服务器配置
  建立基于PPTP的Linux VPN服务器配置,并根椐以下要求配置VPN服务器:
  (1)VPN服务器硬件环境配备了两块网卡,分别为eth0 和eth1,其中eth0连接到Internet, IP地址为192.168.1.20; eth1连接到内部网络,IP地址:192.168.2.254(手动添加)。
  (2)VPN服务器本地的地址为192.168.0.254。
  (3)分配给VPN 客户机的地址段为192.168.2.1-254。
  (4)建立一个名为gdcvi, 口令为gdcvi的VPN拨号账户。
  具体步骤:
  (1)访问http://prdownloads.sourceforge.net/poptop/下载dkms-2.0.5-1.noarch.rpm、Kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm、libpcap-0.7.2-1.i386.rpm、ppp-2.4.3-4.rhel3.i386.rpm和pptpd-1.2.3-1.i386.rpm(pptpd服务软件)四个安装包(假设将它们保存在/mnt/vpn 目录下)。以root账户登录系统,进入安装目录/mnt/vpn使用相关命令进行安装和升级VPN。
  (2)使用命令vi/etc/pptpd.conf打开PPTP服务器的主要配置文件,然后在文件末尾添加下列语句:
  Localip 192.168.0.254#定义服务器上的IP(也就是连上后的ppp0的ip),服务器VPN虚拟接口将分配的IP地址
   #不能是本地IP,不然会引起IP冲突,这里其实只要随便设置一个不相冲突的IP,即
  remoteip192.168.2.1-254#定义客户端的IP,客户端VPN连接成功后将分配的IP。
  注意:为了安全性起见,localip和remoteip尽量不要同一个网段。您也可以单独指定某个地址或者多段地址,用逗号隔开。
  (3)使用命令vi/etc/ppp/chap-secrets打开账号文件,然后在文件末尾添加下列语句(图1)。
  
  上面代码中“gdcvi”是Client端的VPN用户名;“server”对应的是VPN服务器的名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,或者设置成“*”号来表示自动识别服务器;“secret”对应的是登录密码;“IP addresses”对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为“*”号。
  (4)使用命令查看pptpd服务进程、端口和接口,使用netstat命令检查pptpd运行的端口,使用ifconfig命令查看ppp0接口(图2)。
  
  看到多了一个网络连接,IP为:192.168.2.1,正是前是配置文件里设置的远程IP,这样这台windows的客户端成功连上了这个VPN服务器。
  注意:
  (1)当VPN拨号失败时,用户应该检查网络连接是否通畅,客户机是否已经连接到VPN 服务器上,用户名、密码是否正确。
  (2)当VPN连接断线时,再次进行拨号,出现错误提示时,用户可稍等2~3分钟再拨号,因为PPTPD VPN服务器有较长的反应处理时间(一个BUG)。
  (3)如果个人电脑上有个人防火墙,必须开放端口1723、1788或关闭掉防火墙,停止保护功能,否则不能正常进行VPN拨号连接与访问。
  (4)VPN端口:1723,此外还有一个[color=red]GRE[/color],协议名称非TCP、UDP、ICMP!这是VPN的主要传输协议,所以要配置防火墙,一定要开这个。
  3.2 Linux VPN 的客户机如何访问Linux VPN的服务器
  (1)安装基础软件包libglade和libglade-devel
  libglade和libglade-devel是一个用于GTK /GNOME程序。从xxx.glade文件自动生成程序界面或界面中的一部分的库。
  (2)安装DKMS 模块软件包
  DKMS(Dynamic Kernel Module Support)动态内核模块支持。旨在创建一个内核相关模块源可驻留的框架,以便在升级内核时可以很容易地重建模块。这将允许 Linux 供应商提供较低版本的驱动程序,而无需等待新内核版本发行,同时还可以省去尝试重新编译新内核模块的客户预期要完成的工作。DKMS工作原理见图4。
  
  
  这里我们选择需要微软点对点加密。
  多出一个选项即:Refuse to Authenticate with EAP(refuse-eap)拒绝EAP认证。Linux下要用VPN会用到ppp,但似乎很难与Windows作为服务器的VPN服务器沟通:先看看如何显示调试信息,这对找出问题的出处很有帮助。
  在/etc/ppp/options.pptp里加入debug dump logfd 2 nodetach,如果有“Unsupported protocol rcvd [proto=xxxx]”这样的错误,那么需要在options.pptp里加入这一句refuse-eap。
  Miscellaneous(杂项)选项:Miscellaneous标签可配置一些调试信息和连接状态。
  选项卡是我们的最后一个选项卡。如图8。
  说明:
  Start tunnel when this program starts:自动启动VPN隧道。
  Enable contion debugging facilities:显示连接信息。
  Reconnect if disconnected:自动重复连接。
  (8)所有选项完成后点击“Add”按钮,系统会自动连接PPTP VPN。此时屏幕会出现一个连接状态界面如图9。
  
  
  其中ppp0是Linux客户端连接PPTP VPN服务器的接口。
  下面我们使用连接状态界面的Ping按钮测试连接状况,如图11。
  (9)连接成功后就可与服务器通信了,但如果要有其它子网通信,就要增加路由信息。本例中如要和192.168.2.0子网通信可这样写:
  # route add -net 192.168.2.0 netmask 255.255.255.0 dev ppp0
  (10)访问内部资源。由于在VPN服务器上使用了命令“echo "1" >/proc/sys/net/ipv4/ip_forward”打开了Linux内核的路由功能,因此客户端可以像在内部网络里一样直接访问各种资源。操作方法和普通局域网完全一样,相互之间可以通过“网上邻居”,或者直接在窗口地址栏中输入“\\对方IP地址”等式逻辑方式来访问共享的软硬资源。
  
  4 结束语
  
  VPN技术有很多优势,应用前景广阔,具体实施也并不困难,利用Linux构造VPN网络,更是一个稳定、安全、高效和廉价的方案,非常适合正在发展中的中小企业和大公司在各地的分支机构,随着随着国家信息化进程的加快,特别是电子政务、电子商务的日益推广,VPN技术将会被越来越多的人所接受。
  
  参考文献
  [1] 陈国浪. VPN在Windows 2000中的实现[J]. 温州职业技术学院学报.
  [2] 王达. 虚拟专用网(VPN)精解[M]. 清华大学出版社.
  [3] http://tech.sina.com.cn/i/w/2004-08-06/0824399306.shtml. 调查:08年全球VPN市场规模将达300亿美元.
其他文献
摘要:C语言程序设计是信息与计算科学专业一门重要且难度很大的专业必修课。为解决C语言教学中的重点和难点,作者结合多年的教学经验,从三个方面对教学方法的改进进行了讨论,以期提高教学效果。  关键词:C语言;程序设计;教学方法  中图分类号:G642文献标识码:A文章编号:1009-3044(2008)07-11676-01    The Reform and Practice of the C Pr
教育界有一个很出名的比喻:要给学生一滴水,教师要有一桶水。“语文主题学习”研究项目提倡大量阅读,“反三归一,质从量出”,“一课一得”。因此教师必须要在课堂有限的时间里“授之以渔”而不是“授之以鱼”,这样的“得”才是最有价值的,也才是学生最需要的那滴“水”。下面,笔者就结合自己的教学实践,谈谈如何通过解读文本,找到给学生的那滴“水”。  一、文体不同,重点不同  同一种语言表达形式,在说明文、散文、
摘要:计算机辅助教学与传统的课堂教学相比,的确具有其自身的优越性,它改变了以往传统电教手段相对呆板的教学方式,在文字、图形的基础上增加了图象,动画、声音、影像等,加强了表现效果;另一方面,当前的计算机辅助教学存在着严重的问题。要解决这些问题,必须做好教学设计工作我们如果想以某一种学习理论来指导我们的教学,解决教学中的一切问题,那也是行不通的。科学的做法是,以多种学习理论为指导,吸收其长处,克服其不
摘要:该文介绍了利用VB设计简单适用的超文本功能时热链功能的设计与实现方法。  关键词:超文本;Visual Basic;热链  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)36-2655-03  Designing and Achieving Hotlink of hypertext System in VB  FAN Xian-mei  (Technique
摘要:J2ME作为Java技术专为消费嵌入式系统定制的版本,其稳定性、跨平台性、安全性、扩展性使得成为移动通讯设备上主流开发平台,基于J2ME的应用开发成为热点。该文介绍了笔者参与开发的一个基于J2ME的手机智力游戏的设计与开发。是对手机上基于J2ME的开发的一次有效探索。经过试验证明,程序在大多数手机上运行良好。  关键词:J2ME;手机智力游戏;嵌入式;游戏框架  中图分类号:TP311文献标
摘要:随着国内ERP市场的逐渐成熟, 随着ERP产品价格的日益下降,越来越多的企业开始将ERP软件运用于日常的企业事务。但是针对这些ERP系统软件的外部入侵者的攻击和损害和来自内部用户的恶意攻击、欺诈和系统滥用的机会也在呈指数级的增长,这样导致了企业即便是成功的实施了ERP系统,但在用户的使用反应速度上却极其缓慢,系统安全不堪一击。本文为此具体探讨企业ERP系统软件的安全隐患与防范措施。  关键词
摘要:随着手机等便携式设备在生活中普及,如何使设备耗电量更小、使用时间更长就成为一个迫切需要解决的问题。本文首先对PM(电源管理)简单介绍,列出三种电源状态,并指出在电源管理起决定作用的是用户操作;其次,给出PM APIs一系列函数,并对函数的作用作了说明。最后,谈了对电源管理的一些看法。  关键词:Windows CE;PM  中图分类号:TP303 文献标识码:A文章编号:1009-3044(
摘要:语文教育之于体育是一种无形的能动作用,在潜移默化之中影响着体育事业的发展,对于体育人才的培养更是起着一种指导性的作用。对于体育意义的理解,没有语文作为基底怎能领悟其中真义。体育人才培养出来后,重要的不仅是这个“人才”能取得多大的成绩,而是这个“人才”是否能找到其继承者。  关键字:语文教育 体育人才 思想教育 文化传承  常理下认为,语文教育与体育似乎有着风马牛不相及的关系。其实不然!语文教
摘要:高职计算机教学中要选择最适合高职学生的教学方法,激发学生学习的兴趣,培养学生自主学习能力,提高学生分析问题、解决问题能力,培养学生的职业技术能力和创新能力。  关键词:高职教育;计算机教学;教学方法  中图分类号:G424文献标识码:A文章编号:1009-3044(2008)20-30293-01    Study the Computer Teaching Method in Higher
摘要:该文对从减少磁盘空间占用、终止不常用的系统服务、安全问题、以及其它一些技巧四个方面优化WINXP系统进行了研究,特别是对优化WINXP的瘦身计划、加速计划、终止不常用的系统服务等做了详细的论述,并详述了其具体实现步骤,让WINXP变得更苗条、速度更快,使用更便捷。  关键词:优化;WINXP;瘦身计划;加速计划;终止不常用的系统服务  中图分类号:TP316文献标识码:A文章编号:1009-