如何在免費 WiFi 中保護隱私(四)
0penVPN 在兩點之間創建了一個加密通道,以阻止第三方訪問你的網路流量數據。通過設置你的 「虛擬專用網路」 服務,你可以成為你自己的 「虛擬專用網路」 服務商。許多流行的 「虛擬專用網路」 服務都使用 0penVPN,所以當你可以掌控自己的網路時,為什麼還要將你的網路連接綁定到特定的提供商呢?
本系列的 第一篇文章 安裝了一個「虛擬專用網路」 的伺服器,第二篇文章 介紹了如何安裝和配置一個 0penVPN 服務軟體,第三篇文章 解釋了如何配置防火牆並啟動你的 0penVPN 服務。第四篇也是最後一篇文章將演示如何從客戶端計算機使用你的 0penVPN 伺服器。這就是你做了前三篇文章中所有工作的原因!
創建客戶端證書
請記住,0penVPN 的身份驗證方法要求伺服器和客戶端都擁有某些東西(證書)並知道某些東西(口令)。是時候設置它了。
首先,為你的客戶端計算機創建一個客戶端證書和一個私鑰。在你的 0penVPN 伺服器上,生成證書請求。它會要求你輸入密碼;確保你記住它:
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa
gen-req greglaptop
本例中,greglaptop
是創建證書的客戶端計算機主機名。
無需將請求導入證書頒發機構(CA),因為它已經存在。審查它以確保請求存在:
$ cd /etc/openvpn/ca
$ /etc/openvpn/easy-rsa/easyrsa
show-req greglaptop
你也可以以客戶端身份簽署請求:
$ /etc/openvpn/easy-rsa/easyrsa
sign-req client greglaptop
安裝 0penVPN 客戶端軟體
在 Linux 系統上,網路管理器可能已經包含了一個 0penVPN 客戶端。如果沒有,你可以安裝插件:
$ sudo dnf install NetworkManager-openvpn
在 Windows 系統上,你必須從 0penVPN 下載網頁下載和安裝 0penVPN 客戶端。啟動安裝程序並按照提示操作。
複製證書和私鑰到客戶端
現在你的客戶端需要你為其生成的身份驗證憑據。你在伺服器上生成了這些,因此你必須將它們傳輸到你的客戶端。我推薦使用 SSH 來完成傳輸。在 Linux 系統上,通過 scp
命令實現。在 Windows 系統上,你可以以管理員身份運行 WinSCP 來推送證書和密鑰。
假設客戶端名稱為 greglaptop
,那麼證書和私鑰的文件名以及服務的位置如下:
/etc/openvpn/ca/pki/issued/greglaptop.crt
/etc/openvpn/ca/pki/private/greglaptop.key
/etc/openvpn/ca/pki/issued/ca.crt
在 Linux 系統上,複製這些文件到 /etc/pki/tls/certs
目錄。在 Windows 系統上,複製它們到 C:Program FilesOpenVPNconfig
目錄。
複製和自定義客戶端配置文件
在 Linux 系統上,你可以複製伺服器上的 /etc/openvpn/client/OVPNclient2020.ovpn
文件到 /etc/NetworkManager/system-connections/
目錄,或者你也可以導航到系統設置中的網路管理器添加一個「虛擬專用網路」 連接。
連接類型選擇「 證書(TLS) 」。告知網路管理器你從伺服器上複製的證書和密鑰。
![VPN displayed in Network Manager](/data/attachment/album/202108/24/101225t8mprpy33rpc4pry.jpg "VPN displayed in Network Manager")
在 Windows 系統上,以管理員身份運行 WinSCP,將伺服器上的客戶端配置模板 /etc/openvpn/client/OVPNclient2020.ovpn
文件複製到客戶端上的 C:Program FilesOpenVPNconfig
目錄。然後:
- 重命名它以匹配上面的證書。
- 更改 CA 證書、客戶端證書和密鑰的名稱以匹配上面從伺服器複製的名稱。
- 修改 IP 信息,以匹配你的網路。
你需要超級管理員許可權來編輯客戶端配置文件。最簡單的方式就是以管理員身份啟動一個 CMD 窗口,然後從管理員 CMD 窗口啟動記事本來編輯此文件。
將你的客戶端連接到伺服器
在 Linux 系統上,網路管理器會顯示你的 「虛擬專用網路」 連接。選擇它進行連接。
![Add a connection in Network Manager](/data/attachment/album/202108/24/101225w22puqsrqq9dgci0.jpg "Add a「虛擬專用網路」 connection in Network Manager")
在 Windows 系統上,啟動 0penVPN 圖形用戶界面。它會在任務欄右側的 Windows 系統托盤中生成一個圖標,通常位於 Windows 桌面的右下角。右鍵單擊圖標以連接、斷開連接或查看狀態。
對於第一次連接,編輯客戶端配置文件的 remote
行以使用 0penVPN 伺服器的內部 IP 地址。通過右鍵單擊 Windows 系統托盤中的 0penVPN 圖標並單擊「 連接 」,從辦公室網路內部連接到伺服器。調試此連接,這應該可以找到並解決問題,而不會出現任何防火牆問題,因為客戶端和伺服器都在防火牆的同一側。
接下來,編輯客戶端配置文件的 remote
行以使用 0penVPN 伺服器的公共 IP 地址。將 Windows 客戶端連接到外部網路並進行連接。調試有可能的問題。
安全連接
恭喜!你已經為其他客戶端系統準備好了 0penVPN 網路。對其餘客戶端重複設置步驟。你甚至可以使用 Ansible 來分發證書和密鑰並使其保持最新。
本文基於 D.Greg Scott 的 博客,經許可後重新使用。
via: https://opensource.com/article/21/7/openvpn-client
作者:D. Greg Scott 選題:lujun9972 譯者:perfiffer 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive