【Environment:環境】
- server:
- OS:ubuntu 8.04。
- client:
- 未定:
【Download:下載】
- http://openvpn.net/release/openvpn-2.0.9.tar.gz :下載檔案
- http://openvpn.net/index.php/open-source/downloads.html :原始連結
wget http://openvpn.net/release/openvpn-2.0.9.tar.gz tar zxvf openvpn-2.0.9.tar.gz
【Install:安裝】
- 準備 OpenSSL、LZO、Pthread library。
sudo apt-get install liblzo2-dev openssl libpthread-stubs0-dev libcurl4-openssl-dev
- 安裝
cd openvpn-2.0.9 ./configure make sudo make install
- 測試
make check
- 測試加密
./openvpn --genkey --secret key ./openvpn --test-crypto --secret key
- 測試 SSL/TLS 協定,請將兩行指令在不同的 terminal 內執行。
./openvpn --config sample-config-files/loopback-client ./openvpn --config sample-config-files/loopback-server
【Generate CA/keys:產生 CA certificate 、 server/client keys】
- 預設安裝目錄為
~/openvpn-2.0.9
- 進入產生認證所需的 script 的 easy-rsa 目錄
cd ~/openvpn-2.0.9/easy-rsa
- 編輯 vars 檔案
vim vars
- vars 內容
export KEY_DIR=$D/keys 存放 key 的目錄 export KEY_SIZE=1024 key 長度 export KEY_COUNTRY=KG 剩下請自行填入,請「不要」讓這些設定「空白」 export KEY_PROVINCE=NA export KEY_CITY=BISHKEK export KEY_ORG="OpenVPN-TEST" export KEY_EMAIL="me@myhost.mydomain"
- vars 內容
- 將 vars 內容加至環境變數中。
.vars 官網教學用這個指令 source vars 我用這個
- 產生主要的 ca
./clean-all 如果你之前有產生過 key ,想要移除之前的 key,請先執行些指令 ./build-ca
- 會產生以下目錄及檔案:
- 產生:keys/
- 產生:keys/ca.crt
- 產生:keys/ca.key
- 產生:keys/index.txt
- 產生:keys/serial
- 會產生以下目錄及檔案:
- 產生 server 的 ca 及 key
./build-key-server server
- 會產生以下目錄及檔案:
- 產生:keys/01.pem
- 產生:keys/index.txt
- 將原本的 index.txt → index.txt.old
- 更新:keys/serial
- 將原本的 serial → serial.old
- 產生:keys/server.crt
- 產生:keys/server.csr
- 產生:keys/server.key
- 會產生以下目錄及檔案:
- 產生 client 的 ca 及 key
./build-key client1
- 會產生以下目錄及檔案:
- 產生:02.pem
- 產生:client1.crt
- 產生:index.txt
- 將原本的 index.txt → index.txt.old
- 產生:index.txt.attr
- 將原本的 serial → serial.old
- 產生:serial
- 產生:client1.csr
- 產生:client1.key
- 會產生以下目錄及檔案:
- 產生 Diffie Hellman 參數
./build-dh
- 結果:在 keys 目錄下所有檔案對照。
Filename Needed By Purpose Secret ca.crt server + all clients Root CA certificate NO ca.key key signing machine only Root CA key YES dh{n}.pem server only Diffie Hellman parameters NO server.crt server only Server Certificate NO server.key server only Server Key YES client1.key client1 only Client1 Key YES client2.crt client2 only Client2 Certificate NO client2.key client2 only Client2 Key YES client3.crt client3 only Client3 Certificate NO client3.key client3 only Client3 Key YES
【Creating configureation files:設定】
Sample openVPN 2.0 configuration file
- server:
- ./sample-config-files/server.conf
local a.b.c.d 輸入你 Server 對外的 IP port 1194 你要監聽那個 por proto tcp 你的 server 要監聽 TCP port proto udp 你的 server 要監聽 UDP port ca ca.crt cert server.crt key server.key # This file should be kept secret client-to-client 是否要讓你的 client 與 client 間可以互相連接
- ./sample-config-files/server.conf
- client:
- ./sample-config-files/client.conf
remote [a.b.c.d Server 對外的 IP] 1194 ca ca.crt cert client.crt key client.key
- ./sample-config-files/client.conf
【Start up the openVPN:啟動 openVPN】
- Server:
openvpn server.conf
- Client:
openvpn client.conf
【指令】
~/openvpn-2.0.9/easy-rsa
- clean-all:將目錄底下存放 key 的目錄整個移除,預設 key 目錄為 :~/openvpn-2.0.9/easy-rsa/key
【Reference:參考資料】
Last modified 15 years ago
Last modified on Aug 6, 2009, 4:08:56 PM
Attachments (1)
- openvpn-2.0.9.tar.gz (653.4 KB) - added by wade 15 years ago.
Download all attachments as: .zip