Linux版Open***安裝、配置教程

Linux版Open***安裝、配置教程

來源:原創  707次瀏覽 3條評論

本文主要介紹軟件Open***的相關內容:Linux版Open***安裝、配置教程

   其下列版本/分支可以參考本文:

  • Open*** Linux版:[全部分支]

其他版本/分支請點擊這裏查看:[Open***安裝、配置]


本文將以目前最新的open***-2.3.4.tar.gz(更新於2014-5-2,下載地址)爲例來介紹如何在Linux系統中安裝、配置及使用Open***。

在這裏,我們選用了一臺預裝CentOS 6.5 64位系統的計算機作爲Open***服務器,一臺預裝Ubuntu 14.04 64位系統的計算機作爲Open***客戶端,來演示Linux版Open***的安裝配置操作過程。實際上,Open***並不區分Linux發行版本,幾乎所有的配置都是一樣的,因此Red Hat、Fedora、SUSE等Linux發行版均可參考本文。

安裝Open***的前提條件

在安裝Open***之前你必須確保你已經安裝了C編譯器(例如gcc)、OpenSSL、LZO(一種無損壓縮算法)、PAM(一種可插入式的身份驗證模塊)。如果你安裝了yum,可以使用如下命令來安裝這些工具(選擇性地安裝之前沒有安裝的軟件包即可):

#安裝gcc、openssl、lzo、pam
yum install
-y gcc openssl-devel lzo-devel pam-devel
Ubuntu、Debian等系統使用apt-get進行安裝,安裝命令請參考這裏

安裝Linux版Open***

首先,我們需要先下載Open***安裝程序,上面已經給出了Linux版Open***的下載地址,在這裏我們就不多說了。

在這裏,我們將下載的安裝文件移動到/usr/local/文件夾中(你也可以自行移動到其他目錄)。

Open***安裝文件

接着,我們使用tar命令,將該壓縮文件解壓到當前目錄,完整命令爲:tar zxf open***-2.3.4.tar.gz

解壓後的Open***目錄

接着,我們依次執行如下命令:

#跳轉到解壓後的open***目錄
cd open***
-2.3.4
#調用configure
./configure
#編譯
make
#安裝
make install

Open***配置

安裝Open***完畢後,接下來就應該配置Open***,以便於其能正常工作。配置Open***主要有兩個步驟:一是生成服務器和客戶端所需的各種證書,二是編寫服務器和客戶端所需的配置文件。

下載easy-rsa

想要生成各種證書和密鑰,我們還要用到easy-rsa(只有服務器端需要easy-rsa,客戶端無需安裝)。坑爹的是,Open*** 2.3.x並沒有自帶這個東西,我們還需要去GitHub下載easy-rsa。更坑爹的是,GitHub上的easy-rsa已經升級到了3.0版本,該版本幾乎重寫了之前所有的程序代碼,連使用方法都全變了,然而Open***的官方文檔並沒有作相應更新,其中介紹的仍然是easy-rsa 2.0的操作方法。爲了避免不必要的麻煩,我們推薦下載2.0版本的easy-rsa,你也可以直接點擊這裏下載。

在這裏我們將下載的easy-rsa-release-2.x.zip文件放在/root目錄中。我們依次執行如下命令:

#轉到easy-rsa安裝文件所在目錄
cd
/root/
#解壓該安裝文件
unzip
-q easy-rsa-release-2.x.zip

執行結果如下圖所示(其中的ls命令用於查看文件列表):

解壓easy-rsa

接着,我們將上圖中所標註的easy-rsa-release-2.x/easy-rsa文件夾複製到Open***的解壓目錄中,命令如下:

#複製解壓後的easy-rsa目錄到Open***解壓目錄下
cp
-r easy-rsa-release-2.x/easy-rsa /usr/local/open***-2.3.4

複製easy-rsa

然後,我們執行命令cd /usr/local/open***-2.3.4/easy-rsa/2.0從而進入Open***下的easy-rsa/2.0目錄。

easy-rsa的2.0目錄文件列表

上面說了這麼多,實際上就只是下載了easy-rsa 2.0,並將解壓後的easy-rsa子目錄複製到了Open***的主目錄下。這裏的文件夾2.0就是我們以後生成各種證書和密鑰的根據地了。

使用easy-rsa生成CA證書

在生成證書之前,我們建議你對2.0目錄中的vars文件稍作修改。vars文件存儲的是一些用戶變量設置信息,每次生成證書都會使用到其中的某些變量。如下圖所示,我們着重建議你關注紅色矩形框內的變量,並選擇性地對其進行修改(你可以不修改這些參數,但不要把這些參數留空)。

KEY_SIZE:表示密鑰的長度,一般爲1024或2048(長度越長,性能耗費越多)。

