如何在免費 WiFi 中保護隱私(三)
0penVPN 在兩點之間建立一條加密的隧道,阻止第三方訪問你的網路流量。通過設置你的 「虛擬專用網路」 服務,你就成為你自己的 「虛擬專用網路」 供應商。許多流行的 「虛擬專用網路」 服務已支持 0penVPN,所以當你可以掌控自己的網路時,為什麼還要將你的網路連接綁定到特定的提供商呢?
本系列中的 第一篇 展示了如何安裝和配置一台作為你的 0penVPN 伺服器的 Linux 計算機。,第二篇 演示了如何安裝和配置 0penVPN 伺服器軟體。這第三篇文章演示了如何在認證成功的情況下啟動 0penVPN。
要設置一個 0penVPN 伺服器,你必須:
- 創建一個配置文件。
- 使用
sysctl
設置net.ipv4.ip_forward = 1
以啟用路由。 - 為所有的配置和認證文件設置適當的所有權,以便使用非 root 賬戶運行 0penVPN 伺服器守護程序。
- 設置 0penVPN 載入適當的配置文件啟動。
- 配置你的防火牆。
配置文件
你必須在 /etc/openvpn/server/
中創建一個伺服器配置文件。如果你想的話,你可以從頭開始,0penVPN 包括了幾個配置示例示例文件,可以以此作為開始。看看 /usr/share/doc/openvpn/sample/sample-config-files/
就知道了。
如果你想手工建立一個配置文件,可以從 server.conf
或 roadwarrior-server.conf
開始(視情況而定),並將你的配置文件放在 /etc/openvpn/server
中。這兩個文件都有大量的注釋,所以請閱讀注釋並根據你的情況作出決定。
你可以使用我預先建立的伺服器和客戶端配置文件模板和 sysctl
文件來打開網路路由,從而節省時間和麻煩。這個配置還包括自定義記錄連接和斷開的情況。它在 0penVPN 伺服器的 /etc/openvpn/server/logs
中保存日誌。
如果你使用我的模板,你需要使用你的 IP 地址和主機名編輯它們。
要使用我的預建配置模板、腳本和 sysctl
來打開 IP 轉發,請下載我的腳本:
$ curl
https://www.dgregscott.com/ovpn/OVPNdownloads.sh >
OVPNdownloads.sh
閱讀該腳本,了解它的工作內容。下面是它的運行概述:
- 在你的 0penVPN 伺服器上創建適當的目錄
- 從我的網站下載伺服器和客戶端的配置文件模板
- 下載我的自定義腳本,並以正確的許可權把它們放到正確的目錄中
- 下載
99-ipforward.conf
並把它放到/etc/sysctl.d
中,以便在下次啟動時打開 IP 轉發功能 - 為
/etc/openvpn
中的所有內容設置了所有權
當你確定你理解了這個腳本的作用,就使它可執行並運行它:
$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh
下面是它複製的文件(注意文件的所有權):
$ ls -al -R /etc/openvpn
/etc/openvpn:
total 12
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 .
drwxr-xr-x. 139 root root 8192 Apr 6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn 33 Apr 6 20:35 client
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 server
/etc/openvpn/client:
total 4
drwxr-xr-x. 2 openvpn openvpn 33 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 ..
-rw-r--r--. 1 openvpn openvpn 1764 Apr 6 20:35 OVPNclient2020.ovpn
/etc/openvpn/server:
total 4
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn 59 Apr 6 20:35 ccd
drwxr-xr-x. 2 openvpn openvpn 6 Apr 6 20:35 logs
-rw-r--r--. 1 openvpn openvpn 2588 Apr 6 20:35 OVPNserver2020.conf
/etc/openvpn/server/ccd:
total 8
drwxr-xr-x. 2 openvpn openvpn 59 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..
-rwxr-xr-x. 1 openvpn openvpn 917 Apr 6 20:35 client-connect.sh
-rwxr-xr-x. 1 openvpn openvpn 990 Apr 6 20:35 client-disconnect.sh
/etc/openvpn/server/logs:
total 0
drwxr-xr-x. 2 openvpn openvpn 6 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..
下面是 99-ipforward.conf
文件:
# Turn on IP forwarding. OpenVPN servers need to do routing
net.ipv4.ip_forward = 1
編輯 OVPNserver2020.conf
和 OVPNclient2020.ovpn
以包括你的 IP 地址。同時,編輯 OVPNserver2020.conf
以包括你先前的伺服器證書名稱。稍後,你將重新命名和編輯 OVPNclient2020.ovpn
的副本,以便在你的客戶電腦上使用。以 ***?
開頭的塊顯示了你要編輯的地方。
文件所有權
如果你使用了我網站上的自動腳本,文件所有權就已經到位了。如果沒有,你必須確保你的系統有一個叫 openvpn
的用戶,並且是 openvpn
組的成員。你必須將 /etc/openvpn
中的所有內容的所有權設置為該用戶和組。如果你不確定該用戶和組是否已經存在,這樣做也是安全的,因為 useradd
會拒絕創建一個與已經存在的用戶同名的用戶:
$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn
防火牆
如果你在步驟 1 中啟用 firewalld 服務,那麼你的伺服器的防火牆服務可能默認不允許 「虛擬專用網路」 流量。使用 firewall-cmd 命令,你可以啟用 0penVPN 服務,它可以打開必要的埠並按需路由流量:
$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload
沒有必要在 iptables 的迷宮中迷失方向!
啟動你的伺服器
現在你可以啟動 0penVPN 伺服器了。為了讓它在重啟後自動運行,使用 systemctl
的 enable
子命令:
systemctl enable --now openvpn-server@OVPNserver2020.service
最後的步驟
本文的第四篇也是最後一篇文章將演示如何設置客戶端,以便遠程連接到你的 0penVPN。
本文基於 D.Greg Scott 的博客,經許可後重新使用。
via: https://opensource.com/article/21/7/openvpn-firewall
作者:D. Greg Scott 選題:lujun9972 譯者:geekpi 校對:turbokernel
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive