歡迎您光臨本站 註冊首頁

OpenVPN在Linux下的安裝配置和使用

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
出處: Dream4ever.org
責任編輯: 原野

  簡介

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

  這裡簡單介紹一下基於 CA ,採用數字證書認證,可以劃分多個網段的 OpenVPN 配置方法。

  Note 1: VNN 和 OpenVPN 很像。

  Note 2: 這個東西對於突破國內網路封鎖,保護通信自由很有意義,值得大力推廣。

  安裝 OpenVPN

  Linux 下的安裝
  
  首先,Kernel 必須支持 TUN/TAP 設備。在 2.6.x 內核中,對應的 Kernel 選項是 “Universal TUN/TAP device driver support”。


  確認 Kernel 支持 TUN/TAP 后,可以下載 OpenVPN 編譯並安裝。這一步很 easy,不多說了。

  Windows 下的安裝

  從 http://www.openvpn.se (http://www.openvpn.se/) 下載安裝包安裝,這裡的安裝包帶一個 Client GUI 工具,很好用。

  配置 OpenVPN

  配置 OpenVPN Server

  只說明在 Linux 下的配置。Windows 類似。創建 /etc/vpn/server.conf,內容如下:

port 1494 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem  server 10.1.0.0 255.255.255.0  push "route 10.1.0.0 255.255.255.0" push "route 10.1.1.0 255.255.255.0"  client-config-dir /etc/vpn/ccd route 10.1.1.0 255.255.255.0  client-to-client  keepalive 10 120  user nobody group nobody  persist-key persist-tun  log-append openvpn.log verb 3


  其中 ca.crt, server.key,server.crt 可以用以前貼出的 ca 工具創建,dh1024.pem 用 OpenVPN 自帶的工具創建。

  這個配置文件創建了兩個網段:10.1.0.* 和 10.1.1.*,VPN 伺服器將從這兩個網段中給 Client 分配 IP 地址。VPN Server 自身 IP 將是 10.0.0.1。

  “client-config-dir”指明 Client 的專有配置文件目錄。在這個目錄下可以針對特定用戶建立配置文件。例如,要為用戶 abc 指定一個 IP 地址(如10.1.1.5)而不是讓 VPN Server 自動分配,可以在配置目錄/etc/vpn/ccd下建立一個 abc 文件,內容如下:

ifconfig-push 10.1.1.5 10.1.1.6


  那麼 VPN Server 就會自動給 abc 用戶分配 10.1.1.5 這個地址。注意第一個IP地址 的最後一個數字(這裡是 5)必須是 4*n + 1 的數。

  問題是,VPN Server 怎麼知道哪個用戶是 abc 呢?它是 Client 數字證書中的 Common Name 域來判斷的。就是說,在連接協商時如果 Client 端數字證書的 Common Name 是 abc,那麼 VPN Server 就找配置目錄下 abc 這個文件。
配置 OpenVPN Client

  在 Client 機器上 OpenVPN 安裝目錄的 config 目錄下建立如下 client.ovpn 文件:

client dev tun proto udp remote vpn_server_ip 1494   ca ca.crt cryptoapicert "SUBJ: abc"  nobind persist-key persist-tun verb 2


  修改 remote 一行填上對應 VPN Server 的 IP 和 埠。ca.crt 和服務端 ca.crt 一樣,必須把這個 ca.crt 也放在 config 目錄下。

  關鍵是 cryptoapicert "SUBJ: abc" 這行。這一行指定客戶端的數字證書從 Windows 證書 Store 里取。在 IE 的“選項 -> 內容 -> 證書”頁面能看到你的個人數字證書。

  SUBJ:abc 指明選擇證書主題中含有 abc 的證書。客戶端數字證書也可以用以前貼的 ca 工具生成,如果要給用戶 abc 簽發數字證書,只用指明 Common Name 是 abc 即可,然後把生成的 abc.p12 傳給 abc 用戶並告訴導入口令。abc 導入這個數字證書後,VPN Client 就可以工作了。

  啟動 OpenVPN

  服務端啟動

  在 /etc/vpn 目錄下,執行:

openvpn --daemon --config server.conf


  客戶端啟動

  OpenVPN 帶一個 GUI 小工具,會裝在系統托盤裡。點菜單里的 connect 即可。

  常見問題

  無法得到 IP 地址

  通常是因為 DHCP Client 服務沒有啟動。在服務管理里啟動即可。


[火星人 ] OpenVPN在Linux下的安裝配置和使用已經有443次圍觀

http://coctec.com/docs/linux/show-post-67660.html