如何在 Ubuntu 20.04 上设置 Pritunl VPN 服务器
本教程适用于这些操作系统版本
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(仿生海狸)
在此页
- 先决条件
- 开始
- 安装 Pritunl 服务器
- 安装 MongoDB
- 访问 Pritunl Web 界面
- 安装 Pritunl 客户端
- 将 Pritunl 客户端连接到 Pritunl 服务器
- 结论
Pritunl 是一种开源、简单且易于使用的 VPN 服务器,可让您在一分钟内跨数据中心设置虚拟化您的专用网络。它提供了一个简单且用户友好的 Web 界面,并能够创建范围广泛的云 VPN 网络。它提供官方客户端包,支持大多数设备和平台的所有 OpenVPN 客户端。
在本教程中,我们将解释如何在 Ubuntu 20.04 服务器上设置 Pritunl VPN 服务器和客户端。
先决条件
- 运行 Ubuntu 20.04 服务器的系统。
- 运行 Ubuntu 20.04 Desktop 的系统。
- 为服务器配置了根密码。
入门
在开始之前,建议将您的系统包更新到最新版本。您可以通过运行以下命令来更新所有包:
apt-get update -y
更新所有包后,通过运行以下命令安装其他所需的依赖项:
apt-get install curl gnupg2 wget unzip -y
安装所有软件包后,您可以继续下一步。
安装 Pritunl 服务器
默认情况下,Pritunl 在 Ubuntu 默认存储库中不可用。因此,您需要将 GPG 密钥和存储库添加到您的系统。
首先,使用以下命令添加 GPG 密钥:
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv E162F504A20CDF15827F718D4B7C549A058F8B6B
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
接下来,使用以下命令添加 Pritunl 存储库:
echo "deb http://repo.pritunl.com/stable/apt focal main" | tee /etc/apt/sources.list.d/pritunl.list
添加存储库后,更新存储库缓存并使用以下命令安装 Pritunl 服务器:
apt-get update -y
apt-get install pritunl -y
安装完成后,启动 Pritunl 服务并使用以下命令使其在系统重启时启动:
systemctl start pritunl
systemctl enable pritunl
您现在可以使用以下命令验证 Pritunl 服务的状态:
systemctl status pritunl
您应该得到以下输出:
? pritunl.service - Pritunl Daemon
Loaded: loaded (/etc/systemd/system/pritunl.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2021-01-09 11:51:03 UTC; 4s ago
Main PID: 11487 (pritunl)
Tasks: 2 (limit: 2353)
Memory: 181.2M
CGroup: /system.slice/pritunl.service
??11487 /usr/lib/pritunl/bin/python /usr/lib/pritunl/bin/pritunl start
Jan 09 11:51:03 ubunt4 systemd[1]: Started Pritunl Daemon.
Jan 09 11:51:04 ubunt4 pritunl[11487]: /usr/lib/pritunl/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: >
Jan 09 11:51:04 ubunt4 pritunl[11487]: from cryptography import x509
您还可以使用以下命令验证 Pritunl 监听端口:
ss -antpl | grep pritunl
您应该得到以下输出:
LISTEN 0 4096 *:443 *:* users:(("pritunl-web",pid=11523,fd=4))
LISTEN 0 5 [::1]:9755 [::]:* users:(("pritunl",pid=11487,fd=5))
完成后,您可以继续下一步。
安装 MongoDB
Pritunl 基于 MongoDB 构建,因此您需要在系统中安装 MongoDB 服务器。默认情况下,MongoDB 在 Ubuntu 20.04 默认存储库中不可用,因此您需要将 MongoDB 存储库添加到您的系统中。
首先,使用以下命令下载并添加 MongoDB 密钥:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
接下来,使用以下命令添加 MongoDB 存储库:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
添加存储库后,更新存储库并使用以下命令安装 MongoDB 服务器:
apt-get update -y
apt-get install mongodb-server -y
安装完成后,启动 MongoDB 服务并使用以下命令使其在系统重启时启动:
systemctl start mongodb
systemctl enable mongodb
您可以使用以下命令验证 MongoDB 服务的状态:
systemctl status mongodb
您应该得到以下输出:
? mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-01-09 11:52:12 UTC; 11s ago
Docs: man:mongod(1)
Main PID: 11782 (mongod)
Tasks: 23 (limit: 2353)
Memory: 41.9M
CGroup: /system.slice/mongodb.service
??11782 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
Jan 09 11:52:12 ubunt4 systemd[1]: Started An object/document-oriented database.
此时MongoDB已经启动并监听27017端口,可以通过以下命令验证:
ss -antpl | grep 27017
您应该得到以下输出:
LISTEN 0 4096 127.0.0.1:27017 0.0.0.0:* users:(("mongod",pid=11782,fd=11))
完成后,您可以继续下一步。
访问权限 Web 界面
现在,打开您的 Web 浏览器并使用 URL https://your-server-ip 访问 Pritunl Web 安装向导。您应该看到以下屏幕:

现在,打开您的终端并运行以下命令来生成密钥:
pritunl setup-key
您应该得到以下输出:
/usr/lib/pritunl/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
from cryptography import x509
08b35282d88d4fce8dc9516cd5d03892
从上面的输出中复制密钥,然后转到 Web 界面,粘贴密钥并单击“保存”按钮。您将被重定向到 Pritunl 登录页面:

现在,打开您的终端并运行以下命令来生成密码:
pritunl default-password
您应该得到以下输出:
from cryptography import x509
[undefined][2021-01-09 13:09:17,430][INFO] Getting default administrator password
Administrator default password:
username: "pritunl"
password: "27Z4n6yGFZnW"
从上面的输出中复制用户名和密码,然后转到 Web 界面,输入您的用户名和密码,然后单击“登录”按钮。您将被重定向到初始设置屏幕:

如果您愿意,请更改您的密码或用户,然后单击“保存”按钮。您应该看到以下页面。

现在,单击“添加组织”按钮。您应该会看到以下页面:

提供您的组织名称并单击“添加”按钮。您应该会看到以下页面:

单击添加用户按钮。您应该会看到以下页面:

提供您的用户名、密码并单击“添加”按钮。您应该会看到以下页面:

现在,单击“服务器”选项卡。您应该会看到以下页面:

单击添加服务器按钮。您应该会看到以下页面:

提供您的服务器名称、端口、DNS IP、虚拟网络,然后单击“添加”按钮。您应该会看到以下页面:

单击附加组织按钮将您的组织附加到服务器。您应该会看到以下页面:

单击附加按钮。您应该会看到以下页面:

单击“启动服务器”按钮启动 VPN 服务器。您应该会看到以下页面:

安装 Pritunl 客户端
此时,Pritunl 服务器已安装并配置完毕。现在,您需要安装和配置客户端计算机的 Pritunl 客户端。
在客户端计算机上,使用以下命令添加 Pritunl 密钥:
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv E162F504A20CDF15827F718D4B7C549A058F8B6B
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
添加密钥后,使用以下命令添加 Pritunl 存储库:
echo "deb http://repo.pritunl.com/stable/apt focal main" | tee /etc/apt/sources.list.d/pritunl.list
添加存储库后,更新存储库并使用以下命令安装 Pritunl 客户端包:
apt-get update -y
apt-get install pritunl-client-electron -y
安装完成后,您可以继续下一步。
将 Pritunl 客户端连接到 Pritunl 服务器
接下来,您需要打开 Pritunl 客户端应用程序并连接到 VPN 服务器。
在开始之前,转到 Pritunl 网络界面,单击“用户”选项卡并在您的客户端计算机上下载用户配置文件:

单击下载按钮将用户配置文件下载到客户端计算机。
下载完成后,使用以下命令解压缩下载的 tar 文件:
tar -xvf user1.tar
您应该在以下输出中看到提取的文件:
myorg_user1_server1.ovpn
现在,从应用程序菜单访问 Pritunl 客户端应用程序,如下所示:

单击“导入配置文件”按钮以从您的系统导入 myorg_user1_server1.ovpn 文件。您应该看到以下屏幕:

现在,单击红色方形按钮。您应该看到以下屏幕:

现在,单击“连接”按钮连接到 VPN 服务器。您将被要求提供您的用户密码,如下所示:

提供您的用户密码,然后单击“确定”按钮。连接后,您应该会看到以下屏幕:

您还可以使用以下命令验证 VPN 连接:
ifconfig tun0
您应该看到以下输出:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.237.2 P-t-P:192.168.237.2 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3752 errors:0 dropped:0 overruns:0 frame:0
TX packets:3847 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2399700 (2.3 MB) TX bytes:807236 (807.2 KB)
现在,所有流量都通过您的 VPN 服务器路由。
要验证它,请打开您的 Web 浏览器并访问页面 https://whatismyipaddress.com/。您应该在以下页面中获取您的 VPN 服务器 IP:

结论
恭喜!您已经在 Ubuntu 20.04 上成功安装了 Pritunl 服务器和客户端。您现在可以通过隐藏您的身份匿名上网。如果您有任何问题,请随时问我。