CentOS搭建OpenV*N服务
jopen
10年前
- 安装OpenVN软件包
默认的Centos软件源里面没有OpenVN的软件包,我们可以添加rpmforge的repo,从而实现yum安装openVN
针对CentOS 5
rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
针对CentOS 6
rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
安装完rpmforge的repo之后,执行yum命令安装OpenV
N </p>- yum install -y openV*N
先将easy-rsa脚本copy到/etc/openV
N,并添加可执行权限 </p>- cp -R /usr/share/doc/openV*N-2.2.2/easy-rsa /etc/openV*N
- cd /etc/openV*N/easy-rsa/2.0
- chmod +x *
然后使用easy-rsa的脚本产生证书
- cd /etc/openV*N/easy-rsa/2.0
- ln -s openssl-1.0.0.cnf openssl.cnf
- . vars
- ./build-ca server
- ./build-key-server server
- ./build-key client
- ./build-dh
3.生成OpenVN服务端配置文件
编辑/etc/openV*N/server.conf文件,内容如下:
- port 1194
- proto udp
- dev tun
- ca /etc/openV*N/easy-rsa/2.0/keys/ca.crt
- cert /etc/openV*N/easy-rsa/2.0/keys/server.crt
- key /etc/openV*N/easy-rsa/2.0/keys/server.key
- dh /etc/openV*N/easy-rsa/2.0/keys/dh1024.pem
- server 10.1.1.0 255.255.255.0
- push "redirect-gateway def1 bypass-dhcp"
- push "dhcp-option DNS 8.8.8.8"
- log /var/log/openV*N.log
- keepalive 10 120
- verb 3
- client-to-client
- comp-lzo
- persist-key
- persist-tun
4.开启OpenVN服务
将openV
N设置为开机自启动的服务: </p>- chkconfig openV*N on
立即启动openV*N服务
- service openV*N start
5.服务端开启nat功能
客户端拨入OpenVN后,默认网关会指向OpenVN服务器,为了能使客户端可以上网,需要在服务端开启nat功能
首先,打开ip forward功能
- sed -i '/net.ipv4.ip_forward/s/0/1/g' /etc/sysctl.conf
- sysctl -w net.ipv4.ip_forward=1
然后,配置iptables snat
- iptables -A POSTROUTING -s 10.1.1.0/255.255.255.0 -j SNAT --to-source SERVER_IP
好了服务端准备就绪,接下来开始客户端配置
对于Windows客户端
1. 到http://openV*N.se/download.html 下载gui版的OpenVN,按照提示安装完成后,进入到安装目录,如D:\Program Files\OpenVN
将Linux服务端使用easy-rsa产生的客户端证书、私钥和ca证书下载到本地
即需要下载到本地的文件如下:
- /etc/openV*N/easy-rsa/2.0/keys/ca.crt #ca证书
- /etc/openV*N/easy-rsa/2.0/keys/client.crt #客户端证书
- /etc/openV*N/easy-rsa/2.0/keys/client.key #客户端私钥
编辑客户端OpenV
N配置文件client.oVN,内容如下: </p>- client
- dev tun
- proto udp
- remote SERVER_IP 1194
- resolv-retry infinite
- nobind
- persist-key
- persist-tun
- ca ca.crt
- cert client.crt
- key client.key
- comp-lzo
- verb 3
- redirect-gateway def1
- route-method exe
- route-delay 2