阿里雲服務器上搭建open***

    爲了能從辦公室直接連進ECS(阿里雲服務器)進行調試,因此這幾天斷斷續續是研究開源×××軟件pptp和open***,直到今天才成功.(這裏很鄙視阿里雲的客服和售後工程師,一會說能搭建***,一會說又不能,我就*了;同時也很鄙視阿里的路由表,弄的我蛋都碎光了)
linux

    吐槽到此爲止,接下來進入咱們今天的正題:open***。
ubuntu

一)初識
vim

    Open××× 是一個基於 OpenSSL 庫的應用層 ××× 實現。和傳統 ××× 相比,它的優勢是簡單易用。windows

    Open×××容許參與創建×××的單點使用共享金鑰,電子證書,或者用戶名/密碼來進行身份驗證。它大量使用了OpenSSL加密庫中的SSLv3/TLSv1 協議函式庫。Open×××能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X與Windows 2000/XP/Vista上運行,幷包含了許多安全性的功能。它並非一個基於Web的×××軟件,也不與IPsec及其餘×××軟件包兼容。安全

二)環境    bash

    ***:CentOS release 6.5 (Final) 服務器

    客戶端:win8(其餘客戶端安裝方法,請見博文最後)
app

三)安裝dom

  1. 安裝基礎包tcp

    yum install openssl-devel pam-devel gcc -y
    wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
 
    tar xvfz openssl-1.0.1g.tar.gz 
 
    cd openssl-1.0.1g
 
    ./config --prefix=/usr/local
 
    make && make installs
    
    wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz
 
    tar zxvf lzo-2.06.tar.gz
 
    cd lzo-2.06
 
    ./configure --prefix=/usr/local
 
    make && make install

2.安裝open***服務端

針對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命令安裝Open×××

yum install -y open***


3.生成證書

使用easy-rsa腳本產生Open×××所需的CA證書、CA私鑰、服務端證書、服務端私鑰、客戶端證書、客戶端私鑰
先將easy-rsa腳本copy到/etc/open***,並添加可執行權限

cp -R /usr/share/doc/open***-*/easy-rsa /etc/open*** 
cd /etc/open***/easy-rsa/2.0
chmod +x  *

配置PKI

/etc/open***/easy-rsa/2.0
vi /etc/open***/easy-rsa/2.0/vars

找到「export KEY_SIZE=」這行,根據狀況把1024改爲2048或者4096

再定位到最後面,會看到相似下面這樣的

export KEY_COUNTRY=」US」
export KEY_PROVINCE=」CA」
export KEY_CITY=」SanFrancisco」
export KEY_ORG=」Fort-Funston」
export KEY_EMAIL=」me@myhost.mydomain「

這個本身根據狀況改一下,不改也能夠運行。其實不改vars這個文件,***也能夠跑起來。

例如:

export KEY_COUNTRY=」CN」
export KEY_PROVINCE=」SH」
export KEY_CITY=」Shanghai」
export KEY_ORG=」ucloud.cn」
export KEY_EMAIL=」xxx@xxx.cn「

注:在後面生成服務端ca證書時,這裏的配置會做爲缺省配置。

而後使用easy-rsa的腳本產生證書

ln -s openssl-1.0.0.cnf openssl.cnf
. vars
./clean-all
./build-ca server
./build-key-server server
./build-key client
./build-dh

4.配置服務端

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

# 設置監聽端口,必需要對應的在防火牆裏面打開
port 1194

# 設置用TCP仍是UDP協議?
;proto tcp
proto tcp

# 設置建立tun的路由IP通道,仍是建立tap的以太網通道路由IP容易控制,因此推薦使用它;
# 但若是如IPX等必須使用第二層才能經過的通信,則能夠用tap方式,tap也就是以太網橋接
;dev tap
dev tun

# 這裏是重點,必須指定SSL/TLS root certificate (ca),
# certificate(cert), and private key (key)
# ca文件是服務端和客戶端都必須使用的,但不須要ca.key
# 服務端和客戶端指定各自的.crt和.key
# 請注意路徑,可使用以配置文件開始爲根的相對路徑,
# 也可使用絕對路徑
# 請當心存放.key密鑰文件
 

# 指定Diffie hellman parameters.
dh /etc/open***/easy-rsa/2.0/keys/dh1024.pem

# 配置×××使用的網段,Open×××會自動提供基於該網段的DHCP服務,但不能和任何一方的局域網段重複,保證惟一


# 維持一個客戶端和virtual IP的對應表,以方便客戶端從新鏈接能夠得到一樣的IP
#ifconfig-pool-persist ipp.txt

# 爲客戶端建立對應的路由,以另其通達公司網內部服務器
# 但記住,公司網內部服務器也須要有可用路由返回到客戶端
;push "route 192.168.20.0 255.255.255.0"
#push "route 10.6.0.0 255.255.0.0"

# 若客戶端但願全部的流量都經過×××傳輸,則可使用該語句
# 其會自動改變客戶端的網關爲×××服務器,推薦關閉
# 一旦設置,請當心服務端的DHCP設置問題


# 用Open×××的DHCP功能爲客戶端提供指定的DNS、WINS等
push "dhcp-option DNS   8.8.8.8"
#push "dhcp-option WINS 10.8.0.1"

# 默認客戶端之間是不能直接通信的,除非把下面的語句註釋掉


# 下面是一些對安全性加強的措施
# For extra security beyond that provided by SSL/TLS, create an "HMAC firewall"
# to help block DoS attacks and UDP port flooding.
#
# Generate with:
# open*** --genkey --secret ta.key
#
# The server and each client must have a copy of this key.
# The second parameter should be 0 on the server and 1 on the clients.
tls-auth ta.key 0 # This file is secret

# 使用lzo壓縮的通信,服務端和客戶端都必須配置


# 輸出短日誌,每分鐘刷新一次,以顯示當前的客戶端
status /var/log/open***/open***-status.log

# 缺省日誌會記錄在系統日誌中,但也能夠導向到其餘地方
# 建議調試的使用先不要設置,調試完成後再定義
log         /var/log/open***.log
#log-append  /var/log/open***/open***.log


# 設置日誌的級別
#
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose

5.打開服務器路由轉發功能

vim /etc/sysctl.conf

修改如下內容

net.ipv4.ip_forward = 1 
# 而後使內核參數生效: 

sysctl -p
路由轉發
#iptables-t nat -A POSTROUTING -s 172.1.1.0/24 -o eth1 -j MASQUERADE  
#添加NAT  172.1.1.0/24是OPEN×××的地址 10.161.xxx.xxx是阿里ECS的內網地址(ifconfig eth0)
 
iptables -tnat -A POSTROUTING -s 172.1.1.0/24 -j SNAT --to-source 10.161.XXX.XXX 
 
#保存iptables
 
service iptables save

啓動open***

chkconfig open*** on
/etc/init.d/open*** start

四)open***客戶端配置

對於windows客戶端

    客戶端安裝完成後,進入到安裝目錄,如D:\Program Files\Open×××。將Linux服務端使用easy-rsa產生的客戶端證書、私鑰和ca證書下載到本地。即須要下載到本地的文件以下:

/etc/open***/easy-rsa/2.0/keys/ca.crt       #ca證書
/etc/open***/easy-rsa/2.0/keys/client.crt   #客戶端證書
/etc/open***/easy-rsa/2.0/keys/client.key   #客戶端私鑰

    將這些文件下載到..\.\Open×××\config下。
編輯客戶端Open×××配置文件client.o***,內容以下:

client
dev tun
proto tcp
remote 115.29.xxx.xxx 1194  #阿里雲的***外網ip和端口
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt        #一系列證書位置
cert client.crt
key client.key
comp-lzo
verb 3
ns-cert-type server
ip-win32 dynamic 0 28800  #windows
route-method exe
route-delay 3



    到這裏算是大工完成了,主要是iptables和路由表會比較蛋疼,測試和排錯的過程就不展現了。


    下面給幾個其餘客服端的配置:

ubuntu:http://www.linuxidc.com/Linux/2013-06/86562.htm

Mac:

https://code.google.com/p/tunnelblick/

1.打開Tunnelblick

2.點擊左下角+

3.我有設置文件

4.Open×××設置

5.打開私人設置文件夾

6.將key和新建的client.o***放到此目錄下

相關文章
相關標籤/搜索