当前环境:
==============
1、blurst.net的 vps 服务
2、支持tun设备、支持iptables模块
3、内核 2.6.18 

安装OPENVPN 的需求
=================
1、安装OpenSSL
2、支持tun设备、iptables模块

安装过程
=================
一、安装
进入root目录
cd /root

下载LZO和OpenVPN 2.1.rc15
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
wget http://openvpn.net/release/openvpn-2.1_rc15.tar.gz

安装openssl
yum install -y openssl  openssl-devel
  
安装LZO和OpenVPN
tar zxvf lzo-2.03.tar.gzcd lzo-2.03
./configure
make
make install

cd ..tar zxvf openvpn-2.1_rc15.tar.gzcd
openvpn-2.1_rc15
./configure
make
make install

cd ..
cp /root/openvpn-2.1_rc15/easy-rsa/ -r /etc/openvpn

二、配置
初始化PKI
cd /etc/openvpn/2.0/        #可以设置下OpenVPN参数(也可以修改vars文件来配置)
export D=`pwd`
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=$D/keys
export KEY_SIZE=1024
export KEY_COUNTRY=CN
export KEY_PROVINCE=GD
export KEY_CITY=SZ
export KEY_ORG="dvdmaster"
export KEY_EMAIL="support@cooldvd.com"

#也可以不用设置直接执行下面的命令
./ vars

创建证书颁发机构(CA)
./clean-all
./build-ca
  备注:执行此命令后,一直回车,直到 看见 Common Name (eg, your name or your server's hostname) 这个,输入一个随意的几个英文字符。如server

建立server key
./build-key-server server
  备注:执行此命令后,一直回车,直到 看见 Common Name (eg, your name or your server's hostname) 这个,输入一个随意的几个英文字符。如server2,注意,不能和刚输入的相同

生成客户端 key
./build-key client1
  备注:执行此命令后,一直回车,直到 看见 Common Name (eg, your name or your server's hostname) 这个,输入一个随意的几个英文字符。如eric,注意,不能和刚输入的相同

以此类推建立其他客户端 key
./build-key client2
./build-key client3

生成Diffie Hellman参数
./build-dh

将 keys 下的所有文件打包下载到本地(可以通过winscp,http,ftp等等......)
tar zcvf yskeys.tar.gz keys/

创建服务端配置文件
mkdir /etc/openvpn/2.0/conf
cp /root/openvpn-2.1_rc15/sample-config-files/server.conf /etc/openvpn/2.0/conf/server.conf

编辑服务器配置文件
vim /etc/openvpn/2.0/conf/server.conf
把里面的内容清空,替换为以下内容
port 1194
proto udp
dev tun
ca /etc/openvpn/2.0/keys/ca.crt
cert /etc/openvpn/2.0/keys/server.crt
key /etc/openvpn/2.0/keys/server.key
dh /etc/openvpn/2.0/keys/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 10.8.0.1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-key
status openvpn-status.log
verb 3

启动OpenVPN
/usr/local/sbin/openvpn --config /etc/openvpn/2.0/conf/server.conf &

============================
至此,接下来该设置iptables了
============================

启用iptables
service iptables start

开启CentOS 5 的路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward

#为了使CentOS重启后仍然开启路由转发功能我们需要再执行下列命令
sysctl -w net.ipv4.ip_forward=1

添加包过滤规则
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source 64.191.99.56   
   备注:64.191.99.56 换成你服务器的公网ip

设置 OpenVPN 服务器 reboot后自动启动 openvpn
执行
vi /etc/rc.local
然后在最后面加入此行:
/usr/local/sbin/openvpn --config /etc/openvpn/2.0/conf/server.conf &   

==================================

 

三、winxp 客户端连接vpn服务器
下载 openvpn-2.1_rc15-install.exe(此版本集成 OpenVPN  GUI)
官方下载地址:http://openvpn.net/release/openvpn-2.1_rc15-install.exe

依屏幕指示安装OpenVPN GUI
配置 openvpn gui

将上面第6步打包的yskeys.tar.gz中的下列证书文件解压到 你的OpenVPN GUI安装路径OpenVPNconfig文件夹下

ca.crt
ca.key
client1.crt--->改名client.crt
client1.csr--->改名client.csr
client1.key--->改名client.key

修改client.ovpn
把你的OpenVPN GUI安装路径OpenVPNsample-config下的client.ovpn文件复制到你的OpenVPN GUI安装路径OpenVPNconfig文件夹下,用记事本打开client.ovpn
找到remote my-server-1 1194
,把my-server-1改成你的ip地址remote 221.233.59.16 1194

双击 client.ovpn 即可启动 openvpn, 或者通过 OpenVPN GUI 的控制启动 VPN.