Open××× 服务器搭建_第1张图片
一、安装环境 
所用系统:RedHat AS4U3,详情如下:
 
   
   
   
   
  1. [root@as4u3 ~]# uname -a 
  2. Linux as4u3 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux  

二、软件包 
1、lzo-2.03.tar.gz 用于***的数据压缩 
下载页面:http://www.oberhumer.com/opensource/lzo/download/ 
2、open***-2.0.9.tar.gz 
下载页面:http://open***.net/index.php/downloads.html 
下载地址:http://open***.net/release/open***-2.0.9.tar.gz
 
三、Open×××服务器端安装和配置 
1、安装lzo 
 
   
   
   
   
  1. tar -zxvf lzo-2.03.tar.gz  
  2. cd lzo-2.03  
  3. ./configure   --prefix=/usr/local/lzo  
  4. make   
  5. make check   
  6. make test  
  7. make install  
2、安装open*** 
 
   
   
   
   
  1. tar -zxvf open***-2.0.9.tar.gz  
  2. cd open***-2.0.9  
  3. ./configure --prefix=/usr/local/open*** --with-lzo-headers=/usr/local/lzo/include --with-lzo-lib=/usr/local/lzo/lib  --with-ssl-headers=/usr/include/openssl --with-ssl-lib=/usr/lib  
  4. make  
  5. make install  