#下面是一些用戶相關信息配置
KEY_COUNTRY:所在國家
KEY_PROVINCE:所在省
KEY_CITY:所在城市
KEY_ORG:所在組織
KEY_EMAIL:郵箱地址
KEY_OU:機構單位或部門名稱

vars文件部分內容

下面,我們就開始來生成證書了。保持當前目錄爲Open***根目錄/easy-rsa/2.0。然後依次執行下列命令:

#初始化命令,用於設置後續命令所需的相關變量信息
. ./vars
#清除之前創建的所有證書和密鑰
./clean-all
#生成CA證書和密鑰
./build-ca
注意:證書的用戶信息可以根據需要自行輸入。如果不輸入、直接回車,則表示該字段使用"[]"中的默認值(也就是前面vars文件中設置的參數值);如果輸入".",則表示該字段留空。在這裏需要注意Common Name字段,這相當於證書的"用戶名",請確保每個證書的Common Name字段是唯一的。

執行初始化命令並創建CA證書

到這裏,我們的CA證書和密鑰就已經生成成功了,生成的證書和密碼默認均存放在當前目錄的子文件夾keys中。

生成服務器端證書

接下來,我們爲服務器和客戶端生成各自所需的證書和密鑰(所有的證書和密鑰都必須由Open***服務器上的easy-rsa生成)。

我們可以執行命令./build-key-server server來生成服務器端所需的證書和密鑰。如下圖所示,與創建CA證書一樣,我們先輸入證書的相關信息,並在最後輸入兩次"y"確認生成即可。

生成server端證書和密鑰

生成客戶端證書

與創建服務器端證書類似,我們可以使用命令./build-key clientName來生成客戶端證書和密鑰,其中clientName爲自定義的客戶端名稱(例如:client1、client2、jim、tom)。如果需要爲多個客戶端生成證書,只需要分別執行多次即可。

生成客戶端證書和密鑰

生成迪菲·赫爾曼交換密鑰

此外,我們還需要爲Open***的服務器端創建迪菲·赫爾曼交換密鑰,命令爲./build-dh(無需額外輸入,耐心等待生成完畢即可)。迪菲·赫爾曼交換密鑰是一種安全協議,用以對數據進行加密。

生成迪菲·赫爾曼交換密鑰

生成TLS-auth密鑰

這一步驟是可選操作。Open***提供了TLS-auth功能,可以用來抵禦Dos、UDP端口淹沒***。出於安全考慮,你可以啓用該功能;啓用該功能,你需要執行命令open*** --genkey --secret keys/ta.key來生成TLS-auth所需的密鑰文件。

到這裏,我們的證書生成就告一段落了。如果你以後想要生成新的客戶端或執行其他操作,只需要先執行命令. ./vars,然後執行相應的命令即可,例如./build-key client2

最後,我們來看看我們一共生成了哪些證書和密鑰。

編號①:CA證書和密鑰
編號②:客戶端client1的證書和密鑰,
編號③:迪菲·赫爾曼交換密鑰 (如果你的KEY_SIZE=1024,則該文件名稱爲dh1024.pem)。
編號④:服務器端證書和密鑰。
編號⑤:啓用tls-auth所需的文件。

生成的所有證書文件和密鑰

編寫配置文件

衆所周知,Open***雖然可以分爲客戶端和服務器,不過它們的安裝程序是完全一樣的,只是通過不同的證書和配置文件來進行區分。在這裏,我們先在Open***主目錄下創建一個config目錄,並將其所需的證書和密鑰文件拷貝到該目錄中。

其中,服務器端需要用到的文件有:

ca.crt
ca.key
dh2048.pem (如果最初的變量KEY_SIZE設爲1024,這裏就是dh1024.pem)
server.crt
server.key
ta.key (如果不開啓tls-auth,則無需該文件)

客戶端client1需要用到的文件有:

ca.crt
client1.crt
client1.key (名稱client1根據個人設置可能有所不同)
ta.key (如果不開啓tls-auth,則無需該文件)

在這裏,我們以Open***服務器端爲例來演示上述操作流程。

#創建config目錄
mkdir
/usr/local/open***-2.3.4/config
#複製證書和密鑰文件到config目錄
cp keys
/ca.crt keys/ca.key keys/server.crt keys/server.key keys/dh2048.pem keys/ta.key /usr/local/open***-2.3.4/config

拷貝證書和密鑰文件

此外,我們還需要爲服務器和每個客戶端的config目錄分別編寫一個配置文件,服務器端的配置文件爲server.conf,客戶端的配置文件爲client.conf。

這兩個配置文件該如何編寫呢?Open***已經在sample/sample-config-files子目錄中爲我們提供了相關的示例文件server.conf和client.conf,並且配置文件中的每個配置選項均有詳細的英文說明(配置文件中"#"或";"開頭的均爲註釋內容)。

Open***提供的示例配置文件

現在,我們先將server.conf文件拷貝到config目錄中,然後再對其進行修改。

