當前位置:
首頁 > 新聞 > 教你如何玩轉piVPN,保護網路隱私安全

教你如何玩轉piVPN,保護網路隱私安全

為什麼選擇Raspberry Pi+OpenVPN的組合

如果你是個DIY發燒友,那麼Raspberry Pi一定是你最好的選擇。而想要保護好自己的網路隱私,OpenVPN無疑是Linux下開源VPN的先鋒,它可以提供良好的性能和友好的用戶操作界面。它大量使用了OpenSSL加密庫中的SSLv3/TLSv1協議函數庫。目前OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X與Microsoft Windows以及Android和iOS上運行,並包含了許多安全性的功能。它並不是一個基於Web的VPN軟體,也不與IPsec及其他VPN軟體包兼容。

由於OpenVPN是私有協議,需要專有的客戶端,因此在Android、iOS、WP8上使用比較困難。把Raspberry Pi和OpenVPN結合起來搭建軟AP可以較方便的解決這些問題。

piVPN是一組shell腳本,可以使用免費的開源OpenVPN軟體輕鬆地將Raspberry Pi轉換為VPN伺服器。該腳本的主要部分安裝並配置了在Raspbian Jessie上的OpenVPN,並在Ubuntu 14.04上測試了從Amazon AWS鏡像運行的版本。這些腳本會嘗試檢測不同的發行版並相應地做出調整,它們應該會在大多數基於Ubuntu和Debian的設備上運行,包括那些默認使用UFW而不是原始iptables的版本。UFW即簡單防火牆,是一個Arch Linux、Debian 或 Ubuntu 中管理防火牆規則的前端。而IPTABLES則是與最新的3.5版本Linux內核集成的IP信息包過濾系統。如果Linux系統連接到網際網路或 LAN、伺服器或連接LAN和網際網路的代理伺服器,則該系統有利於在Linux系統上更好地控制IP信息包過濾和防火牆配置。

這個腳本的主要任務是允許用戶擁有一個儘可能高性價比的家庭VPN。因此,piVPN的設計可以使用Raspberry Pi(35美元)和一個命令安裝程序,然後使用「pivpn」命令輕鬆管理VPN。

所需的軟體、硬體及注意事項

需要什麼:

1.帶有乙太網埠的Raspberry Pi Model B或更高版本;

2.安裝了Raspbian的SD或microSD卡(具體取決於型號);

3.符合你設備型號的電源適配器;

4.一個乙太網電纜或WiFi適配器,以將你的Pi連接到你的路由器或網關。

注意事項:

1.使用通過https://raspberrypi.org/downloads來下載Raspbian Jessie Lite的最新映像,否則,請務必在搭建piVPN之前製作將現有的備份進行映像。

2.應該使用靜態IP地址設置你的Pi,具體過程請點擊源代碼1或源代碼2,但這不是必需的,因為腳本可以為你自動執行此操作。

3.轉發1994埠(UDP)到樹莓派的內部IP地址或在安裝程序中選擇的任何自定義埠,如何操作取決於你的路由器型號。

4.強烈建議在你的Pi上啟用SSH,這樣在設置樹莓派的時候我們就不需要顯示器和無線鍵盤了。

安裝過程

curl -L https://install.pivpn.io | bash

該腳本將首先更新你的APT存儲庫、升級包和安裝OpenVPN,這需要一些時間。它還會詢問你希望伺服器使用哪種加密位數,比如時1024位,2048位,或4096位。如果你不確定用哪種加密方法,我還是建議用2048位。

在密碼學裡,數字證書認證機構(CA)是一個簽發數字證書的實體。這個數字證書證明對一個公鑰的所有權。

你可能使用過,但卻不知道它。比如,登錄網銀的時候,如果我點擊地址欄前HTTPS的鏈接那把鎖,會看見一個公司的名字GeoTrust,驗證了當前訪問的銀行網站的合法性。在這裡,我充當自己的認證授權機構,簽發給我自己OpenVPN的密鑰,而不是信賴某個第三方公司。

對於非對稱密鑰,一般的看法是,1024位密鑰已經不足以起到防禦作用了,使用2048位是最保險的,所以確保激活的PKI(包括CA根密鑰對)中的所有密鑰至少使用2048位密鑰是明智的選擇。

雖然目前幾乎所有的RSA系統(包括OpenVPN)都可以接受高達4096位的數據,但是使用這個高位的密鑰會大大增加TLS操作的生成時間,TLS握手延遲和CPU使用率。

