用OpenVPN构建高效安全的VPN

来源 :中小学信息技术教育 | 被引量 : 0次 | 上传用户:mengshenabc
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在构建VPN时,我们经常会遇到这样的困惑:配置简单的VPN往往不太安全(如PPTP);配置安全的VPN往往过于复杂(如IPSec),而且基于IPSec的VPN无法很好地解决NAT的穿透问题。但是用OpenVPN就能构建既安全又高效的VPN,从而解决以上问题。
  OpenVPN是一套全功能的SSL VPN解决方案,它包含多种配置应用,包括远程访问、站对站虚拟私网、WiFi安全,以及负载均衡、容错性好的企业级远程访问方案。它具有跨平台的可移植性、良好的稳定性、成千上万个客户端支持的可伸展性、支持动态IP地址及NAT等主要特征。
  本文介绍一个应用开放源码软件OpenVPN构建基于SSL/TLS的校园VPN案例。客户端将通过校园服务端的防火墙,穿透NAT,建立基于TLS认证方式的VPN。该案例在我校的校园网中应用,稳定性很好。
  
  一、软件环境
  
  VPN服务端采用Windows2003 Server OpenVPN for Windows 2000/XP and higher。客户端采用WindowsXP-SP2 OpenVPN for Windows 2000/XP and higher。
  
  二、网络环境
  
  VPN Server→Firewall→Internet→ADSL→Client,即服务端的VPN服务器通过一台防火墙连接到因特网,客户端多采用ADSL方式上网。
  服务端主要网络设备IP分配情况:防火墙的对外网卡(eth0)IP为61.1.1.1(公网地址),对内的网卡(eth1)IP为192.168.10.1/24。VPN服务器上有一块物理网卡,IP为192.168.10.2/24。
  
  三、安装OpenVPN for Windows 2000/XP and higher
  
  OpenVPN for Windows 2000/XP and higher 安装包下载地址是http://openvpn.net/download.html。服务端和客户端安装使用相同的软件包。
  在服务端按默认方式安装OpenVPN,安装系统会自动创建一个名为TAP-Win32 Adapter V8的虚拟网络设备,安装完成后可以在C:\Program Files\OpenVPN看到以下几个目录:bin (放置OpenVPN的主程序)、config(放置配置文件)、driver(放置设备驱动文件)、easy-rsa(放置快速生成密钥的批处理文件)、log (放置Server的日志文件)、sample-config(放置配置文件模板)。
  
  四、配置VPN Server
  
  在命令提示符下进入C:\Program Files\OpenVPN\easy-rsa目录,以下操作如没有特别说明均在此目录中进行。
  
  (一)进行初始化
  1.运行init-config.bat。
  2.修改vars文件,为了缩小篇幅,只保留了实际修改部分。
  set KEY_COUNTRY= CN #定义你所在的国家,2个字符
  set KEY_PROVINCE=JX #定义你所在的省份
  set KEY_CITY=DAYU #定义你所在的城市
  set KEY_ORG=DYZX #定义你所在的组织
  set KEY_EMAIL=jxlibin@163.com #定义你的邮件地址
  
  (二) 生成CA和Cert/Key
  1.创建CA的公钥和私钥
  (1)运行vars,使上述修改的变量生效。
  (2)运行clean-all,初始化Keys目录,创建Keys目录和所需要的文件。
  (3)运行build-ca,生成Root CA证书,用于签发Server和Client证书。
  完成以上步骤后系统会在keys目录中创建ca.crt、ca.key、index.txt、serial四个文件。
  2.建立Diffie Hellman文件
  执行build-dh,生成TLS server需要使用的文件dh1024.pem。
  3.创建Server端的cert和key文件
  执行build-key-server server,server为创建后的文件名,分别为server.crt、server.key。
  4.创建Client端的cert和key文件
  执行build-key client,为其他Client颁发证书,签发新证书直接使用build-key命令。
  以上生成的密钥文件均放在Keys目录中。将ca.crt、server.crt、server.key、dh1024.pem四个文件从Keys目录拷贝到Server的C:\Program Files\OpenVPN \config目录中。
  
  (三)写Server端配置文件server.ovpn
  详细配置请查看文件C:\Program Files\OpenVPN \ sample-config\ server.ovpn,以下为本案例server.ovpn文件关键配置项。
  port 5000 #申明使用的端口
  proto udp #申明使用的协议,默认使用UDP。
  dev tap #申明使用的设备,可选tap或tun。tap是第二层设备,支持链路层协议;tun是Ip层的点对点协议。
  ca ca.crt #申明使用的ROOT CA
  cert server.crt #申明Server使用的证书文件
  key server.key #申明Server使用的证书对应的key
  dh dh1024.pem #申明使用的Diffie-Hellman文件
  server 192.168.0.0 255.255.255.0 #设置server模式,192.168.0.1自动分配给VPN Server,VPN客户可动态获取其他地址。
  push "route 192.168.10.0 255.255.255.0" #通过VPN Server往Client push路由
  把配置的电子文件Server.ovpn保存到C:\Program Files\OpenVPN\config 目录中。
  
  五、配置VPN Client
  
  在客户端同样按默认方式安装OpenVPN,把在VPN服务器中生成的ca.crt、client.crt、client.key三个文件一并拷贝到客户机的C:\Program Files\OpenVPN\config 目录中。
  写客户端配置文件client.ovpn,以下是本案例client.ovpn文件关键配置项。
  client #申明是一个client
  dev tap #申明使用的设备
  proto udp #申明使用的协议
  remote 61.1.1.1 5000 #设置远程Server的IP地址和端口
  ca ca.crt #申明使用的ROOT CA
  cert client.crt #申明Client使用的证书文件
  key client.key #申明Client使用的证书对应的key
  把配置文件client.ovpn保存到C:\Program Files\OpenVPN\config 目录中。
  
  六、设置Firewall和NAT
  
  1.在服务端防火墙上开启外网IP(61.1.1.1)的 UDP 端口5000。
  2.把防火墙外网IP(61.1.1.1)、UDP端口5000映射到VPN服务器IP(192.168.10.2)、UDP端口5000。
  
  七、调试网络
  
  为了提高调试的效率,可以先在服务端进行本地调试,待本地调试成功后再到远程客户端进行远程调试。注意:启动OpenVPN 服务之前要先启动VPN服务器的LAN路由服务。
  调试步骤:
  1.启动服务端OpenVPN :右击Server.ovpn,选择菜单 Start OpenVPN on this config file。
  2.启动客户端OpenVPN :右击Client.ovpn,选择菜单Start OpenVPN on this config file。
  3.启动OpenVPN时注意观察屏幕的提示信息,如果在配置文件中开启了Log选项可以查看Log文件记录。在启动过程中如果屏幕出现错误提示,请根据出错提示排错。
  4.如果服务端和客户端均启动正常,在客户端中可以Ping通192.168.0.1和192.168.10.2 两个地址。如果前一个地址Ping不通,说明VPN隧道没有建立,请仔细对照本文,逐一对照排查故障。如果后一个地址Ping不通,则是客户端的路由问题,请检查Server.ovpn配置项push "route 192.168.10.0 255.255.255.0"是否开启。
  
  八、设置自动启动OpenVPN服务
  
  在VPN调试成功后,为了省去手工运行OpenVPN的麻烦,可以在VPN服务端和VPN客户端设置自动启动OpenVPN Service。设置方法是依次打开Windows 2003和XP的管理工具→服务→OpenVPN Service服务属性,在“启动类型”栏选择“自动”,确定后退出。以后系统每次启动时将自动调用配置文件启动OpenVPN服务。
  至此,基于点对多点的OpenVPN配置及调试完成。OpenVPN也可以实现基于点对点的VPN,如应用在教育城域网中,有条件的读者可以自己试一试。
  
  (作者单位:江西大余中学)
