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

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

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

一)初識

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

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

二)環境    

    ***:CentOS release 6.5 (Final) 

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

三)安裝

  1. 安裝基礎包

    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=”[email protected]

這個自己根據情況改一下,不改也可以運行。其實不改vars這個文件,***也可以跑起來。

例如:

export KEY_COUNTRY=”CN”
export KEY_PROVINCE=”SH”
export KEY_CITY=”Shanghai”
export KEY_ORG=”ucloud.cn”
export KEY_EMAIL=”[email protected]

注:在後面生成服務端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***放到此目錄下


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章