ADDING THE REPOSITORY FILE

 

You also need to download a yum repo file so that yum can find these packages:

 

$ cd /etc/yum.repos.d

$ wget http://repos.openvpn.net/repos/yum/conf/repos.openvpn.net-CentOS6-snapshots.repo

 

 

INSTALLING PACKAGES

 

In most cases, this is as simple as

 

$ yum install <packagename>

 

You need to allow importing the repository's public GPG key when you tells you 

to.

服务器端配置

1、安装openvpn

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

yum install openvpn -y

当然也可以从这个页面下载:http://openvpn.net/index.php/download.html

2、配置服务器

2.1 初始化服务端

cd /etc/openvpn/

cp /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf .

mkdir -p easy-rsa/keys && cd easy-rsa

cp -rf /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/* . && chmod +x *

2.2 配置PKI

vi vars

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

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

export KEY_COUNTRY="US"

export KEY_PROVINCE="CA"

export KEY_CITY="SanFrancisco"

export KEY_ORG="Fort-Funston"

export KEY_EMAIL="me@myhost.mydomain"

export KEY_EMAIL=mail@host.domain

export KEY_CN=changeme

export KEY_NAME=changeme

export KEY_OU=changeme

export PKCS11_MODULE_PATH=changeme

export PKCS11_PIN=1234

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

3、产生证书

3.1、产生CA证书

. ./vars 或者: source ./vars

注意:前面是点儿空格再点儿

./clean-all && cp openssl-1.0.0.cnf openssl.cnf && ./build-ca

在这之前执行yum install openssl -y

狂敲回车即可,也可以随便写点资料。

3.2、产生服务器证书

./build-key-server myServer

myServer即服务器名,可以随便起,但要记住,后面要用到。

一路回车,遇到询问一律输入y

3.3、生成DH验证文件

./build-dh

这个没什么好说的,让服务器飞一会。

3.4、生成客户端证书

./build-key client1

client1替换成需要的用户,一路回车,遇到询问一律输入y

3.5、编辑服务配置文件

vi /etc/openvpn/server.conf

  • 找到port一行,后面的1194是端口号,根据需要进行调整

  • 找到ca ca.crt这行,ca.crt替换为/etc/openvpn/easy-rsa/keys/ca.crt

  • cert这行后面的server.crt替换为/etc/openvpn/easy-rsa/keys/myServer.crt

  • key这行后面的server.key替换为/etc/openvpn/easy-rsa/keys/myServer.key

  • dh这行后面的dh1024.pem替换为/etc/openvpn/easy-rsa/keys/dh1024.pem

注意上面两行的myServer.crtmyServer.key就是前面生成的东西。

  • 找到;push "redirect-gateway def1 bypass-dhcp",去掉最前面的注释符号,并且删除def1后面的bypass-dhcp,也就是将这行替换成:push "redirect-gateway def1"

  • 找到 ;push "dhcp-option DNS 208.67.222.222"以及;push "dhcp-option DNS 208.67.222.220" 替换为push "dhcp-option DNS 8.8.8.8"以及push "dhcp-option DNS 8.8.4.4" 同样是去掉前面的注释符号,这个可以根据自己的情况进行更改。

其他默认就可以了,保存配置。

4、启动服务

service openvpn start

或者

/etc/init.d/openvpn start

如果遭遇启动失败的情况,可以在配置文件中加上一行log-append  openvpn.log

再尝试启动,然后到/etc/openvpn/检查openvpn.log文件来查看错误发生原因最后执行一行

chkconfig --level 235 openvpn on

openvpn加入启动项

设置外网访问

vi /etc/sysctl.conf

找到net.ipv4.ip_forward = 0

0改成1

sysctl -p

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 2.2.2.2

2.2.2.2替换成你自己VPSIP

/etc/init.d/iptables save

/etc/init.d/iptables restart

客户端配置

下载地址:http://openvpn.net/index.php/download.html

Windows链接:http://swupdate.openvpn.org/community/releases/openvpn-2.2.2-install.exe

进入C:\Program Files\Open×××目录,将sample-config下的client.ovpn文件复制到config目录,将之前在服务器产生的ca.crt client1.key client1.crt复制到config目录。

进行如下修改:

找到“remote my-server-1 1194”,修改成服务器相应配置

ca ca.crt

cert client.crt

key client.key

改为如下配置:

ca "C:\\Program Files\\Open×××\\config\\ca.crt"

cert "C:\\Program Files\\Open×××\\config\\client1.crt"

key "C:\\Program Files\\Open×××\\config\\client1.key"

其它不变。

在这里进行连接

连接成功