如何在免費(fèi) WiFi 中保護(hù)隱私(三)
在你安裝了 0penVPN 之后,是時(shí)候配置它了。
0penVPN 在兩點(diǎn)之間建立一條加密的隧道,阻止第三方訪問你的網(wǎng)絡(luò)流量。通過設(shè)置你的 “虛擬專用網(wǎng)絡(luò)” 服務(wù),你就成為你自己的 “虛擬專用網(wǎng)絡(luò)” 供應(yīng)商。許多流行的 “虛擬專用網(wǎng)絡(luò)” 服務(wù)已支持 0penVPN,所以當(dāng)你可以掌控自己的網(wǎng)絡(luò)時(shí),為什么還要將你的網(wǎng)絡(luò)連接綁定到特定的提供商呢?
本系列中的 第一篇 展示了如何安裝和配置一臺(tái)作為你的 0penVPN 服務(wù)器的 Linux 計(jì)算機(jī)。,第二篇 演示了如何安裝和配置 0penVPN 服務(wù)器軟件。這第三篇文章演示了如何在認(rèn)證成功的情況下啟動(dòng) 0penVPN。
要設(shè)置一個(gè) 0penVPN 服務(wù)器,你必須:
- 創(chuàng)建一個(gè)配置文件。
- 使用
sysctl
設(shè)置net.ipv4.ip_forward = 1
以啟用路由。 - 為所有的配置和認(rèn)證文件設(shè)置適當(dāng)?shù)乃袡?quán),以便使用非 root 賬戶運(yùn)行 0penVPN 服務(wù)器守護(hù)程序。
- 設(shè)置 0penVPN 加載適當(dāng)?shù)呐渲梦募?dòng)。
- 配置你的防火墻。
配置文件
你必須在 /etc/openvpn/server/
中創(chuàng)建一個(gè)服務(wù)器配置文件。如果你想的話,你可以從頭開始,0penVPN 包括了幾個(gè)配置示例示例文件,可以以此作為開始??纯?nbsp;/usr/share/doc/openvpn/sample/sample-config-files/
就知道了。
如果你想手工建立一個(gè)配置文件,可以從 server.conf
或 roadwarrior-server.conf
開始(視情況而定),并將你的配置文件放在 /etc/openvpn/server
中。這兩個(gè)文件都有大量的注釋,所以請(qǐng)閱讀注釋并根據(jù)你的情況作出決定。
你可以使用我預(yù)先建立的服務(wù)器和客戶端配置文件模板和 sysctl
文件來打開網(wǎng)絡(luò)路由,從而節(jié)省時(shí)間和麻煩。這個(gè)配置還包括自定義記錄連接和斷開的情況。它在 0penVPN 服務(wù)器的 /etc/openvpn/server/logs
中保存日志。
如果你使用我的模板,你需要使用你的 IP 地址和主機(jī)名編輯它們。
要使用我的預(yù)建配置模板、腳本和 sysctl
來打開 IP 轉(zhuǎn)發(fā),請(qǐng)下載我的腳本:
$ curl \
https://www.dgregscott.com/ovpn/OVPNdownloads.sh > \
OVPNdownloads.sh
閱讀該腳本,了解它的工作內(nèi)容。下面是它的運(yùn)行概述:
- 在你的 0penVPN 服務(wù)器上創(chuàng)建適當(dāng)?shù)哪夸?/li>
- 從我的網(wǎng)站下載服務(wù)器和客戶端的配置文件模板
- 下載我的自定義腳本,并以正確的權(quán)限把它們放到正確的目錄中
- 下載
99-ipforward.conf
并把它放到/etc/sysctl.d
中,以便在下次啟動(dòng)時(shí)打開 IP 轉(zhuǎn)發(fā)功能 - 為
/etc/openvpn
中的所有內(nèi)容設(shè)置了所有權(quán)
當(dāng)你確定你理解了這個(gè)腳本的作用,就使它可執(zhí)行并運(yùn)行它:
$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh
下面是它復(fù)制的文件(注意文件的所有權(quán)):
$ 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 地址。同時(shí),編輯 OVPNserver2020.conf
以包括你先前的服務(wù)器證書名稱。稍后,你將重新命名和編輯 OVPNclient2020.ovpn
的副本,以便在你的客戶電腦上使用。以 ***?
開頭的塊顯示了你要編輯的地方。
文件所有權(quán)
如果你使用了我網(wǎng)站上的自動(dòng)腳本,文件所有權(quán)就已經(jīng)到位了。如果沒有,你必須確保你的系統(tǒng)有一個(gè)叫 openvpn
的用戶,并且是 openvpn
組的成員。你必須將 /etc/openvpn
中的所有內(nèi)容的所有權(quán)設(shè)置為該用戶和組。如果你不確定該用戶和組是否已經(jīng)存在,這樣做也是安全的,因?yàn)?nbsp;useradd
會(huì)拒絕創(chuàng)建一個(gè)與已經(jīng)存在的用戶同名的用戶:
$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn
防火墻
如果你在步驟 1 中啟用 firewalld 服務(wù),那么你的服務(wù)器的防火墻服務(wù)可能默認(rèn)不允許 “虛擬專用網(wǎng)絡(luò)” 流量。使用 firewall-cmd 命令,你可以啟用 0penVPN 服務(wù),它可以打開必要的端口并按需路由流量:
$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload
沒有必要在 iptables 的迷宮中迷失方向!
啟動(dòng)你的服務(wù)器
現(xiàn)在你可以啟動(dòng) 0penVPN 服務(wù)器了。為了讓它在重啟后自動(dòng)運(yùn)行,使用 systemctl
的 enable
子命令:
systemctl enable --now openvpn-server@OVPNserver2020.service
最后的步驟
本文的第四篇也是最后一篇文章將演示如何設(shè)置客戶端,以便遠(yuǎn)程連接到你的 0penVPN。