本文將介紹如何在Raspberry Pi上安裝及設定SoftEther VPN Server以提供SSL VPN服務,並實際示範如何讓VPN Client透過Server連上Internet,以達到翻牆的效果。
目前市場上的VPN產品有許多可供選擇。以實用性而言,採取HTTPS加密方式的VPN是最難以完全封鎖的。目前免費的SSL VPN較常見而知名的是SoftEther,但中文的相關介紹不多,因此筆者特地撰文介紹,並示範如何將SoftEther VPN Server安裝在Raspberry Pi單板電腦以提供SSL VPN服務。
SoftEther VPN簡介
SoftEther VPN在設計時特別著墨於穿透防火牆的功能,它支援NAT穿透,使其能越過政府或企業的防火牆以建立VPN連線。它使用HTTPS偽裝連接,因此防火牆的深度封包檢測無法偵測到以SoftEther VPN建立的VPN通道。
SoftEther的VPN伺服器和VPN橋接器(用以串接VPN伺服器)支援微軟、Linux、Mac OS X(除了10.9.x)、FreeBSD以及Solaris等作業系統。SoftEther VPN支援自己的VPN協定但亦可與OpenVPN、微軟的Secure Socket Tunneling Protocol(SSTP)、SSL VPN、EtherIP、L2TPv3、IPsec相容。
並藉由L2TP/IPsec/OpenVPN,可支援行動裝置系統如iOS、Android及微軟Windows手機。SoftEther自身的VPN客戶端支援微軟、Linux、Mac。而且也能支援其他VPN客戶端軟體,包含Cisco、Juniper、Linksys(DD-WRT)等公司生產的各式路由器。
由於SoftEther的NAT穿透功能強大,並且能適用於各式平台(包括PC、MAC、iOS、Android、Windows Phone等等),幾乎涵蓋市面上所有平台,因此這裡特別撰文介紹其安裝與設定方式,以期能滿足所有使用者的需求。
測試架構說明
在開始實作之前,必須準備好以下的軟硬體:
.硬體:Raspberry Pi 2 Mode B,之後以Pi代表。
.作業系統:Raspbian Jessie Lite版本為2017-06-21。
.外接USB網路卡:使用Reltek 8152晶片,並接於Pi的USB介面上。Raspbian原生支援此晶片可直接使用(建立Remote Access VPN或Site to Site VPN時須使用)。
.SoftEther VPN Server:版本為v4.22-9634-beta。
如圖1所示,這裡將示範如何在Pi上安裝及設定SoftEther VPN Server,並在Windows 7電腦上安裝SoftEther VPN Client,讓Client可透過Server連線至Internet,此為在外地出差人員常用的翻牆手法。
|
▲圖1 Client透過Server連上Internet架構圖。 |
前置作業準備
先在Pi將作業系統安裝完成,並使用raspi-config指令校正時區及鍵盤配置。由於VPN Server對於時間的精確度有一定的要求,因此務必設定正確的系統時間或透過NTP指令進行校時。相關操作說明可參考「http://www.netadmin.com.tw/article_content.aspx?sn=1507030005」網頁。
安裝SoftEther VPN Server
接著,實際示範如何下載以及安裝SoftEther VPN Server。
下載軟體
目前SoftEther VPN相關軟體均存放在其官方網頁(http://www.softether-download.com/files/softether/)上。開啟網頁後,點選「Linux」目錄中的「SoftEther_VPN_Server」,再選擇「32bit_-_ARM_EABI」,此為適用於Pi的版本。
在此使用目前最新的4.22版,將之下載為softether.tgz,指令如下:(之後的操作示範均已提權為root)
解壓縮及編譯安裝
將其解壓縮,並刪除原壓縮檔:
接著切換至解壓後的目錄,並進行編譯: