OpenConnect Raspberry OpenWRT Linux SSL 樹莓派 VPN

用樹莓派架設SSL VPN 最低成本打造窮人翻牆梯

2015-07-13
Raspberry Pi是目前非常熱門的開放硬體,價格低廉且用途廣泛,對此本文將示範如何在Raspberry Pi上使用OpenWRT以最低的成本架設基於OpenConnect的SSL VPN。
之後程式會繼續建立連線,等到狀態列出現字串「Established DTLS connection (using GnuTLS).」時就代表連線已成功建立,如圖22所示。


▲圖22 成功建立VPN連線。

成功建立連線之後,先以ipconfig指令檢視取得的IP與相關資訊。在此可以看出,取得的IP是192.168.100.127,另外DNS伺服器的部分取得預設的8.8.8.8。預設匣道的部分,由於先前有設定 要學到靜態路由192.168.1.0,因此預設閘道並沒有出現。

若未設定靜態路由,會將PC所有的流量往這個虛擬網卡送出,此時預設閘道就會出現192.168.100.1(先前設定的VPN IPv4 Address)。


也檢查一下路由表,確認透過此虛擬介面學到的路由有哪些。在此可以看出,除了192.168.100.127這個直連IP外,192.168.100.0及192.168.1.0都是透過此一虛擬介面學到的。


隨後使用ping的方式進行流量的驗證,確認可以連至OpenWRT的LAN IP。


確認連線正常後,再確認一下能否連到OpenWRT的LAN裡面的其他設備,筆者準備了一部192.168.1.253的路由器以進行連線驗證,這裡確認可以連通。


最後開啟該設備的網頁,確認已經可以連線,如圖23所示。


▲圖23 確認可以使用HTTP的方式連至遠端設備。

OpenConnect VPN—Server端確認

在成功建立連線後,可以使用SSH方式連回OpenWRT,確認介面是否自動產生。用「ifconfig vpns0」指令來查看該介面是否成功建立及確認其IP位址。在OpenWRT端,其IP為192.168.100.126,對口IP則為PC的192.168.100.127。


同樣地,檢查一下路由表,確認192.168.100.127是透過vpns0此一介面做封包轉發的。


OpenConnect VPN加密驗證

最後,在網路上側錄其封包,以驗證在其進行傳輸時,資料是否有進行加密。測試結果如圖24所示。從中可以看出,封包在傳輸過程中有使用TLS進行加密。而其DST Port也如先前規劃的,使用的是通訊埠443。


▲圖24 資料加密驗證。

筆者在此使用ping的方式進行測試,但以Wireshark查看時並無法推測出其內容,因此若有心人士想要攔截內容進行查看,並無法達成其目的。

結語

在本文中,介紹了如何在Raspberry Pi上使用OpenWRT以最低的成本架設基於OpenConnect的SSL VPN。在此例中使用的是簡單的帳號密碼驗證,易於使用,但較不安全,一旦密碼外洩,就可能會產生資安風暴。

由於此次介紹的內容頁數較多,因此下次再介紹如何使用更為嚴謹安全的憑證認證,進一步地加強資訊安全。

<本文作者:丁光立,在ISP工作多年。對於Cisco設備較熟悉,除此之外也研究Linux,這幾年慢慢把觸角伸到資安的領域,並會在自己的blog(http://tiserle.blogspot.com/)分享一些實務上的經驗和測試心得。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!