加密位數確定好以後,腳本將返回到命令行,因為它構建了伺服器自己的證書頒發機構,也就是說我充當了自己的認證授權機構,簽發了自己OpenVPN的密鑰。此時腳本會詢問你是否願意更改證書欄位、默認埠以及客戶端的DNS伺服器等。如果你知道你想要更改的內容,請隨時查看,因為腳本會將所有需要的信息放到不同的配置文件中。如果你不確定有什麼內容要更改,就按設計好的流程走就可以了,你可以通過簡單地提示,不斷點擊直到所有的配置都完成。

設置完成後,腳本將花費一些時間來構建伺服器的Diffie-Hellman密鑰交換。如果你選擇了1024位加密,這隻需要幾分鐘,但是如果你選擇了2048位,它將花費更長的時間,如果你使用的是Raspberry Pi Model B以上的版本,時間會在40分鐘到幾個小時不等。該腳本還將對你的系統進行一些更改,以允許它轉發互聯網流量並允許VPN連接通過Pi的防火牆。

切記,樹莓派的防火牆配置在重啟後將會重置為默認。我們必須保證它記得OpenVPN的訪問總是允許的。需要編寫一個小腳本在每次啟動時運行。

nano /etc/firewall-openvpn-rules.sh

這是一個空白的可執行腳本文件,輸入以下代碼。

#!/bin/sh

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT –to-source 192.168.XX.X

別忘記把默認IP地址改為你的樹莓派的IP地址。

其中10.8.0.0是默認的樹莓派地址。「eth0」代表使用的乙太網卡。如果使用無線網卡的話,可以修改為wan0,不過不推薦這樣做。按CONTROL+X保存退出。

當腳本通知你已經完成配置OpenVPN時,它會詢問你是否需要重新啟動。切記一定要重啟樹莓派,這樣piVPN伺服器就構建成功了,具體的構建視頻請點此鏈接觀看視頻演示:https://www.youtube.com/embed/9RSHSt4RuLk?feature=oembed

如何使用PiVPN

雖然,piVPN伺服器已經構建成功了,不過因為現在還沒有用戶來連接,它還沒有起到保護傳輸數據的作用,接下來要做的就是生成用戶名。

由於你現在已經為客戶端創建了訪問的密鑰,但是還沒有告訴客戶端伺服器的訪問地址、如何連接、以及用什麼密鑰訪問。所以,此時你可以使用命令「pivpn」來管理伺服器。

「pivpn add」將提示你為你的客戶機輸入一個名稱,你可以選擇任何你喜歡的名稱。點擊「進入」選項後,你將被要求輸入客戶端密鑰,一定要記住你設置的密鑰。此時,該腳本將組裝客戶端.ovpn文件並將其放置在主目錄中的「ovpns」目錄中。

如果你需要創建一個沒有密碼保護的客戶端證書即在路由器上使用,那麼你可以使用「pivpn add nopass」選項來生成該證書。

「pivpn revoke」會要求你撤銷設置的用戶名稱,一旦你撤銷了客戶端,它將不再允許你使用給定的客戶端證書(ovpn config)來連接。這在很多情況下都很有用,除了個別的情況,比如,你手機丟失或被盜,那配置文件也會隨著丟失,就要撤銷其證書並為你在新手機生成一個新證書。又或者你懷疑某個證書被攻擊了,也要撤銷該證書生成新證書。

如果你添加的用戶數量很多,「pivpn list」將為你提供一個很好的用戶名管理列表,告訴你這些用戶名的證書是否仍然有效,或者是否已經被撤銷,你可以運行「pivpn」來查看所有選項。

::: Control all PiVPN specific functions!

:::

::: Usage: pivpn[option]

:::

::: Options:

::: -a, add [nopass] Create a client ovpn profile, optional nopass

::: -c, clients List any connected clients to the server

::: -d, debug Start a debugging session if having trouble

::: -l, list List all valid and revoked certificates

::: -r, revoke Revoke a client ovpn profile

::: -h, help Show this help dialog

::: -u, uninstall Uninstall PiVPN from your system!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

一加手機終於承認錯誤!約4 萬名用戶信用卡信息受影響
OSX/MaMi:macOS平台DNS劫持惡意軟體

TAG:嘶吼RoarTalk |