OpenConnect Raspberry OpenWRT Linux SSL 樹莓派 VPN

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

2015-07-13
Raspberry Pi是目前非常熱門的開放硬體,價格低廉且用途廣泛,對此本文將示範如何在Raspberry Pi上使用OpenWRT以最低的成本架設基於OpenConnect的SSL VPN。
針對Routing table的部分,若建立連線後需透過OpenWRT連線至其他的網段,請依需求自行新增,預設會新增192.168.1.0/24的網段,由於建立VPN連線後,需要連至內部網路進行相關維運,因此這裡保留此設定。

如果不加入任何網段,則會將Default Route送給VPN Client,此時Client所有流量都會透過VPN Gateway送出。最後點選〔Save & Apply〕進行套用,如圖15所示。


▲圖15 設定SSL VPN Server。

接著選擇上方的User Setting以建立使用者。在Name及Password的部分依序輸入,並按下〔Save〕按鈕,以新增一位使用者。在按下〔Save〕之後,密碼會進行編碼,以避免密碼外洩。

最後按下〔Save & Apply〕按鈕進行套用,如圖16所示。


▲圖16 新增SSL VPN使用者。

接著是設定listen-host,這部分可設可不設,不過如果完成全部設定後卻無法連線,就可以將此部分設定上去。

先點選Server Settings標籤頁,再點選Edit Template,並且找到listen-host,將前面的#刪除,然後修改為WAN的IPv4 Address,如圖17所示。


▲圖17 設定OpenConnect VPN Server listen-host。

由於將OpenWRT做為防火牆使用,可能會做一些網路存取的限制,因此需要調整防火牆的相關設定以放行認證的封包。

先點選Network→Firewall,再點選Traffic Rules。然後找到Open ports on router的部分。在Name方框內輸入SSLVPN,而External port方框內輸入443,並按下〔Add〕,新增一筆Traffic Rule。最後點選最下方的〔Save & Apply〕,如圖18所示。


▲圖18 設定Firewall Traffic Rule。

在新增完成後,可以點選箭頭往上的圖示將其上移,以取得較高的優先順序。

安裝虛擬介面套件

在建立連線的過程中,由於OpenWRT必須產生一個虛擬的Tunnel介面才能與用戶端進行傳輸,因此須要安裝kmod-tun這個套件,以便在連線建立時OpenWRT可以透過此套件產生一個臨時用的Tunnel介面。

同樣回到System→Software,先點選Update更新Package資訊。接著在Filter欄位內輸入kmod-tun,找到之後,再點選項目前方的「Install」進行安裝。安裝完成後,筆者習慣重開機,以確認相關的設定均有生效。

OpenConnect VPN—Client端相關設定

緊接著示範用戶端的部分,若為PC用戶,可至「https://github.com/openconnect/openconnect-gui/releases」下載OpenConnect Client程式GUI版中的Windows版本,並進行安裝。

由於此軟體使用Microsoft C++進行編譯,因此會一併安裝Microsoft Visual C++ 2010 Redistributable套件。

如果是iOS用戶,可搜尋安裝Cisco AnyConnect,若為Android用戶,則搜尋安裝OpenConnect。在此以PC版進行示範。安裝過程很簡單,不再贅述。

在建立連線時,直接輸入要VPN Gateway的IP位址,並按下〔Connect〕按鈕即可,如圖19所示。


▲圖19 建立OpenConnect連線。

接著會出現確認資訊的示警畫面,如圖20所示。可以點選〔View certificate〕查看詳細內容,在此直接點選〔The information is accurate〕按鈕確認資訊正確進行下一步。


▲圖20 資訊確認視窗。

第一次連線時,程式會詢問使用者名稱及密碼,在下一次進行連線時,就只會詢問密碼,其介面如圖21所示。


▲圖21 連線時詢問使用者名稱及密碼。


追蹤我們Featrue us

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

我知道了!