wiki:wade/openVPN

Version 18 (modified by wade, 15 years ago) (diff)

--

【Environment:環境】

  • server:
    • OS:ubuntu 8.04。
  • client:
    • 未定:

【Download:下載】

【Install:安裝】

  • 準備 OpenSSL、LZO、Pthread library。
      sudo apt-get install liblzo2-dev openssl  libpthread-stubs0-dev
    
  • 安裝
      ./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  
    

【產生 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          官網教學用這個指令
    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

【指令】

~/openvpn-2.0.9/easy-rsa

  • clean-all:將目錄底下存放 key 的目錄整個移除,預設 key 目錄為 :~/openvpn-2.0.9/easy-rsa/key

【Reference:參考資料】

Attachments (1)

Download all attachments as: .zip