如何在免費(fèi) WiFi 中保護(hù)隱私(四)
在 Linux 上安裝好“虛擬專(zhuān)用網(wǎng)絡(luò)” 之后,是時(shí)候使用它了。
0penVPN 在兩點(diǎn)之間創(chuàng)建了一個(gè)加密通道,以阻止第三方訪問(wèn)你的網(wǎng)絡(luò)流量數(shù)據(jù)。通過(guò)設(shè)置你的 “虛擬專(zhuān)用網(wǎng)絡(luò)” 服務(wù),你可以成為你自己的 “虛擬專(zhuān)用網(wǎng)絡(luò)” 服務(wù)商。許多流行的 “虛擬專(zhuān)用網(wǎng)絡(luò)” 服務(wù)都使用 0penVPN,所以當(dāng)你可以掌控自己的網(wǎng)絡(luò)時(shí),為什么還要將你的網(wǎng)絡(luò)連接綁定到特定的提供商呢?
本系列的 第一篇文章 安裝了一個(gè)“虛擬專(zhuān)用網(wǎng)絡(luò)” 的服務(wù)器,第二篇文章 介紹了如何安裝和配置一個(gè) 0penVPN 服務(wù)軟件,第三篇文章 解釋了如何配置防火墻并啟動(dòng)你的 0penVPN 服務(wù)。第四篇也是最后一篇文章將演示如何從客戶端計(jì)算機(jī)使用你的 0penVPN 服務(wù)器。這就是你做了前三篇文章中所有工作的原因!
創(chuàng)建客戶端證書(shū)
請(qǐng)記住,0penVPN 的身份驗(yàn)證方法要求服務(wù)器和客戶端都擁有某些東西(證書(shū))并知道某些東西(口令)。是時(shí)候設(shè)置它了。
首先,為你的客戶端計(jì)算機(jī)創(chuàng)建一個(gè)客戶端證書(shū)和一個(gè)私鑰。在你的 0penVPN 服務(wù)器上,生成證書(shū)請(qǐng)求。它會(huì)要求你輸入密碼;確保你記住它:
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
gen-req greglaptop
本例中,greglaptop
是創(chuàng)建證書(shū)的客戶端計(jì)算機(jī)主機(jī)名。
無(wú)需將請(qǐng)求導(dǎo)入證書(shū)頒發(fā)機(jī)構(gòu)(CA),因?yàn)樗呀?jīng)存在。審查它以確保請(qǐng)求存在:
$ cd /etc/openvpn/ca
$ /etc/openvpn/easy-rsa/easyrsa \
show-req greglaptop
你也可以以客戶端身份簽署請(qǐng)求:
$ /etc/openvpn/easy-rsa/easyrsa \
sign-req client greglaptop
安裝 0penVPN 客戶端軟件
在 Linux 系統(tǒng)上,網(wǎng)絡(luò)管理器可能已經(jīng)包含了一個(gè) 0penVPN 客戶端。如果沒(méi)有,你可以安裝插件:
$ sudo dnf install NetworkManager-openvpn
在 Windows 系統(tǒng)上,你必須從 0penVPN 下載網(wǎng)頁(yè)下載和安裝 0penVPN 客戶端。啟動(dòng)安裝程序并按照提示操作。
復(fù)制證書(shū)和私鑰到客戶端
現(xiàn)在你的客戶端需要你為其生成的身份驗(yàn)證憑據(jù)。你在服務(wù)器上生成了這些,因此你必須將它們傳輸?shù)侥愕目蛻舳?。我推薦使用 SSH 來(lái)完成傳輸。在 Linux 系統(tǒng)上,通過(guò) scp
命令實(shí)現(xiàn)。在 Windows 系統(tǒng)上,你可以以管理員身份運(yùn)行 WinSCP 來(lái)推送證書(shū)和密鑰。
假設(shè)客戶端名稱為 greglaptop
,那么證書(shū)和私鑰的文件名以及服務(wù)的位置如下:
/etc/openvpn/ca/pki/issued/greglaptop.crt
/etc/openvpn/ca/pki/private/greglaptop.key
/etc/openvpn/ca/pki/issued/ca.crt
在 Linux 系統(tǒng)上,復(fù)制這些文件到 /etc/pki/tls/certs
目錄。在 Windows 系統(tǒng)上,復(fù)制它們到 C:\Program Files\OpenVPN\config
目錄。
復(fù)制和自定義客戶端配置文件
在 Linux 系統(tǒng)上,你可以復(fù)制服務(wù)器上的 /etc/openvpn/client/OVPNclient2020.ovpn
文件到 /etc/NetworkManager/system-connections/
目錄,或者你也可以導(dǎo)航到系統(tǒng)設(shè)置中的網(wǎng)絡(luò)管理器添加一個(gè)“虛擬專(zhuān)用網(wǎng)絡(luò)” 連接。
連接類(lèi)型選擇“證書(shū)(TLS)”。告知網(wǎng)絡(luò)管理器你從服務(wù)器上復(fù)制的證書(shū)和密鑰。
VPN displayed in Network Manager
在 Windows 系統(tǒng)上,以管理員身份運(yùn)行 WinSCP,將服務(wù)器上的客戶端配置模板 /etc/openvpn/client/OVPNclient2020.ovpn
文件復(fù)制到客戶端上的 C:\Program Files\OpenVPN\config
目錄。然后:
- 重命名它以匹配上面的證書(shū)。
- 更改 CA 證書(shū)、客戶端證書(shū)和密鑰的名稱以匹配上面從服務(wù)器復(fù)制的名稱。
- 修改 IP 信息,以匹配你的網(wǎng)絡(luò)。
你需要超級(jí)管理員權(quán)限來(lái)編輯客戶端配置文件。最簡(jiǎn)單的方式就是以管理員身份啟動(dòng)一個(gè) CMD 窗口,然后從管理員 CMD 窗口啟動(dòng)記事本來(lái)編輯此文件。
將你的客戶端連接到服務(wù)器
在 Linux 系統(tǒng)上,網(wǎng)絡(luò)管理器會(huì)顯示你的 “虛擬專(zhuān)用網(wǎng)絡(luò)” 連接。選擇它進(jìn)行連接。
Add a connection in Network Manager
在 Windows 系統(tǒng)上,啟動(dòng) 0penVPN 圖形用戶界面。它會(huì)在任務(wù)欄右側(cè)的 Windows 系統(tǒng)托盤(pán)中生成一個(gè)圖標(biāo),通常位于 Windows 桌面的右下角。右鍵單擊圖標(biāo)以連接、斷開(kāi)連接或查看狀態(tài)。
對(duì)于第一次連接,編輯客戶端配置文件的 remote
行以使用 0penVPN 服務(wù)器的內(nèi)部 IP 地址。通過(guò)右鍵單擊 Windows 系統(tǒng)托盤(pán)中的 0penVPN 圖標(biāo)并單擊“連接”,從辦公室網(wǎng)絡(luò)內(nèi)部連接到服務(wù)器。調(diào)試此連接,這應(yīng)該可以找到并解決問(wèn)題,而不會(huì)出現(xiàn)任何防火墻問(wèn)題,因?yàn)榭蛻舳撕头?wù)器都在防火墻的同一側(cè)。
接下來(lái),編輯客戶端配置文件的 remote
行以使用 0penVPN 服務(wù)器的公共 IP 地址。將 Windows 客戶端連接到外部網(wǎng)絡(luò)并進(jìn)行連接。調(diào)試有可能的問(wèn)題。
安全連接
恭喜!你已經(jīng)為其他客戶端系統(tǒng)準(zhǔn)備好了 0penVPN 網(wǎng)絡(luò)。對(duì)其余客戶端重復(fù)設(shè)置步驟。你甚至可以使用 Ansible 來(lái)分發(fā)證書(shū)和密鑰并使其保持最新。