其他文献
在Office中,将Word中控件(或数组)的数据送到Excel指定行、列的单元格(或区域)中,保存Excel文档,然后进行数据的汇总统计,是经常采用的方法。其基本步骤如下。  1.定义和创建用于接受Word文档中各控件(或数组)值的Excel工作表“对象”,并将其“隐藏”(即保留在内存中而不在屏幕上显示出来)。其典型语句如下。  Dim ExcelSheet As Object   Set Ex
坛主发帖:    近年来,教师普遍反映信息技术课不好教,不知道如何教。这当中有教材和教学内容安排的原因,可更为重要的是教师不知道信息技术课到底该教给学生什么。是软件操作、编程的操作技巧和语言算法,是技术综合运用的技能,还是与学科整合的学习方法途径?在信息技术课程改革实施了一轮的今天,关于信息技术课程的核心价值问题再次引起广大教师的关注。    争论一:  今天,我们为什么还要讨论信息技术课程的核心
历史叙事不是历史本身。从某种意义上甚至可以说,历史只存在于人们的叙事中,我们看到的历史多是叙事中的历史,而非历史本身。如果要对“历史”下一定义,最简单的莫过于“发生在过去的事”,但法国哲学家雷蒙·阿隆提醒人们注意,当“过去的事”被提及之时,提及本身已经包含了提及者的“先见”。尽管我们可以自我标榜为“不预设立场”,但事实上,内在的立场仍然支配着我们对“发生在过去的事”的选择与解释。故“阿隆认为,只是
一、教材分析    这是浙教版《多媒体技术应用》教材Flash部分第四课时的一节新授课。这节课概念性和理论性的知识并不多但非常重要,且在所有Flash课时中学习起来最困难。为了进一步巩固移动动画和变形动画的基本操作,《浙江省普通高中新课程实验学科教学指导意见》将文字动画和图片素材制作动画都归在这一课时内完成,课堂时间不很充分。笔者在这一课时只讲解了文字淡入淡出效果的设置和图层的建立,主要知识点是元
教师在教学与教研工作中,经常需要组织问卷调查活动。传统的纸质问卷法费时也容易统计出错。为提高效率,后来产生了交互网页的调查方法,但后者要求教师具备教学服务器,并且在面对大批量非注册用户的调查时力不从心,常出现同一人多次回答同一问卷和对问卷中各个问题的回答人数不一致等情况,降低了调查结果的可信度。为有效解决上述问题,笔者以“有关Word编写教学文档的若干问题质疑”中的14个自查问题为例,采用广大读者
每年的教师节对于广大教师来说,都是具有特殊意义的节日。因此,每年的教师节庆祝活动也都会办得很隆重,让教师尽情享受作为教师的荣耀和快乐。对于大兴的教师来说,今年的这份快乐又别添一番趣味。因为通过教师研修网上的网络直播,以往只有少数教师能现场参与的教师节庆祝活动,变成了所有教师的“全民盛宴”。而这一切,都要归功于教师研修网的所有工作人员在幕后的默默付出。  教师节后的第二天,我们来到大兴区教师进修学校
新冠病毒来势汹汹,数以万计的白衣勇士打围鄂地,十四亿国民宅家抗疫。  唐人也曾饱受瘟疫疾病威胁,常用巫医并重的形式,药物辅以巫术与心术以驱除疾病。这显然是受制于那个时代的医疗科学水平和社会观念,反映了古人的陰阳灾异观与民间信仰,而在现代医学看来不免愚昧可笑。然唐诗里承载着先民战胜瘟疫的美好祈愿与坚定信心,并告诉读者学会敬畏自然,人与自然和谐共生的道理。  韩愈饱受疟疾之苦后,写成《遣疟鬼》诗,用一
刘泽华先生(1935—2018),河北石家庄人,中国当代著名史学家,中国政治思想史研究著名学者。1957年入读南开大学历史系,翌年即留校任教。学术建树  泽华师的研究领域包括先秦史、政治史、知识分子史、历史认识论和中国古代政治思想史,几十年来,成果丰硕。其学术建树可以概括为三个方面。  其一,著述等身。中国政治思想史研究自1952年全国高校院系调整以后基本停滞。20世纪80年代改革开放后,中国政治
1927年6月2日,民国大家王国维于颐和园鱼藻轩自沉昆明湖。作为生前至交,陈寅恪怀着浓浓的哀思,写下了为世人传诵的《王观堂先生挽词并序》,其中言道:  近人有东西文化之说,其区域划分之当否,固不必论,即所谓异同优劣,亦姑不具言;然而可得一假定之义焉。其义曰:凡一种文化值衰落之时,为此文化所化之人,必感苦痛,其表现此文化之程量愈宏,则其受之苦痛愈甚;迨既达极深之度,殆非出于自杀无以求一己之心安而义尽
目前,一种与传统讲故事手法相结合,以多媒体技术为载体,以网络为发布平台的个人数字化多媒体作品创作开始流行起来,这就是数字故事。ZineMaker是一款将音频、视频、动画等各种多媒体展示方式结合到一起的电子杂志制作软件,本文探讨了利用Zinemaker创作数字故事的过程,并给出了数字故事在教育中应用的建议。    一、数字故事的发展现状    数字故事是近年来国外比较流行的一种个人多媒体故事叙述方式