OpenVPN的配置
来源:互联网 发布:罗技连点编程 编辑:程序博客网 时间:2024/05/16 16:23
OpenVPN配置了十多天才搞好了,真心觉得不容易。现在把我配置的过程给大家说一下,希望能给大家提供帮助。
我用的是OpenVPN2.3.6的版本32位的,客户端的系统是win7 32位系统 服务器端是win7 64位
首先,一些注意事项得提前给大家说一下:
(1)在两个不同局域网下的两个子网配置OpenVPN,客户端是无法连接的成功的,这是我实验出来的结果,网上也有这种说法。
(2)在同一局域网配置成功后,在不同局域网下不能连接成功(最开始配置时,我就是在网上找的配置方法,在同一个局域网下配置的,虽然客户端可以连接到服务器,然并没有什么意义)
(3)所有的而配置文件都是在服务器端进行的,配置好后,再把相应的文件拷贝到客户端即可。需要拷贝到客户端的文件有ca.crt client.cet client.key client.ovpn ta.key(可要可不要,我自己是生成了这个文件的)
好了,现在说说怎么安装配置吧
第一,将下载好的OpenVPN安装好,在安装时,以管理员身份运行,安装过程中,记住要将没有勾选的两个都要勾选,不要忘记了!然后就一直下一步就安装好了。
其中安装过程中会安装一个虚拟网卡,你安装即可。安装完后,你会发现在你的网络适配器总多了一个TAP-Windows AdapterV9。没错,就是它,这就是安装后多的一个虚拟网卡。(对于不知道网络适配器的,右键点击我的计算机——管理——设备管理器——网络适配器)
接下来就是配置啦:
(1),修改OpenVPN服务器端的vars.bat.sample文件
文件路径根据自己的安装情况进行修改,我自己的是安装在D盘
修改完成后就进行接下来的工作
(2)打开电脑的终端,执行相应的命令:
(3)然后就是创建CA根证书:build-ca
我就把网上的截图发给大家参考:(这部分网上的都差不多,为了节约时间我就把网上的这个过程给大家看看,这样配置起来会轻松些)
common name就是相当于我们的账户一样
(4)创建服务器端证书:build-key-server server(为了节约时间,我就没有重新再到我的电脑配置了。这里也是网上找的截图,方法是对的,大家可以放心配置)
(5)创建迪菲·赫尔曼密钥:build-dh
上面的执行完后输入build-dh(记住,这只是在同一个终端窗口中进行的)
(6)创建客户端证书:build-key client
接下来会出现Sign the certification? [y/n] 输入y
接下来出现1 out of 1 certification requests certified,commit?[y/n]输入y
如果你想创建多个不同的客户端证书,只需要重复此步骤即可。切记,Common Name不要重复,这是OpenVPN用来区分不同客户端的关键所在。
(7)生成ta.key:openvpn --genkey --secret keys/ta.key (可选操作)
这一步其实是可选操作,生成的ta.key主要用于防御DoS、UDP淹没等恶意攻击。命令中的第3个参数keys/ta.key表示生成的文件路径(含文件名)。
创建完证书后,我们会发现easy-rsa目录下多了一个keys文件夹。现在我们将keys文件夹中对应的文件复制到OpenVPN服务器或客户端的安装目录的config文件夹下。
这些都是在服务器端配置的,客户端在不用配置。
将easy-rsa文件夹中的keys文件夹中的ca.crt ca.key dh1024.pem server.crt server.key ta.key(生成了的话,我个人在终端总中生成了的)复制到服务器端的config文件夹中,还需要将sample-config文件夹中的server.ovpn复制到服务器的文件夹中
将easy-key文件夹中的keys文件夹中的ca.crt client.crt client.key ta.key(如果你生成了的话)以及sample-config文件夹中的client.ovpn复制到客户端中中的config文件夹中
如下图为我的客户端中config文件夹中的文件
接下来就是修改服务器端config文件夹中server.ovpn中的内容
就是这些划线的地方需要修改。其中#代表是注释的意思,也就是解释说明。
如果你生成了ta.key的话,在服务器端tls-auth ta.key 0是必须要的,在客户端就是tls-auth ta.key 1是必须要的。如果没有生成就不用管,在这行代码前会有";" 。;代表的也是注释的意思
在客户端的config中的client.ovpn中,修改内容如下:
client
dev tun
proto tcp
remote 218.199.183.151 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo
verb 6
顺便说一下,打开方式用记事本打开
然后你在服务器端开启OpenVPN Service,将其设置为自动开启。开启方法:鼠标右键点击计算机——管理——服务和应用程序——服务,然后找到OpenVPN Service 开启即可。
然后在客户端去连接:双击客户端电脑桌面上的图标,在右下方会有一个灰色的图标,右键然后选择连接即可。如何变为绿色就是连接成功。
当然,可能不会成功,这时你就需要检查是什么原因了,要么是端口,要么是协议或者IP的原因
我选用的用的是1194的端口,这时你就需要确保端口还通的,怎么判断呢?
你可以另外打开一个端口:输入telnet+IP+端口号
例如:我的选用的IP是218.199.183.151,端口1194
我在终端输入telnet 218.199.183.151 1194如果是通的,终端不会提示出错,显示一个黑色的终端窗口
这时可能会报错,提示telnet不是内部命令,这时你需要在控制面板中打开程序,进入卸载或更改程序,在左边会有打开或关闭Windows功能,打开这项,这时需要等待一会儿,然后勾选telnet客户端即可。
有时候连接不上,或者ping不同可能是防火墙的原因,反正我个人是把客户端和服务器端的防火墙都管了的
对于IP的选择,记住,服务器端的IP不能是子网IP
如下图是我服务器端的网络连接情况
一共有三个IP,其中一个是本地IP,一个是公网IP(这个我还没太搞懂),一个还虚拟网卡的IP
我用的是公网的IP,原来几次实验都是用的本地IP来做的,一次都没有成功,后来换成了这个IP,客户端才成功连接上去了。大家可以试试,希望对你们有帮助,如果有什么不对的地方,还请各位指教,都是一起学习嘛,相互交流。
补充说明一下:客户端没有连接时,客户端是可以ping通这个公网IP的
如果连接不上,你可以换协议试试TCP或者UDP,记住,客户端和服务器端的协议必须要是一样的,原先我个人用的还UDP的协议,后开换成了TCP的协议才连接上的。
当所有的都修改后可以在服务器端重启一个OpenVPN Service服务。有时还是需要重启客户端的电脑,重启是最好的啦!
在多说一句,可以在终端使用netstat -ano查看端口的情况,看看端口是否开启
- 深入OpenVPN的配置
- BT5R3 OpenVPN的配置
- 深入OpenVPN的配置
- 深入OpenVPN的配置
- 深入OpenVPN的配置
- OpenVPN的配置
- 深入OpenVPN的配置
- OpenVPN的配置和使用
- OpenVPN的配置和使用
- Openvpn的配置和连接
- OpenVPN的配置和使用
- OpenVPN 的安装与配置
- openvpn配置
- OpenVPN 配置
- openvpn配置
- CENTOS6.5下的OpenVPN的配置
- openVPN的客户端的client.ovpn配置.
- RHEL5.4下openvpn的详细配置
- oracle11g各版本下载地址
- Python Bayes
- eclipse 在线安装svn插件
- 你好!我的第一篇文字
- android camera系统3A模式及其状态转换(一)
- OpenVPN的配置
- 方法numberWithInt: 和 numberWithInteger: 使用差别
- 关于华为ACL日常维护中的一点点经验
- 在执行Ado.net SqlDataAdapter 查询超时设置
- android camera系统3A模式及其状态转换(二)
- Python Network Programming(5)---套接字超时时间
- ORA-16957: SQL Analyze time limit interrupt
- 【C/S】SVN服务器和客户端的安装
- Maven使用指南