第一步:检查 OpenVPN 所需环境

cat /dev/net/tun

如果返回信息为:File descriptor in bad state 说明正常.

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

如果返回信息为:iptables: Unknown error 4294967295 说明正常.

第二步:安装 OpenVPN

$ rpm -Uvh http://syslogserver.googlecode.com/files/epel-release-5-3.noarch.rpm epel-release-5-4.noarch网盘
$ yum install openvpn

第三步:配置 OpenVPN

$ locate easy-rsa
$ cp -R /usr/share/openvpn/easy-rsa /etc/openvpn/
$ cd /etc/openvpn/easy-rsa/2.0
$ vi vars

Ecvps 上配置的时候,发现无法定位 easy-rsa ,即在使用 locate easy-rsa 时返回:

locate: can not open '/var/lib/mlocate/mlocate.db': No such file or directory

此时,只需要运行 updatedb 这个命令,即可解决问题! 修改如下内容,保存.

export KEY_COUNTRY="CN"
export KEY_PROVINCE="HN"
export KEY_CITY="ZZ"
export KEY_ORG="kangxiaowei.com"
export KEY_EMAIL="sishixiong@gmail.com"

生成证书.

$ ./clean-all
$ source ./vars
$ ./build-ca server

全部回车.

$ ./build-key-server server

全部回车 最后2个y.

$ ./build-key sishixiong

全部回车 最后2个y.

$ ./build-dh

打包下载客户端所需文件.

$ tar -zcvf keys.tar.gz keys

把 keys 放到正确目录.

$ mv keys /etc/openvpn/

新建 server.conf.

$ vi /etc/openvpn/server.conf

放入如下内容.

port 1194 $监听端口
proto udp $可以是 udp 或 tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

启用 ipv4 转发. 输入:

vi /etc/sysctl.conf

开始编辑,找到:

net.ipv4.ip_forward = 0

改成:

net.ipv4.ip_forward = 1

保存. 让它生效:

sysctl -p

如果此时出现错误.

error: "Operation not permitted" setting key "net.ipv4.tcp_syncookies"

就编辑sysctl.conf:

$ vi /etc/sysctl.conf

注释掉 net.ipv4.tcp_syncookies 那一行. 配置 iptables.

$ iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 你的服务器IP地址
/etc/init.d/iptables save
/etc/init.d/iptables restart

启动 OpenVPN.

$ service openvpn start

检查 OpenVPN.

$ netstat -anup | grep 1194

OpenVPN 开机启动.

$ chkconfig openvpn on

第四步:OpenVPN 客户端. 下载客户端 http://www.openvpn.net/index.php/open-source/downloads.html 复制 ca.crt 和 sishixiong.crt 和 sishixiong.key 这三个文件,放到 C:\Program Files\OpenVPN\config. 新建 sishixiong.ovpn,输入以下内容:

client
dev tun
proto udp
remote 服务器IP地址 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert sishixiong.crt
key sishixiong.key
ns-cert-type server
comp-lzo
verb 3

搞定! 可以用:

service openvpn start | stop | restart

来控制了.