安装环境:

  系统:centos 6.5

  open***:open***-2.2.1   

  lzo:lzo-2.09    下载地址:http://www.oberhumer.com/opensource/lzo/download/

  openver-server公网:111.111.111.100    

  openver-server内网:192.168.1.100/24

  tun_IP:192.168.111.1/24

 

关闭防火墙:

  #chkconfig iptables off;service iptables stop

关闭Selinux

#     #立即生效
#

修改服务器系统时间

  #date -s hh:mm:ss

  #date -s yy/mm/dd

  #clock -w

安装:

   1、安装依赖包

      #yum -y install openssl openssl-devel gcc

   2、安装lzo软件包

      #cd /usr/local/src

      #wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
      #tar xzvf lzo-2.09.tar.gz 
      #cd lzo-2.09
      #./configure --prefix=/usr
      #make

        #make check

      #make test

      #make install

   3、安装open***软件包

      #cd /usr/local/src/

      #tar xzvf open***-2.2.1.tar.gz 
      #cd open***-2.2.1
      #./configure --with-lzo-lib=/usr
      #make
      #make install

   4、Open***服务器端的配置

      1、建立CA信息:

        #vim /usr/local/src/open***-2.2.1/easy-rsa/2.0/vars

          export KEY_COUNTRY="CN"    #定义你所在的国家。2个字符为限

          export KEY_PROVINCE="BJ"  #表示你所在的省份

          export KEY_CITY="Beijing"   #表示你所在的尘世

          export KEY_ORG="open***"  #表示你所在的组织

          export KEY_EMAIL="open***.com"  #表示你所在的组织

          export KEY_EMAIL="xx@open***.com"  #表示你的邮箱地址

      2、接下来:

        #cd /usr/local/src/open***-2.2.1/easy-rsa/2.0/

        #source vars

        此命令输出如下结果:

          NOTE:when you run ./clean-all, I will be doing a rm -rf on/etc/open***/easy-rsa/keys

      3、初始化keys目录,创建所需要的文件和目录。如果生成了第一个客户端的证书文件,以后生成第二个客户端证书文件时这不不许在执行,它会清空所有证书。请注意!

        #./clean-all     

      4、生成root CA证书。用来签发server和client证书,密钥跟OpenSSL 紧密结合。如果没有修改的地方,一路回车即可。

        #./build-ca

               Generatinga 2048 bit RSA private key

               ......................................................+++

               ............................................................+++

               writingnew private key to 'ca.key'

               -----

 

               Youare about to be asked to enter information that will be incorporated

               intoyour certificate request.

                Whatyou are about to enter is what is called a Distinguished Name or a DN.

               Thereare quite a few fields but you can leave some blank

               Forsome fields there will be a default value,

               Ifyou enter '.', the field will be left blank.

 

               -----

               CountryName (2 letter code) [IN]: ----> Press Enter

               Stateor Province Name (full name) [TN]: ----> Press Enter

               LocalityName (eg, city) [Erode]: ----> Press Enter

               OrganizationName (eg, company) [Unixmen]: ----> Press Enter

               OrganizationalUnit Name (eg, section) [server]: ----> Press Enter

               CommonName (eg, your name or your server's hostname)[...] ----> Press Enter

               Name[...]   ----> Press Enter

               EmailAddress[...] ----> Press Enter

      5、查看是否生成文件

        #ls -lsart keys |grep ca

          4 -rw-------. 1 root root 916 Nov 2 13:06 ca.key

          4 -rw-r--r--. 1 root root 1196 Nov 2 13:06 ca.crt

      6、生成Diffie-Hellman 文件,后面配置OPen*** server 需要此文件

        #./build-dh

         不要打断,不要做任何操作,等待生成完成。

      7、为服务器生成证书和密钥

        #./build-key-server server    

          一路回车,最后Sign the certificate? [y/n]  和 1 out of 1 certificate requests certified,commit?[y/n]  输入y

      8、为客户端生成证书和密钥

        #./build-key client1

          一路回车,最后Sign the certificate? [y/n]  和 1 out of 1 certificate requests certified,commit?[y/n]  输入y

      9、修改Open***服务器的配置文件 /etc/open***/server.conf

        #mkdir /etc/open***

        #cp /usr/local/src/open***-2.2.1/sample-config-files/server.conf /etc/open***/server.conf

        #vim /etc/open***/server.conf

          1. 将 proto udp 改成 proro tcp ,即服务启动用TCP 的1194 端口

            proto tcp

            ;proto udp

          2.设置 ca、cert、key、dh 的存放路径

            ca /usr/local/src/open***-2.2.1/easy-rsa/2.0/keys/ca.crt

            cert /usr/local/src/open***-2.2.1/easy-rsa/2.0/keys/server.crt

            key /usr/local/src/open***-2.2.1/easy-rsa/2.0/keys/server.key

            dh /usr/local/src/open***-2.2.1/easy-rsa/2.0/keys/dh1024.pem

          3.设置open*** 启动后的***网络(tunal  IP),注意不要与实际IP冲突

            server 192.168.111.1 255.255.255.0

          4.设置open*** 下发路由:

            ;push "route 192.168.10.0 255.255.255.0"

            ;push "route 192.168.20.0 255.255.255.0"
            push "route 192.168.100.0 255.255.255.0"

          5.verb 3 改成 verb 5    #方便查看更多的调试信息日志。

          6.open*** server 配置文件其他配置信息还有很多,请自行参考官方文档。

 

      10、open*** 启动前配确认配置:

        1、关闭防火墙和 selinux

        2、开启内核转发功能:

          #echo "1" > /proc/sys/net/ipv4/ip_forward

         保持开机自动启动

            #vim /etc/sysctl.conf     #修改为如下: 

               # Controls IP packet forwarding

               net.ipv4.ip_forward = 1

            #sysctl -p (刷新,立即生效)

       11、开启open***服务

          #/usr/local/sbin/open*** --config /etc/open***/server.conf &

          

       12、查看open*** 服务

          # lsof -i:1194

            COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
            open***   2294   root   5u   IPv4   15486   0t0   TCP *:open*** (LISTEN)

       13、客户端配置:

          1、在客户端尽量现在和服务器open*** 版本一直的客户端 http://swupdate.open***.org/community/releases/open***-2.2.1-install.exe   

          2、将生成的客户端ca.crt、 ca.src 、client1.key、client1.csr、client1.crt 放置在客户端 open*** 安装目录的config目录下。

          3、编写客户端文件

            #cp /usr/local/src/open***-2.2.1/sample-config-files/client.conf   /etc/open***/client.o***    #必须为  .o*** 格式的后缀。

            #vim /etc/open***/client.o***

              client

              dev tun

              proto tcp

              remote  111.111.111.100 1194

              persist-key

              persist-tun

              ca ca.crt

              cert client1.crt

              key client1.key

              ns-cert-type server

              comp-lzo

              verb 5

              redirect-gateway def1  (可以不添加,如果添加,客户端的多有流量都必须从open***服务器经过,如果访问外网不希望经过open***服务器,此条可以不加)

          4、将 client.o*** 文件也放置客户端 的config 目录下

        14、在open***服务器上添加到内网 的相应路由:

          #route add -net 192.168.100.0/24 gw 192.168.1.1

       15、在路由设备上添加路由:

           #ip route 192.168.111.0 255.255.255.0 192.168.1.100 

       16、设置开机自启动:

          #vim /etc/rc.loacl

             route add -net 192.168.100.0/24 gw 192.168.1.1 

             /usr/local/sbin/open*** --config /etc/open***/server.conf &