3、生成证书和Key 
 
   
   
   
   
  1. [root@as4u3 open***-2.0.9]# cd easy-rsa/  
  2. [root@as4u3 easy-rsa]# vi vars     
  3. export D=`pwd` 
  4. export KEY_CONFIG=$D/openssl.cnf 
  5. export KEY_DIR=$D/keys 
  6. echo NOTE: when you run ./clean-all, I will be doing a rm -rf on $KEY_DIR 
  7. export KEY_SIZE=1024  
  8. export KEY_COUNTRY=CN 
  9. export KEY_PROVINCE=BJ 
  10. export KEY_CITY=BJ 
  11. export KEY_ORG="test" 
  12. export KEY_EMAIL="[email protected]"     
  13. [root@as4u3 easy-rsa]# . vars  
  14. NOTE: when you run ./clean-all, I will be doing a rm -rf on /home/open***-2.0.9/easy-rsa/keys 
  15. [root@as4u3 easy-rsa]# ./clean-all  
  16. [root@as4u3 easy-rsa]# ./build-ca  
  17. Generating a 1024 bit RSA private key 
  18. ............................................++++++ 
  19. .................++++++ 
  20. writing new private key to 'ca.key' 
  21. ----- 
  22. You are about to be asked to enter information that will be incorporated 
  23. into your certificate request. 
  24. What you are about to enter is what is called a Distinguished Name or a DN. 
  25. There are quite a few fields but you can leave some blank 
  26. For some fields there will be a default value, 
  27. If you enter '.', the field will be left blank. 
  28. ----- 
  29. Country Name (2 letter code) [CN]: 
  30. State or Province Name (full name) [BJ]: 
  31. Locality Name (eg, city) [BJ]: 
  32. Organization Name (eg, company) [test]: 
  33. Organizational Unit Name (eg, section) []:test 
  34. Common Name (eg, your name or your server's hostname) []:server 
  35. Email Address [[email protected]]:  
  
# 建立 server key 
 
   
   
   
   
  1. [root@as4u3 easy-rsa]# ./build-key-server server 
  2. Generating a 1024 bit RSA private key 
  3. ................++++++ 
  4. ..........................................................++++++ 
  5. writing new private key to 'server.key' 
  6. ----- 
  7. You are about to be asked to enter information that will be incorporated 
  8. into your certificate request. 
  9. What you are about to enter is what is called a Distinguished Name or a DN. 
  10. There are quite a few fields but you can leave some blank 
  11. For some fields there will be a default value, 
  12. If you enter '.', the field will be left blank. 
  13. ----- 
  14. Country Name (2 letter code) [CN]: 
  15. State or Province Name (full name) [BJ]: 
  16. Locality Name (eg, city) [BJ]: 
  17. Organization Name (eg, company) [test]: 
  18. Organizational Unit Name (eg, section) []:test 
  19. Common Name (eg, your name or your server's hostname) []:server 
  20. Email Address [[email protected]]:  
  21. Please enter the following 'extra' attributes 
  22. to be sent with your certificate request 
  23. A challenge password []:123456 
  24. An optional company name []:test 
  25. Using configuration from /home/open***-2.0.9/easy-rsa/openssl.cnf 
  26. Check that the request matches the signature 
  27. Signature ok 
  28. The Subject's Distinguished Name is as follows 
  29. countryName           :PRINTABLE:'CN' 
  30. stateOrProvinceName   :PRINTABLE:'BJ' 
  31. localityName          :PRINTABLE:'BJ' 
  32. organizationName      :PRINTABLE:'test' 
  33. organizationalUnitName:PRINTABLE:'test' 
  34. commonName            :PRINTABLE:'server' 
  35. emailAddress          :IA5STRING:'[email protected]' 
  36. Certificate is to be certified until Aug 23 13:32:35 2018 GMT (3650 days) 
  37. Sign the certificate? [y/n]:y  
  38.  
  39. out of 1 certificate requests certified, commit? [y/n]y 
  40. Write out database with 1 new entries 
  41. Data Base Updated  
  42.     
# 生成客户端 
 
   
   
   
   
  1. [root@as4u3 easy-rsa]# ./build-key client1   
  2. Generating a 1024 bit RSA private key 
  3. ........................................++++++ 
  4. ..................................++++++ 
  5. writing new private key to 'client1.key' 
  6. ----- 
  7. You are about to be asked to enter information that will be incorporated 
  8. into your certificate request. 
  9. What you are about to enter is what is called a Distinguished Name or a DN. 
  10. There are quite a few fields but you can leave some blank 
  11. For some fields there will be a default value, 
  12. If you enter '.', the field will be left blank. 
  13. ----- 
  14. Country Name (2 letter code) [CN]: 
  15. State or Province Name (full name) [BJ]: 
  16. Locality Name (eg, city) [BJ]: 
  17. Organization Name (eg, company) [test]: 
  18. Organizational Unit Name (eg, section) []:test 
  19. Common Name (eg, your name or your server's hostname) []:client1  #重要: 每个不同的 client 生成的证书, 名字必须不同.   
  20. Email Address [[email protected]]:  
  21. Please enter the following 'extra' attributes 
  22. to be sent with your certificate request 
  23. A challenge password []:123456 
  24. An optional company name []:test 
  25. Using configuration from /home/open***-2.0.9/easy-rsa/openssl.cnf 
  26. Check that the request matches the signature 
  27. Signature ok 
  28. The Subject's Distinguished Name is as follows 
  29. countryName           :PRINTABLE:'CN' 
  30. stateOrProvinceName   :PRINTABLE:'BJ' 
  31. localityName          :PRINTABLE:'BJ' 
  32. organizationName      :PRINTABLE:'test' 
  33. organizationalUnitName:PRINTABLE:'test' 
  34. commonName            :PRINTABLE:'client1' 
  35. emailAddress          :IA5STRING:'[email protected]' 
  36. Certificate is to be certified until Aug 23 13:36:55 2018 GMT (3650 days) 
  37. Sign the certificate? [y/n]:y  
  38.  
  39. out of 1 certificate requests certified, commit? [y/n]y 
  40. Write out database with 1 new entries 
  41. Data Base Updated  
 
依次类推生成其他客户端证书/key  
./build-key client2  
./build-key client3  
注意:在进入 Common Name (eg, your name or your server's hostname) []: 的输入时, 每个证书输入的名字必须不同.  
  
   
   
   
   
  1. [root@as4u3 easy-rsa]# ./build-dh  
  2. Generating DH parameters, 1024 bit long safe prime, generator 2 
  3. This is going to take a long time 
  4. .....................+................................................+........................+..........................+...............+.........................+......................................................................................+......................+..+.......................................................+...............+...................................................................................................+................................+.......+..................+...............................................................................+................+.........+...........................+.....+.................................+............................................................................+...............+..........++*++*++*  
  5.    
  
4、创建服务端配置文件 
 
   
   
   
   
  1. mkdir /usr/local/open***/etc  
  2. cd open***-2.0.9/sample-config-files/ # 进入源代码解压目录下的sample-config-files子目录   
  3. cp server.conf /usr/local/open***/etc  # cp服务器配置文件到/usr/local/etc   
  4. vi /usr/local/open***/etc/server.conf 
编辑后的server.conf文件内容如下: 
 
   
   
   
   
  1. port 1194  
  2. proto tcp 
  3. dev tun  
  4. ca /usr/local/open***/etc/keys/ca.crt 
  5. cert /usr/local/open***/etc/keys/server.crt 
  6. key /usr/local/open***/etc/keys/server.key  # This file should be kept secret  
  7. dh /usr/local/open***/etc/keys/dh1024.pem  
  8. ifconfig-pool-persist ipp.txt  
  9. client-to-client 
  10. keepalive 10 120  
  11. comp-lzo  
  12. user nobody 
  13. group nobody  
  14. persist-key 
  15. persist-tun  
  16. status /usr/local/open***/etc/keys/open***-status.log  
  17. verb 4  
  
5、部署server端key文件 
目录可以自行选择只要和server.conf中配置一致就可以,在本例中将key文件放在/usr/local/open***/etc/keys目录, 
 
   
   
   
   
  1. cd open***-2.0.9/easy-rsa/keys # 进入源代码解压目录下的keys子目录   
  2. cp ca.crt  /usr/local/open***/etc/keys/ca.crt 
  3. cp server.crt /usr/local/open***/etc/keys/server.crt 
  4. cp server.key /usr/local/open***/etc/keys/server.key 
  5. cp dh1024.pem /usr/local/open***/etc/keys/dh1024.pem  
  
6、启动open*** server 
 
   
   
   
   
  1. /usr/local/open***/sbin/open*** --daemon --config /usr/local/open***/etc/server.conf  
  
四、Open××× 客户端安装配置 
1、安装 
安装过程同上 
2、生成证书和key 
ca使用上面生成的证书ca.crt,拷贝到client.conf中 ca 指定的位置 
cert使用上面生产的client1.crt,拷贝到client.conf中 cert指定的位置 
key使用上面生产的client1.key,拷贝到client.conf中 key 指定的位置 
  
3、创建客户端配置文件 
 
   
   
   
   
  1. mkdir /usr/local/open***/etc  
  2. cd open***-2.0.9/sample-config-files/ # 进入源代码解压目录下的sample-config-files子目录   
  3. cp client.conf /usr/local/open***/etc  # cp服务器配置文件到/usr/local/etc   
  4. vi /usr/local/open***/etc/client.conf 
编辑后的client.conf文件内容如下: 
 
   
   
   
   
  1. client 
  2. dev tun  
  3. proto tcp  
  4. remote 192.168.8.109 1194 
  5. resolv-retry infinite 
  6. nobind  
  7. persist-key 
  8. persist-tun  
  9. ca /usr/local/open***/etc/keys/ca.crt 
  10. cert /usr/local/open***/etc/keys/client1.crt 
  11. key /usr/local/open***/etc/keys/client1.key  
  12. comp-lzo  
  13. verb 4 
 
4、部署client端key文件 
目录可以自行选择只要和client.conf中配置一致就可以,在本例中将key文件放在/usr/local/open***/etc/keys目录, 
 
   
   
   
   
  1. cd open***-2.0.9/easy-rsa/keys # 进入源代码解压目录下的keys子目录   
  2. cp ca.crt  /usr/local/open***/etc/keys/ca.crt 
  3. cp client1.crt /usr/local/open***/etc/keys/client1.crt 
  4. cp client1.key /usr/local/open***/etc/keys/client1.key  
  5.    
6、启动open*** client 
 
   
   
   
   
  1. /usr/local/open***/sbin/open*** --daemon --config /usr/local/open***/etc/client.conf