2)升级系统软件,并下载所需软件。
#mkdir /opt/software
#cd /opt/software
#wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
#wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
好了,准备工作已经完成了。下面开始安装。
二、安装软件
#tar -zxvf lzo-2.03.tar.gz
#cd lzo-2.0.3
#./configure
#make && make install
#cd ../
#tar -zxvf openvpn-2.0.9.tar.gz
#cd openvpn-2.0.9
#./configure –with-lzo-headers=/usr/local/include –with-lzo-lib=/usr/local/lib –with-ssl-headers=/usr/include/openssl –with-ssl-lib=/usr/lib
#make && make install
自此,软件已安装完成,下面开始最重要的步骤。
三、生成证书Key
1、初始化PKI
#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=BJ
#export KEY_CITY=BJ
#export KEY_ORG=”eryinj.com”
#export KEY_EMAIL=”[email protected]”
2、生成CA证书
#./clean-all
#./build-ca
本步骤除了以下两个地方需要改动之外,其他地方一路回车(红色部分为改动的值):
Organizational Unit Name (eg, section) []:eryin.com
Common Name (eg, your name or your server’s hostname) []:server
3、建立Server Key
#./build-key-server server
本步骤除了以下两个地方需要改动之外,其他地方一路回车(红色部分为改动的值):
Organizational Unit Name (eg, section) []:eryin.com
Common Name (eg, your name or your server’s hostname) []:server
A challenge password []:abcd1234
An optional company name []:eryin.com
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
4、生成Client Key
#./build-key client1
Organizational Unit Name (eg, section) []:eryin.com
Common Name (eg, your name or your server’s hostname) []:client1
A challenge password []:abcd1234
An optional company name []:eryin.com
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
依次类推生成其他客户端证书/key
#./build-key client2
#./build-key client3
5、生成 Diffie Hellman 参数
#./build-dh
四、创建服务器端和客户端配置文件
1、创建服务器端配置文件
#vi /usr/local/etc/server.conf
port 1194
proto udp
dev tun
ca /opt/software/openvpn-2.0.9/easy-rsa/keys/ca.crt
cert /opt/software/openvpn-2.0.9/easy-rsa/keys/server.crt
key /opt/software/openvpn-2.0.9/easy-rsa/keys/server.key
dh /opt/software/openvpn-2.0.9/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /opt/software//openvpn-2.0.5/easy-rsa/keys/openvpn-status.log
verb 4
push “dhcp-option DNS 10.8.0.1″
push “dhcp-option DNS 4.2.2.1″
push “dhcp-option DNS 4.2.2.2″
2、创建客户端配置文件
#vi /usr/local/etc/client.ovpn
dev tun
proto udp
remote VPS的IP地址 1194
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3
redirect-gateway def1
3、把生成的客户端的KEY和客户端配置文件下载到本地计算机
#cp /usr/local/etc/client.ovpn /opt/software/openvpn-2.0.9/easy-rsa/keys/
#tar keys.tar /opt/software/openvpn-2.0.9/easy-rsa/keys/
不管你用什么方法,下载到本地即可。
五、启动OpenVPN服务器并设置成开机自动启动
1、启动OpenVPN服务器
#/usr/local/sbin/openvpn –config /usr/local/etc/server.conf
2、将OpenVPN设置成开机自动启动
#vi /etc/rc.local
然后在最后面加入此行:
/usr/local/sbin/openvpn –config /usr/local/etc/server.conf > /dev/null 2>&1 &
六、OpenVPN 访问外网的设置
1、修改本机域名服务器
#vi /etc/resolv.conf
将文件内容修改为下面两行:
nameserver 4.2.2.1
nameserver 4.2.2.2
2、开启域名服务
如果你需要访问一些已经被伟大的GFW封掉了域名的网站,但你的 OpenVPN 服务器没有被封的话,那么你需要在你
的主机上开启 name server, 并将 dns push 给 client。
#service named start
3、修改/etc/sysctl.conf
vi /etc/sysctl.conf
做以下修改:
net.ipv4.ip_forward = 1 (如果不是1的话则改成1)
4、设置iptables
#iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -j SNAT –to VPS的IP地址
#/etc/init.d/iptables save
#/etc/init.d/iptables restart
七、OpenVPN GUI For Windows 客户端安装过程
1、下载和服务器端配套的OpenVPN GUI For Windows:
http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe
2、安装:一直下一步,大家应该比我都会装吧。
3、将第四段第三步下载的Key文件解压后,放到OpenVPN GUI For Windows安装目录下的config目录,并至少要包含
以下6个文件:
ca.crt
ca.key
client1.crt
client1.csr
client1.key
client.ovpn
4、双击client.ovpn即可启动OpenVPN GUI For Windows客户端,并连接至服务器。
5、如果双击client.ovpn 没有反应,则在任务栏点 OpenVPN GUI 的小图标右键,选择 edit config,将内容复制过去再保存,然后再点右键中的 connect即可。
6、如果需要第二台机器上使用OpenVPN,进行同样的配置,只需要将 client1.crt,client1.csr,client1.key 换成对应的 client2.xxx 即可,然后将 client.ovpn 中的对应key文件值改掉。