版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OpenVPN下载、安装、配置及使用详解————————————————————————————————作者:————————————————————————————————日期:ﻩOpenVPN下载、安装、配置及使用详解OpenVPN简介OpenVPN是一个用于创建虚拟专用网络(VirtualPrivateNetwork)加密通道的免费开源软件。使用OpenVPN可以方便地在家庭、办公场所、住宿酒店等不同网络访问场所之间搭建类似于局域网的专用网络通道。OpenVPN使用方便,运行性能优秀,支持Solaris、Linux2.2+(Linux2.2+表示Linux2.2及以上版本,下同)、OpenBSD3.0+、FreeBSD、NetBSD、MacOSX、Android和Windows2000+的操作系统,并且采用了高强度的数据加密,再加上其开源免费的特性,使得OpenVPN成为中小型企业及个人的VPN首选产品。使用OpenVPN配合特定的代理服务器,可用于访问Youtube、FaceBook、Twitter等受限网站,也可用于突破公司的网络限制。由于OpenVPN支持UDP协议,还可以配合HTTP代理(HTTPProxy)使用,使得只要是能够打开网站或上QQ的地方,就可以访问外部的任何网站或其他网络资源。OpenVPN的官方最新版本是OpenVPN2.3.0(发布于2013年01月08日),你可以点击此处查看HYPERLINK"http://www.365mini.com/page/15.htm"OpenVPN2.3.0的更新日志内容。OpenVPN下载你可以点击下列链接直接从360云盘下载OpenVPN2.3.0的官方正式版Windows安装文件(特别值得注意的是:由于Windows自身的限制,Windows版本的OpenVPN只有具备管理员权限的用户才能成功安装。当前最新版本的OpenVPN2.3.0
只能在WindowsXP及以上版本的操作系统上安装)。HYPERLINK"http://www.softown.cn/soft/openvpn/windows/2.3.0-32bit"OpenVPN2.3.0Windows32位安装文件(1.6MB)HYPERLINK"http://www.softown.cn/soft/openvpn/windows/2.3.0-64bit"OpenVPN2.3.0Windows64位安装文件(1.6MB)OpenVPN安装在这里笔者以同一个局域网内的两台电脑A(IP:192.168.0.2,操作系统:Windows7SP164位旗舰版)和B(IP:192.168.0.3,操作系统:WindowsXPSP332位专业版)为例,将电脑A作为VPN服务器、电脑B作为VPN客户端,进行安装、配置、连通测试。在这里,笔者将统一安装OpenVPN2.3.0Windows32位版本的安装文件。在安装之前,先给读者们介绍一下OpenVPN的大致工作原理,以便于更好地理解后面的安装和使用操作。在OpenVPN中,服务器端和客户端使用的是同一个安装文件,安装方法也是一样的,只是配置方法不一样。其主要区别是,在安装目录的config文件夹下,服务器端配置的文件叫做server.ovpn,客户端配置的文件叫做client.ovpn,当然,配置文件中的内容也不相同。OpenVPN通过不同的设置来决定该程序是充当服务器端还是客户端。OpenVPN的大致工作原理就是在服务器端和客户端之间搭建一个独立于当前网络环境的加密通道,将服务器端和多个客户端组建成一个独立的虚拟局域网,从而实现服务器端和客户端、客户端和客户端之间的相互通信。例如,我们的电脑A和电脑B的局域网网段是192.168.0.*,OpenVPN可以在它们之间搭建一个独立的虚拟局域网,并且网段配置为10.0.0.*(网段可以由用户随意配置,只要不和它们自身的网段192.168.0.*冲突即可)。此时:电脑A在本地局域网中的IP地址是1,在虚拟局域网中的IP地址是;
电脑B在本地局域网中的IP地址是192.168.0.3,在虚拟局域网中的IP地址是10.0.0.6(笔者的OpenVPN客户端的IP地址设置为由服务器自动分配)。电脑B可以通过IP地址192.168.0.1访问电脑A,也可以通过IP地址10.0.0.1访问电脑A。虚拟局域网是独立存在的,不会和本地其他网络之间形成干扰,不过虚拟局域网之间的相互访问和操作方式与本地局域网的几乎完全相同。当然,笔者这里由于条件限制,电脑A和电脑B本身就在同一个局域网中,并且可以互相访问。可是在一些情况下,多台计算机不在同一个局域网内,并且它们之间无法直接互相访问,或者它们直接互相访问没有进行数据加密——不够安全,这个时候就轮到OpenVPN出马了。OpenVPN在安装的时候会在电脑上安装一个虚拟网卡驱动,并在网络连接里创建一个本地连接的图标(下图的【本地连接2】)。OpenVPN就是靠它来搭建虚拟局域网的。接下来,我们正式开始安装OpenVPN,在电脑A和电脑B上分别双击安装程序进行安装(安装方式完全一致)。在安装的时候,必须注意的是:在OpenVPN2.3.0中,默认是不安装easy-rsa(一个加密证书生成程序)的,因此,我们必须手动勾选如下图所示的两个选项(在OpenVPN2.2中是默认选中的)。然后一路Next(如果询问是否安装TAP-Win32驱动程序时,请选择“仍然继续”),就安装成功了。OpenVPN的配置OpenVPN的配置工作主要分为如下两步:第一步,创建加密证书和私钥,其中包括服务器端和客户端都要用到的核心CA证书和私钥,服务器端自身的加密证书(即公钥)和私钥,以及每个客户端对应的加密证书和私钥。第二步,为服务器和客户端编写对应的配置文件,然后将其与第一步中生成的相应证书、私钥放在OpenVPN安装目录的config文件夹下。OpenVPN支持基于加密证书的双向认证。在OpenVPN中,不管是服务器还是客户端,所有的证书和私钥都需要由服务器端生成,客户端要先获得服务器端分配给它的加密证书和密钥才能成功连接。这与使用网上银行有些类似,大多数银行网站都会要求你先下载并安装一个数字证书,才允许你进行网上付款或其他操作。下面我们开始具体配置:第一步:创建加密证书和私钥1、修改OpenVPN服务器端的vars.bat.sample文件(客户端的无需做任何修改)。使用记事本或其他文本编辑工具打开OpenVPN安装目录\easy-rsa\vars.bat.sample文件,如下图所示:变量HOME表示easy-rsa文件夹的路径(笔者的OpenVPN服务器端安装在D:\OpenVPN)。ﻭ变量KEY_SIZE表示生成的私钥大小,一般填写为1024或2048,默认为1024位,你可以根据自己的需要进行修改,笔者这里使用默认值。由于稍后给客户端生成对应加密证书和私钥时,程序会要求我们输入一些注册信息。如果你需要配置多个客户端,并且许多信息都相同(比如国家、省市、地址、公司名称等)你还可以修改vars.bat.sample文件后面的一些相关变量的默认值,这样在稍后生成客户端证书的时候,如果该信息项不输入就会采用默认值。2、运行DOS命令,初始化执行环境。在作为服务器端的电脑A上打开DOS命令窗口,并进入到%OpenVPN的安装目录%\easy-rsa目录。笔者的服务器端安装目录是D:\OpenVPN,因此这里进入D:\OpenVPN\easy-rsa。然后依次输入并执行以下命令(括号内的是笔者附加的注释):init-config(初始化配置,将vars.bat.sample文件的内容复制到vars.bat。实际上,你也可以直接双击执行easy-rsa目录下的init-config.bat文件来代替这一步。)vars(设置相应的局部环境变量,就是我们在vars.bat.sample文件中设置的内容)clean-all(相关设置和清理工作)3、创建CA根证书:build-ca如上图所示,在build-ca的时候需要输入一些注册信息。在输入信息的时候,如果你不输入任何信息,就表示采用默认值(前面[]中的内容就是默认值);如果你输入.,则表示当前信息项留空白。值得注意的是,上图中红色矩形框中的OpenVPN_CA是证书的通用名称(CommonName),相当于我们常说的账号,你也可以自行输入其他名称。4、创建服务器端证书:build-key-serverserver如上图所示,命令中的参数server指的是生成的证书文件名称,你可以按照自己的需要进行修改,不过后面的CommonName也应保持一致。第二个红色矩形框中是输入的密码,你也可以根据意愿自行输入。最后程序会询问你是否注册并提交证书,两次均输入y即可。5、创建迪菲·赫尔曼密钥:build-dh迪菲·赫尔曼密钥交换(Diffie–Hellmankeyexchange,简称“D–H”)是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。6、创建客户端证书:build-keyclient如上图所示,命令中的参数client表示生成的证书文件名称,你可以按照自己的需要进行修改,不过后面的CommonName也应保持一致。第二个红色矩形框中是输入的密码,你也可以根据意愿自行输入。最后程序会询问你是否注册并提交证书,两次均输入y即可。如果你想创建多个不同的客户端证书,只需要重复此步骤即可。切记,CommonName不要重复,这是OpenVPN用来区分不同客户端的关键所在。7、生成ta.key:openvpn–genkey–secretkeys/ta.key(可选操作)这一步其实是可选操作,生成的ta.key主要用于防御DoS、UDP淹没等恶意攻击。命令中的第3个参数keys/ta.key表示生成的文件路径(含文件名)。
创建完证书后,我们会发现easy-rsa目录下多了一个keys文件夹。现在我们将keys文件夹中对应的文件复制到OpenVPN服务器或客户端的安装目录的config文件夹下。服务器端config目录需要的文件包括:ca.crt
ca.key(核心CA证书和私钥)ﻭdh1024.pem(如果最初的变量KEY_SIZE设为2048,这里就是dh2048.pem)ﻭserver.crt
server.key(名称server根据个人设置可能有所不同)
ta.key(名称也可自行设置,如果不需要防御攻击,可以不创建或复制此文件)客户端config目录需要的文件包括:ca.crt
client.crtﻭclient.key(名称client根据个人设置可能有所不同)
ta.key(如果服务器端具备此文件,客户端也应具备)非常重要的提醒:以上命令都是在同一个DOS窗口中执行的,如果你以后需要打开新窗口来执行命令(比如创建新的客户端证书):你不需要再执行init-config命令,除非你再次改动了vars.bat.sample文件;每一次打开新窗口时都需要先执行vars命令,后面才能执行其他命令。第二步:编写对应的配置文件上面我们已经创建了OpenVPN配置所需要的各种证书和私钥,现在我们开始为服务器和客户端编写对应的配置文件。对于一个刚刚接触OpenVPN的人来说,我们应该配置些什么呢,又该从哪里入手呢?别着急,OpenVPN已经考虑到了这一点。在OpenVPN的安装目录的sample-config文件夹中存放有3个示例模板文件:server.ovpn、client.ovpn、sample.ovpn。其中,server.ovpn是服务器的配置模板,client.ovpn是客户端的配置模板(sample.ovpn也可用作客户端配置模板,不过配置比较简单,不够全面。按照官方的说法,client.ovpn可用于连接具有多个客户端的服务器端配置文件)。现在,我们就复制server.ovpn到服务器的config目录,client.ovpn到客户端的config目录,并在此基础上进行修改。在OpenVPN的配置文件中,前面带“#”或“;”的表示注释内容。1、编辑服务器端配置文件。server.ovpn的英文注释中已经比较清楚地解释了每一个设置的作用,笔者对配置文件的英文注释作了全文翻译,你可以点击查看server.ovpn的配置内容详解,在此不再赘述,下面只提取所有用到的命令。local192.168.0.2
#指定监听的本机IP(因为有些计算机具备多个IP地址),该命令是可选的,默认监听所有IP地址。ﻭport1194
#指定监听的本机端口号ﻭprotoudp
#指定采用的传输协议,可以选择tcp或udp
devtun
#指定创建的通信隧道类型,可选tun或tap
caca.crt
#指定CA证书的文件路径ﻭcertserver.crt
#指定服务器端的证书文件路径
keyserver.key
#指定服务器端的私钥文件路径
dhdh1024.pem
#指定迪菲赫尔曼参数的文件路径ﻭserver10.0.0.0255.255.255.0
#指定虚拟局域网占用的IP地址段和子网掩码,此处配置的服务器自身占用10.0.0.1。ﻭifconfig-pool-persistipp.txt
#服务器自动给客户端分配IP后,客户端下次连接时,仍然采用上次的IP地址(第一次分配的IP保存在ipp.txt中,下一次分配其中保存的IP)。ﻭtls-authta.key0
#开启TLS,使用ta.key防御攻击。服务器端的第二个参数值为0,客户端的为1。ﻭkeepalive10120
#每10秒ping一次,连接超时时间设为120秒。ﻭcomp-lzo
#开启VPN连接压缩,如果服务器端开启,客户端也必须开启ﻭclient-to-client
#允许客户端与客户端相连接,默认情况下客户端只能与服务器相连接ﻭpersist-keyﻭpersist-tun
#持久化选项可以尽量避免访问在重启时由于用户权限降低而无法访问的某些资源。statusopenvpn-status.log
#指定记录OpenVPN状态的日志文件路径ﻭverb3
#指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细实际修改内容参见下面的截图。
2、编辑客户端配置文件。client.ovpn中所有用到的命令如下:client
#指定当前VPN是客户端
devtun
#必须与服务器端的保持一致ﻭprotoudp
#必须与服务器端的保持一致
remote192.168.0.21194
#指定连接的远程服务器的实际IP地址和端口号ﻭresolv-retryinfinite
#断线自动重新连接,在网络不稳定的情况下(例如:笔记本电脑无线网络)非常有用。
nobind
#不绑定特定的本地端口号ﻭpersist-key
persist-tun
caca.crt
#指定CA证书的文件路径
certclient.c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路桥安全管理概述
- 2026年咨询工程师(投资)考试《宏观经济政策与发展规划》真题及答案
- 2026年医师定期考核试题库及答案
- 塑料加工企业安全负责人述职
- 2026呼吸内科主治医师《专业知识》模拟题(附答案)
- 企业协作方安全管理
- 苏教版小学一年级语文下册《世界多美呀》热爱自然教案
- 2026年卫生高级职称面审答辩(内科学)在线题库及答案
- 脑转移瘤健康宣教
- 价值链2026年技术合作合同协议
- 2024年注册安全工程师考试化工(初级)安全生产实务试题及答案
- 单位食堂食材供应及配送服务(肉类)服务方案投标文件(技术方案)
- 农村企业经营管理课件
- 铝锭联营合同与合作协议
- DB22∕T 5102-2016 外墙复合保温工程技术规程
- T/CADBM 3-2018竹木纤维集成墙面
- 《气体中毒急诊救治》课件
- 水利工程土石方施工方案设计
- GB/Z 44071-2024液压传动连接软管总成操作规程
- 烧烤视频拍摄脚本
- 廉洁应征承诺书
评论
0/150
提交评论