阿里云CentOS服务器上搭建openvpn

分类:CentOS教程 阅读:48179 次

为了能从办公室直接连进ECS(阿里云服务器)进行调试,所以这几天断断续续是研究开源翻墙软件pptp和openvpn,直到今天才成功.(这里很鄙视阿里云的客服和售后工程师,一会说能搭建vpn,一会说又不能,我就*了;同时也很鄙视阿里的路由表,弄的我蛋都碎光了)

吐槽到此为止,接下来进入我们今天的正题:openvpn。

一)初识

OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。

OpenVPN允许参与建立VPN的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1 协议函式库。OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

二)环境

vpn:CentOS release 6.5 (Final)

客户端:win8(其他客户端安装方法,请见博文最后)

三)安装

  1. 安装基础包

2.安装openvpn服务端

针对CentOS 5

针对CentOS 6

安装完rpmforge的repo之后,执行yum命令安装OpenVPN

3.生成证书

使用easy-rsa脚本产生OpenVPN所需的CA证书、CA私钥、服务端证书、服务端私钥、客户端证书、客户端私钥
先将easy-rsa脚本copy到/etc/openvpn,并添加可执行权限

配置PKI

找到“export KEY_SIZE=”这行,根据情况把1024改成2048或者4096

再定位到最后面,会看到类似下面这样的

这个自己根据情况改一下,不改也可以运行。其实不改vars这个文件,vpn也可以跑起来。

例如:

注:在后面生成服务端ca证书时,这里的配置会作为缺省配置。

然后使用easy-rsa的脚本产生证书

ln-sopenssl-1.0.0.cnfopenssl.cnf .vars ./clean-all ./build-caserver ./build-key-serverserver ./build-keyclient ./build-dh

4.配置服务端

5.打开服务器路由转发功能

修改以下内容

net.ipv4.ip_forward = 1
# 然后使内核参数生效:

启动openvpn

/etc/init.d/openvpnstart

四)openvpn客户端配置

对于windows客户端

客户端安装完成后,进入到安装目录,如D:\Program Files\OpenVPN。将Linux服务端使用easy-rsa产生的客户端证书、私钥和ca证书下载到本地。即需要下载到本地的文件如下:

将这些文件下载到..\.\OpenVPN\config下。
编辑客户端OpenVPN配置文件client.ovpn,内容如下:

到这里算是大工完成了,主要是iptables和路由表会比较蛋疼,测试和排错的过程就不展示了。

下面给几个其他客服端的配置:

ubuntu:http://www.linuxidc.com/Linux/2013-06/86562.htm

Mac:

https://code.google.com/p/tunnelblick/

1.打开Tunnelblick

2.点击左下角+

3.我有设置文件

4.OpenVPN设置

5.打开私人设置文件夹

6.将key和新建的client.ovpn放到此目录下

本文出自 “Aaron” 博客,请务必保留此出处http://qishiding.blog.51cto.com/3381613/1613141