歡迎您光臨本站 註冊首頁

OpenVPN 實現SSL VPN

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

OpenVPN是一個開源軟體項目,遵循GPL協議,能夠運行於Linux,Windows 2003/XP及更高版本,openBSD,fresBSD,netBSD,MAC OS及Solaris平台,具備完全特性的SSL VPN解決方案,但是與IPSec,L2TP/PPTP,SOCKs v5不兼容,能夠提供access VPN,intranet VPN,WIFI 安全以及企業訪問的VPN功能,支持負載均衡,錯誤恢復以及細粒度的訪問控制.

---通過工業標準的SSL/TLS協議實現了OSI 2層和3層的安全網路擴展,支持靈活的基於證 書,智能卡的客戶端認真方法,允許在VPN虛擬介面上應用防火牆規則實現用戶的訪     問策略,但是OpenVPN並非一個

web代理

---提供了一個針對站點定製的可擴展VPN架構,比如提供了自定義安裝包到客戶端,或者  通過OpenVPN插件模塊實現介面支持可選的認真方法(比如openvpn-auth-pam模塊允 許openvpn用任意

PAM模塊認證客戶端,這種方法可以單獨使用,也可以結合x.509 證書結合使用)

---經過了嚴格的設計,並在不可靠的網路中進行了強度測試.OpenVPN的一個主要設計目 標就是正常操作情況下和錯誤情況下IP層都能快速響應.這意味著如果IP層如果斷開

   了5分鐘,當再次恢復時候的隧道流量就能立刻恢復,即使動態密鑰交換這段時間已經       過期了.

---有著健壯的模塊設計.所有加密都是有OpenSSL庫處理,所有的IP隧道功能都是由TUN/TAP 虛擬網路提供驅動.


以上段落摘抄自【Linux伺服器配置全程實錄(張勤,楊章明)】

下面就開始我們的基本環境構建了.這裡我們有用源碼包,也有系統自帶的包

環境:RHEL 5.4

     Openssl-devel   openvpn-2.1_rc15.tar.gz(伺服器)

                  openvpn-2.1_rc15-install.exe(客戶端)

    lzo-2.02-4.fc9.i386.rpm

    lzo-devel-2.02-4.fc9.i386.rpm

1/首先上傳相關的軟體包

2/然後安裝相關的輔助軟體

3/安裝lzo,實現傳輸數據時候進行壓縮

4/安裝OpenVPN,這裡採用編譯安裝,這裡就不上截圖了,只奉上編譯步驟

    tar  zxvf  openvpn-2.1_rc15.tar.gz

    cd  openvpn-2.1_rc15

    ./configure

    make ; make install

5/修改證書的一些變數文件以便生成證書的時候方便一些

#vim vars

生成證書變數

這一步是清除變數的值的

6/以上步驟完成之後,那麼開始生成CA的證書

這裡唯一要注意到就是那麼common name一定要是你這台VPN伺服器的本機的FQDN,切記

7/生成完CA的證書,那麼我們就要生成server證書,別人要想撥入進來至少得信任這台伺服器的.注意是common name也是自己VPN伺服器的FQDN啦

8/CA和server證書都完成之後,我們每一個撥入的客戶端伺服器上都會要先生成一個證書,這裡我的客戶端的計算機全名是

songmingming. 我們在伺服器上就要先生成客戶端證書.這裡的common name是客戶端的計算機全民,這裡要注意哦~

9/考慮安全方面,為了防止惡意攻擊,我們要生成一個HMAC firewall,HMAC是一種經加密的散列消息驗證碼,用以對信息數據的完整性和真實性進行同步檢查,任何迭代加密散列函數都可以用於HMAC運算,如MD5 SHA1,下面我們就來進行創建DH

生成加密的HMAC-MD5

10/生成完了相關的證書後,我們需要將這些證書cp

到/etc/openvpn/keys 這個目錄需新建

#mkdir –p  /etc/openvpn/keys

#cp  keys/ca.crt  /etc/openvpn/keys/

#cp  keys/server.crt  /etc/openvpn/keys/

#cp  keys/server.key  /etc/openvpn/keys/

#cp  keys/dh1024.pem  /etc/openvpn/keys/

#cp  keys/ta.key   /etc/openvpn/keys/

11/

拷貝配置文件,這裡要看清楚模板文件的位置

12/配置文件已經複製完成了,那麼下面就開始對配置文件進行修改

    #vim  /etc/openvpn/server.conf

--偵聽介面,指的是VPN伺服器偵聽的介面地址,這裡應當是公網介面的地址,但是我這裡用私網地址模擬下

--使用的埠和協議,默認是UDP的,我們要改成使用TCP的


--使用的點到點傳輸數據協議

--制定我們VPN伺服器載入證書的位置,也就是我們拷貝后的目錄

--另外客戶端撥入之後要給客戶端分配自己的私網地址,安全起見,分配的地址不要和伺服器處於同一網段,具體視情況而定了,我這裡就分配2網段的.

--分配不同網段的地址,訪問勢必跨網段,這裡就要添加路由了

--這裡還可以為撥入的客戶端分配網管和

DNS,具體也視實際情況而定,這裡我沒有添加

--當撥入進來的客戶端不止一個時,是否讓客戶端之間是可以相互訪問的,需要就開啟

--設定一些連接時間,這裡表示每10s ping一次,120s未收到包,認為斷線,下面就是HMAC文件位置,開啟並制定.

--這裡還有啟用壓縮和最大客戶端

--制定密鑰管理


具體含義第一行:keepalive檢測超時后,重啟VPN后,不讀取私鑰,保留第一次使用的私鑰

第二行:keepalive檢測超時后,重啟VPN后,一直保持tun或者tap設備連接,否則網路連接會先斷開再連接.

--制定日誌的級別

--製作啟動服務並重啟服務

那麼到此,伺服器端的配置全部完成了.下面來進行客戶端的安裝,默認的Windows系統不支持SSL VPN,需要安裝和伺服器端相對應的客戶端.

13/客戶端的安裝,切記一定要和伺服器端的源碼包版本是相對應的

這裡可以找到安裝目錄下的config文件夾,呆會我們就是將證書拷貝到這裡

14,在config目錄下新建一個記事本,添加如下內容,和伺服器端的配置文件內容類似

這裡注意的是

remote當然指我們的伺服器偵聽的介面地址,還有注意的是HMAC文件後面的0,要在這裡改為1,這是和伺服器端不同的地方

修改完之後要重新命名為clinet.ovpn

15/將伺服器的端的ca.crt ta.key  songmingming..crt songmingming..key 拷貝到config目錄下,這裡拷貝過程略了,用軟體可以實現,拷貝完之後如圖

16/下面開始安裝相應的證書,讓客戶端信任CA和自己


選擇手動導入——選擇物理存儲區域——受信任的根證書頒發機構——local computer

開始導入客戶端證書

完成!

17/點擊桌面圖標,會在右下角任務欄出現相應圖標

18/下面開始撥號,右擊圖標點擊connect


19/撥號過程

成功後會直接彈出信息,已經看到獲得了2網段的地址了,這裡可以在cmd下查看的,我這裡就略啦

到此基本情況就結束了,如果該人員已經離職,那麼這台機器就是不信任的機器,應當吊銷這台機器的證書,那麼也需要簡單的操作,我將在以後為各位帶來證書的吊銷。


[火星人 ] OpenVPN 實現SSL VPN已經有773次圍觀

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