Linux中國

如何在免費 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.confroadwarrior-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.confOVPNclient2020.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 伺服器了。為了讓它在重啟後自動運行,使用 systemctlenable 子命令:

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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國