#轉到simple-config-files目錄
cd
/usr/local/open***-2.3.4/sample/sample-config-files
#複製server.conf到config目錄中
cp server
.conf /usr/local/open***-2.3.4/config

複製到config目錄中

在這裏,我們先給出server.conf的詳細配置,並註明每項配置的作用。

local 192.168.1.106     #指定監聽的本機IP(因爲有些計算機具備多個IP地址),該命令是可選的,默認監聽所有IP地址。
port
1194             #指定監聽的本機端口號
proto udp            
#指定採用的傳輸協議,可以選擇tcp或udp
dev tun              
#指定創建的通信隧道類型,可選tun或tap
ca ca
.crt             #指定CA證書的文件路徑
cert server
.crt       #指定服務器端的證書文件路徑
key server
.key    #指定服務器端的私鑰文件路徑
dh dh2048
.pem         #指定迪菲赫爾曼參數的文件路徑
server
10.0.0.0 255.255.255.0   #指定虛擬局域網佔用的IP地址段和子網掩碼,此處配置的服務器自身佔用10.0.0.1。
ifconfig
-pool-persist ipp.txt   #服務器自動給客戶端分配IP後,客戶端下次連接時,仍然採用上次的IP地址(第一次分配的IP保存在ipp.txt中,下一次分配其中保存的IP)。
tls
-auth ta.key 0     #開啓TLS-auth,使用ta.key防禦***。服務器端的第二個參數值爲0,客戶端的爲1。
keepalive
10 120      #每10秒ping一次,連接超時時間設爲120秒。
comp
-lzo              #開啓***連接壓縮,如果服務器端開啓,客戶端也必須開啓
client
-to-client      #允許客戶端與客戶端相連接,默認情況下客戶端只能與服務器相連接
persist
-key
persist
-tun           #持久化選項可以儘量避免訪問在重啓時由於用戶權限降低而無法訪問的某些資源。
status open***
-status.log    #指定記錄Open***狀態的日誌文件路徑
verb
3                #指定日誌文件的記錄詳細級別,可選0-9,等級越高日誌內容越詳細
接着是客戶端配置文件client.conf。
client         #指定當前***是客戶端
dev tun        
#必須與服務器端的保持一致
proto udp      
#必須與服務器端的保持一致
remote
192.168.1.106 1194      #指定連接的遠程服務器的實際IP地址和端口號
resolv
-retry infinite    #斷線自動重新連接,在網絡不穩定的情況下(例如:筆記本電腦無線網絡)非常有用。
nobind        
#不綁定特定的本地端口號
persist
-key
persist
-tun
ca ca
.crt      #指定CA證書的文件路徑
cert client1
.crt       #指定當前客戶端的證書文件路徑
key client1
.key    #指定當前客戶端的私鑰文件路徑
ns
-cert-type server      #指定採用服務器校驗方式
tls
-auth ta.key 1     #如果服務器設置了防禦DoS等***的ta.key,則必須每個客戶端開啓;如果未設置,則註釋掉這一行;
comp
-lzo              #與服務器保持一致
verb
3                #指定日誌文件的記錄詳細級別,可選0-9,等級越高日誌內容越詳細
實際上,將兩個模板文件中與IP地址有關的配置修改一下,就可以直接拿來使用。
關於Open***配置文件的更多信息請參考server.conf配置詳解client.conf配置詳解

啓動Open***

當我們把服務器和客戶端所需的證書、密鑰和配置文件都分配完畢之後,我們就可以嘗試啓動Open***來檢查我們的工作成果了。

在Linux中,我們可以直接執行以下命令來啓動Open***:

open*** 配置文件路徑

如果你是服務器端,就指定server.conf文件的路徑,如果你是客戶端就指定client.conf文件的路徑。

請注意:

  1. 配置文件中的文件路徑涉及到相對路徑的,均以啓動Open***時的所在目錄爲準。由於我們在配置文件中設置的文件路徑都是相對

    config

    目錄的路徑,因此我們也只能在

    config

    目錄下才能正常啓動Open***。如果你想在任何地方都能使用上述命令啓動Open***,建議你將配置文件與文件路徑相關的部分全部改爲絕對路徑。

  2. Open***服務器所在計算機必須允許Open***通過防火牆,你可以禁用掉防火牆,或者將Open***設爲可信程序,或者開放1194端口。

  3. 啓動服務器和客戶端都需要一定的權限,建議用

    root

    賬戶或sudo命令進行啓動。

以下就是Open***服務器的啓動效果:

啓動Open***服務器成功

客戶端的啓動效果如下:

啓動Open***客戶端成功

我們在客戶端嘗試ping服務器的虛擬IP地址10.0.0.1,順利ping通。

Open***客戶端ping服務器IP地址

作者:軟件指南針(http://www.softown.cn),轉載請保留出處!

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