> Linux服务器 > VPN >

Mini CentOS6.3 32位配置openvpn2.2.2笔记

Mini CentOS6 3 32位配置openvpn2 2 2笔记 发现以前PPTP的VPN不能用了,于是呼自己想OPENVPN来试试! GOOGLE了一翻之后开始动手,测试环境ttvps的 512内存VPS,32位centos6 3 mini安装版 大致步骤也挺简单的
 
 
Mini CentOS6.3 32位配置openvpn2.2.2笔记

发现以前PPTP的VPN不能用了,于是呼自己想OPENVPN来试试!

GOOGLE了一翻之后开始动手,测试环境ttvps的 512内存VPS,32位centos6.3 mini安装版.

 

1.kernel 需要支持 tun 设备, 需要加载 iptables 模块.

检查 tun 是否安装:

modinfo tun

filename:       /lib/modules/2.6.32-279.el6.i686/kernel/drivers/net/tun.ko

alias:          char-major-10-200

license:        GPL

author:         (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>

description:    Universal TUN/TAP device driver

srcversion:     5A72C0DB4EBDF9E4B1D5016

depends:

vermagic:       2.6.32-279.el6.i686 SMP mod_unload modversions 686

估计是支持了...( 这个第一步抄的网上的。结果输出的是俺VPS上的. )

2.安装一些依赖包

yum install iptables openssl lzo pam openssl-devel lzo-devel pam-devel

如果你是rpm安装,后面的三个开发包可以不用安装,这儿我们编译安装。。。。

3.下载openvpn的源码!!

从http://openvpn.net/index.php/open-source/downloads.html下载。

国内打不开,你懂的,我下载了一个tar.gz包在VPS上,2.2.2的,自己有办法从官网下就下载,没有可以暂时用我这个连接,不要外传哟!!

wget http://d.lvtao.net/linux/lib/openvpn-2.2.2.tar.gz

当前的目录是/root/懒得动....(^_^)

4.安装openvpn

tar zxvf openvpn-2.2.2.tar.gz

cd openvpn-2.2.2

./configure

make && make install

说明一下,有些人这步还提示错误,如果你要是安装的centos6.3 mini版,请记得安装gcc 和 make

yum install gcc make 

至于原因,不解释

4.制作证书

先把easy-rsa拷贝到/etc/openvpn下

mkdir –p /etc/openvpn

cp -R easy-rsa /etc/openvpn

cd /etc/openvpn/easy-rsa/2.0

用自己熟悉的编辑工具打开vars文件,根据实际情况修改以下几个变量:

export KEY_COUNTRY=”CN”

export KEY_PROVINCE=”CA”

export KEY_CITY=”BJ”

export KEY_ORG=”MY_ORG”

export KEY_EMAIL="admin@lvtao.net"

什么意思,不清楚,自己猜去吧。。哈哈

配置openssl,根据系统所安装的openssl版本,把对应的openssl-version.cnf文件拷贝一份,目标文件名为openssl.cnf,或建个文件链接

查看版本

rpm -q openssl

openssl-1.0.0-25.el6_3.1.i686

cp openssl-1.0.0.cnf openssl.cnf

然后执行以下命令  . ./vars 前有两个点,且中间有一个空格

. ./vars

./clean-all

./build-ca

 一路按回车就可以

ls keys 看是否生成了一些文件 

ca.crt ca.key index.txt serial

生成server key

./build-key-server ttvps 这里的ttvps是指定的名字标签,如果没指定,执行过程中会提示输入

一路回车到

Sign the certificate? [y/n]:y  [这儿请y]

1 out of 1 certificate requests certified, commit? [y/n]y  [这儿也请y]

生成client端key 

./build-key client1 其中client1是客户端的名字,如果有多个客户端,就需要生成多个key

一路回车到

Sign the certificate? [y/n]:y  [这儿请y]

1 out of 1 certificate requests certified, commit? [y/n]y  [这儿也请y]

生成Diffie Hellman参数 这一步在服务端需要,可能耗时比较长:

#./build-dh

到目前,我们已经建立了完整的密钥和证书文件,在keys目录下

将服务端证书拷到/etc/openvpn/目录下   www.ahlinux.com

cd keys

cp ca.crt ca.key ttvps.crt ttvps.key dh1024.pem /etc/openvpn/

将客户端文件打包或直接下载本地

ca.crt ca.key client1.crt client1.csr client1.key 

以便客户端vpn

5.配置服务端

拷贝配置文件

cp /root/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/openvpn.conf

port 1194

proto tcp

dev tun

ca /etc/openvpn/ca.crt

cert /etc/openvpn/ttvps.crt

key /etc/openvpn/ttvps.key

dh /etc/openvpn/dh1024.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 8.8.4.4"

push "route 172.16.0.0 255.255.255.0"

client-to-client

keepalive 10 120

comp-lzo

persist-key

persist-tun

status openvpn-status.log

verb 4

script-security 3

编辑

/etc/sysctl.conf

找到net.ipv4.ip_forward = 0 改成net.ipv4.ip_forward = 1保存

然后执行

sysctl –p  

添加路由规则:172.16.0.65为你的服务器IP 

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

或者

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

这样也可以

  www.ahlinux.com

#iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

开放openvpn端口:

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 1194 -j ACCEPT

保存iptables规则并重启服务

/etc/init.d/iptables save

/etc/init.d/iptables restart

启动openvpn

/usr/local/sbin/openvpn --daemon --config /etc/openvpn/openvpn.conf

使用netstat -ln 查看1194openvpn的端口是否已经起来

6.客户端

将下载的5个文件拷贝到OpenVPN\config目录下.

然后新建一个文件 client1.ovpn  内容如下.其中*.*.*.* 为你的服务器IP

client

dev tun

proto tcp

remote *.*.*.* 1194

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt

cert client1.crt

key client1.key

ns-cert-type server

comp-lzo

verb 4

route-method exe 

route-delay 2

然后连接即可!

我在第一次安装使用的时候,遇到过几个问题,第一个是不能正常连接到openvpn服务端,经核查是因为服务端的iptables 设置问题

然后就是连接上了,不能访问facebook  youtue 等一些GFW屏蔽的网站,这个原因比较多,我所遇到的是 server端没有设置

push "dhcp-option DNS 8.8.8.8"

push "redirect-gateway def1 bypass-dhcp"

 
 
 
 

(责任编辑:IT)