CentOS搭建OpenV*N服务

jopen 10年前
  1. 安装OpenVN软件包
    默认的Centos软件源里面没有OpenV
    N的软件包,我们可以添加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命令安装OpenVN  </p>

    1. yum install -y openV*N
    2.使用easy-rsa脚本产生OpenVN所需的CA证书、CA私钥、服务端证书、服务端私钥、客户端证书、客户端私钥

    先将easy-rsa脚本copy到/etc/openVN,并添加可执行权限  </p>

    1. cp -R /usr/share/doc/openV*N-2.2.2/easy-rsa /etc/openV*N
    2. cd /etc/openV*N/easy-rsa/2.0
    3. chmod +x *

    然后使用easy-rsa的脚本产生证书 

    1. cd /etc/openV*N/easy-rsa/2.0
    2.  
    3. ln -s openssl-1.0.0.cnf openssl.cnf
    4. . vars
    5. ./build-ca server
    6. ./build-key-server server
    7. ./build-key client
    8. ./build-dh
    执行以上命令后将在/etc/openVN/easy-rsa/2.0/keys/目录下产生对应的证书和秘钥

    3.生成OpenV
    N服务端配置文件

    编辑/etc/openV*N/server.conf文件,内容如下:

    1. port 1194
    2. proto udp
    3. dev tun
    4. ca /etc/openV*N/easy-rsa/2.0/keys/ca.crt
    5. cert /etc/openV*N/easy-rsa/2.0/keys/server.crt
    6. key /etc/openV*N/easy-rsa/2.0/keys/server.key
    7. dh /etc/openV*N/easy-rsa/2.0/keys/dh1024.pem
    8. server 10.1.1.0 255.255.255.0
    9. push "redirect-gateway def1 bypass-dhcp"
    10. push "dhcp-option DNS 8.8.8.8"
    11. log /var/log/openV*N.log
    12. keepalive 10 120
    13. verb 3
    14. client-to-client
    15. comp-lzo
    16. persist-key
    17. persist-tun

    4.开启OpenVN服务

    将openVN设置为开机自启动的服务: </p>

    1. chkconfig openV*N on

    立即启动openV*N服务 

    1. service openV*N start

    5.服务端开启nat功能
    客户端拨入OpenVN后,默认网关会指向OpenVN服务器,为了能使客户端可以上网,需要在服务端开启nat功能

    首先,打开ip forward功能

    1. sed -i '/net.ipv4.ip_forward/s/0/1/g' /etc/sysctl.conf
    2. sysctl -w net.ipv4.ip_forward=1

    然后,配置iptables snat 

    1. iptables -A POSTROUTING -s 10.1.1.0/255.255.255.0 -j SNAT --to-source SERVER_IP
    将SERVER_IP替换为服务器的出口ip

    好了服务端准备就绪,接下来开始客户端配置
    对于Windows客户端
    1. 到http://openV*N.se/download.html 下载gui版的OpenVN,按照提示安装完成后,进入到安装目录,如D:\Program Files\OpenVN
    将Linux服务端使用easy-rsa产生的客户端证书、私钥和ca证书下载到本地

    即需要下载到本地的文件如下: 

    1. /etc/openV*N/easy-rsa/2.0/keys/ca.crt #ca证书
    2. /etc/openV*N/easy-rsa/2.0/keys/client.crt #客户端证书
    3. /etc/openV*N/easy-rsa/2.0/keys/client.key #客户端私钥
    将这些文件下载到D:\Program Files\OpenVN\config下

    编辑客户端OpenVN配置文件client.oVN,内容如下:  </p>

    1. client
    2. dev tun
    3. proto udp
    4. remote SERVER_IP 1194
    5. resolv-retry infinite
    6. nobind
    7. persist-key
    8. persist-tun
    9. ca ca.crt
    10. cert client.crt
    11. key client.key
    12. comp-lzo
    13. verb 3
    14. redirect-gateway def1
    15. route-method exe
    16. route-delay 2
    将SERVER_IP写成OpenV
    N服务器的ip,然后打开OpenVN的GUI,点击连接,完成OpenVN拨入