在OpenVPN中,服务器端和客户端使用的是同一个安装文件,安装方法也是一样的,只是配置方法不一样。其主要区别是,在安装目录的Config文件夹下,服务器端配置的文件叫做Server.ovpn,客户端配置的文件叫做client.ovpn,当然,配置文件中的内容也不相同。OpenVPN是通过不同的设置来决定该程序是充当服务器端还是客户端。其工作原理是,在服务器端和客户端之间搭建一个独立于当前网络环境的加密通道,将服务器端和多个客户端组建成一个独立的虚拟局域网,从而实现服务器端和客户端、客户端和客户端之间的相互通信。
首先,下载OpenVPN程序,为了保证程序的最新版本,一般建议访问官网进行下载,其官网地址是http://openvpn.net/,如果无法正常访问,请在国内下载网站进行下载。下载时,注意选择对应操作系统的版本,比如32位还是64位。在这里,笔者的操作系统是64的Windows 7,所以下载的是openvpn-install-2.3.6-I002-x86_64.exe。
安装方式同安装Windows其他程序一样,双击进行安装。只是在选择安装组件页面时,服务器端安装时,需要勾选全部即可,因为证书等需要在服务器端进行安装,如果是在客户端安装时,采用默认选项即可(如图1)。安装快结束时,如果询问是否安装TAP-Win32驱动程序时,请选择“仍然继续”,这是需要在计算机中安装虚拟网卡,很快就完成了OpenVPN的安装。
安装完OpenVPN后,还不能立刻启动。现在最重要的工作是对其进行配置,生成服务器端和客户端的证书,以保证OpenVPN的正常运行和客户端能正确连接到OpenVPN服务器中。
以下配置过程在服务器端完成。
图1 选择安装组件页面
图2 复制文件
图3 制作证书
笔者在安装过程中采用了默认安装方式,即将OpenVPN安装到了目录“C:Program FilesOpenVPN”,启动“命令提示符”(点击“开始→运行”,输入“cmd”,点击“确定”即可),在“命令提示符”窗口中,进入OpenVPN安装目录下的“easy-rsa”目录中,以下命令在该目录下进行。
第一步,运行如下命令,复制文件。
运行结果如图2所示。
vars.bat.sample是OpenVPN安装时提供的一个模板文件,该文件已提供了默认的配置;一般情况下,用户可以不用修改其中的配置信息,直接使用即可。所以,在此直接完成复制。
第二步,运行如下两条命令,进行初始化。
该步完成了初始化工作,清空并建立文件夹“keys”,在其中拷贝了两个文件,执行完成后,接着往下操作。
第三步,运行如下两条命令,开始制作证书。
其中,要求填写基本信息,一般也可采用默认值,最后三项可以根据具体情况进行修改,运行如图3所示。
第四步,运行如下命令,生成服务端密钥。
该命令的后面参数server,可以根据需要进行修改,比如更改为server1等。执行该命令后,要求填写基本信息,采用默认值即可,运行到最后询问是否创建证书,两次都输入“y”即可,完成服务器端证书的生成。
第五步,运行如下命令,生成客户端密钥
该命令的后面参数client,可以根据需要进行修改,比如更改为client1等。执行该命令后,要求填写基本信息,采用默认值即可,也可根据提示进行相应输入。该命令执行完成后,生成了客户端密钥。
通过以上几步,就完成了OpenVPN的服务器端和客户端密钥的生成,下面进行OpenVPN服务器端的配置。
以上生成了多个文件都在目录“keyskeys”中,拷贝其中的 ca.crt,dh1024.pem,server.crt,server.key几个文件到目录“OpenVPNconfig”下,同 时,拷贝目录“OpenVPNsampleconfig”中的server.ovpn文件到“OpenVPNconfig”下。
用记事本打开目录“OpenVPNconfig”中的server.ovpn文件进行编辑,修改如表1所示的配置内容。
表1中是几个重要参数,第一个参数表示设置当前IP,第二个参数根据前面的默认配置,修改为实际生成dh1024.pem,否则会报错误。第三个参数表示申明要使用的设备,Windows下必须设置为tap,所以在不启用的参数前加“;”即可。
其他参数,比如设置客户端使用IP采用默认即可。
表1 修改server.ovpn文件
表2 编辑client.ovpn文件
以上完成了OpenVPN服务器端的配置,下面进行OpenVPN客户端的配置。
客户端完成程序安装后,拷贝服务器端的ca.crt client.crt client.key到客户端OpenVPN安装目录下的“config”文件夹中,同时拷贝“OpenVPN sampleconfig”中的client.ovpn文件到“OpenVPNconfig”中,用编辑器打开client.ovpn文件进行如表2所示配置。
其他配置可以采用默认值即可。
在服务期端,右键单击目录“OpenVPNconfig” 下 的server.ovpn文 件,选 择“Start OpenVPN on this config file”命令,启动服务器端。
同样,在客户端,右键单击目 录“OpenVPNconfig” 下的client.ovpn文件,选择“Start OpenVPN on this config file”命令,启动客户端。
双方启动完成后,客户端和服务器端就进行了连接,此时,客户端会自动从服务器端分到IP,按照默认设置,服务器端IP为10.8.0.1,笔者连接后,客户端IP为10.8.0.4,可以从客户端Ping服务器端进行测试(如图4)。
另一种运行方式,在服务中启动OpenVPN,在“运行”中输入“services.msc”命令,启动服务窗口,找到“OpenVPN Service”项,右键单击,选择“启动”命令(如图5),或者设置为自动启动,以随计算机的启动而启动。
图5 选择“启动”命令
安装OpenVPN的整个过程并不复杂,主要是需要生成服务器和客户端的证书,要连接OpenVPN服务器的计算机也要安装该程序,并从服务器端拷贝生成的客户端证书,在本地运行OpenVPN,这样才能建立VPN。需要注意的是,如果服务器端开启防火墙,还需要开启1194端口。