这篇文章来源于DevicePlus.com英语网站的翻译稿。想要搭建一个VPN?用月费来租一个很容易,但是如果您有Raspberry Pi,并且了解一些专业知识,就可以搭建自己的VPN服务器了!
什么是VPN?为什么需要VPN?
VPN指的是虚拟专用网络。它是一种安全、加密的互联网连接,可以将您连接到其他区域的私人网络。
大多数无线网络使用加密功能,但通常只适用于没有连接到网络的人。您网络上的每个人都可以看到您发送和接收的所有流量。其中一些可能是敏感的,例如密码或财务信息。
这意味着VPN在您旅行的时候会非常有用,因为这种情况下几乎不可能知道其他人的无线网络配置状况,或者还有谁在网络上。
通过加密您的所有流量并将其发送到其他地方,您本地网络上的任何其他人都无法看到您发送的内容或发送位置。
搭建VPN vs 租用VPN
在本地网络上的VPN服务器的最大优势在于这是您所连接的地方,也就是说您可以访问文件服务器、媒体中心,甚至可以在打印机上打印文档。
另一个优势在于安全性。尽管存在一些常见的误解,但是使用VPN并不能完全消除恶意行为者对您进行监视的风险,它只是将其转移到了另一个网络中。如果该网络是您的家或者办公室,那么就有机会对那里发生的事情有一定的了解和控制。
当您开始使用一项服务时,对它真正了解了多少呢?使用可靠的服务可以降低这种风险,但请确保先做好功课,以避免遭受不良行为者的入侵。
另一方面,如果您想要使用VPN的原因中包含进行一些无法追溯到您个人的绝密活动,那么在您的家庭网络上托管VPN服务器将会是一个糟糕的主意。这种情况下应该选择其他人常用的商用服务。
Raspberry Pi VPN服务器不会提供万无一失的可靠性。偶尔会出现因为断电或SD卡损坏而脱机的情况。
如果您身处地球的另一端,而需要VPN来访问某些东西,当这种脱机情况出现将会很麻烦。如果没有人回家进行重启,那就更糟糕了。
值得注意的一点是,您还可以在云上安装自己的VPN服务器。这是一种兼具两者优点的中间选项。
选择VPN软件
VPN软件有两部分:客户端和服务器。
客户端可以安装在手机、笔记本电脑或者其他您随身携带的设备上。它通常只连接到一台服务器。
服务器位于您要连接的网络上,可以接受多个客户端的连接。
我们的Raspberry Pi基于ARM架构运行Linux,因此所选择的服务器软件需要支持这一点。
您的客户端很有可能会不同:可能是Windows、Mac或者Android设备。所以,我们希望它也可以在这些设备上运行。
对于本项目,我们将使用一个名为PiVPN的脚本,该脚本可以使在Raspberry Pi上搭建VPN服务器变得非常简单。
PiVPN实际提供了两种满足这些需求的选项:建立完善并且被广泛支持的OpenVPN,以及版本更新并且具有出色性能的Wireguard。
配置您的VPN路由器
在我们安装Wireguard之前,需要告诉您的路由器在VPN流量到达时该将其发送到哪里。
保留IP地址
您的Raspberry Pi VPN服务器应该被分配一个保留IP地址,以便能够始终在本地网络上的同一地址找到它。
如果尚未配置,您可以在路由器的仪表板中进行配置。确切的步骤因路由器而异,但通常只是一些登陆和DHCP设置这样的简单配置。
如果您遇到困难,请使用搜索引擎查找您设备的手册。
端口转发
现在您需要在路由器上设置端口转发,以将到达特定端口的UDP流量发送到您刚刚为VPN服务器保留的IP地址。
同样,具体步骤因路由器而异,因此您可能需要查找设备手册。
您的路由器可能允许您选择打开一系列端口,并为它们分配不同的内部和外部编号。您只需要打开一个端口,它可以有相同的内部和外部编号。
默认情况下,Wireguard使用端口51820,但如果您愿意,也可以配置另一个端口。只是小心不要分配一个已经被使用的端口。选择UDP作为协议。
使用No-IP配置动态DNS
如果您的公共IP地址是静态的(即一直保持不变),那么您可以跳过这一步。
如果您通过常规住宅或小型企业计划连接互联网,那么您的互联网供应商很可能正在为您分配一个动态IP地址,也就是说IP地址会定期更改。当您尝试从互联网连接本地网络时,之前的IP地址已经不存在了,所以这个IP地址不是很有用。
如果您有一个动态IP地址(或者您不知道它是静态还是动态的),您可以配置动态DNS或DDNS,它会在每次您的公共IP地址发生更改时为其更新一个自定义主机名。
从No-IP获取免费账户
我们将需要有人在他们的域上托管我们的主机名。有许多服务供应商提供该项服务。如果使用了正确的DNS主机,您甚至有可能在自己的域上设置一个。
在本教程中,我们将使用No-IP,它可以让您免费设置主机名。
打开 https://www.noip.com/,输入主机名,然后点击注册。
完成免费注册过程并确认您的电子邮件地址。
现在进入“My Account(我的账户)”并配置一个用户名。记下您的用户名和密码,我们很快就会用到它。
安装Ddclient
在终端中,输入以下命令来更新您的操作系统:
sudo apt update && sudo apt upgrade -y
现在安装ddclient。
sudo apt install ddclient -y
然后编辑ddclient配置文件。
sudo nano /etc/ddclient.conf
将配置编辑为如下所示,替换为您的用户名、密码和主机名。
use=web
ssl=yes
protocol=noip
login=<USERNAME>
password=<PASSWORD>
<YOUR_HOSTNAME>
现在使用以下命令运行ddclient:
sudo ddclient -daemon 10m
使用PiVPN安装Wireguard
现在,您已经可以运行PiVPN了。输入:
curl -L https://install.pivpn.io | bash
片刻之后,您将会看到一个欢迎您使用自动安装程序的界面。按两次回车。
接下来,它会询问您的Raspberry Pi是否有保留IP。您这时候已经解决了这个问题,所以用箭头键选择是,然后按下回车。
然后,它会要求您选择一个账户来托管VPN。可以选择pi用户,按回车。
现在,它会要求您在Wireguard和OpenVPN之间进行选择。 Wireguard是默认选择,因此请直接按回车。
安装Wireguard需要几分钟时间。之后它会询问您要在哪个端口运行Wireguard。如果您之前在路由器中配置了51820以外的其他端口,请在此输入端口编号。
再次按下回车确认设置。接下来,它会要求您选择一个DNS服务器。如果您有自己的DNS服务器(请查阅之前的DNS服务器文章),则选择“自定义”。
我发现使用Google DNS服务器可以获得很好的服务。如果您更喜欢其他服务器也没问题。
接下来它会询问是通过公共IP地址还是通过动态DNS进行连接。如果您有静态IP,那么可以保持原样不动,否则按向下箭头并按下空格键来为DNS条目配置客户端。按下回车,然后输入您在noip.net上(如果这是您使用的)配置的主机名。
现在您会看到将生成服务器密钥的提示。按下回车,在它运行时稍等片刻。
接下来,它会询问您是否希望将服务器配置为自动安全更新。这是个好主意,所以再次按下回车选择接受。
完成该脚本后,它会询问您是否要重新启动。选择是,然后按回车。
将客户端添加到VPN服务器
您的VPN服务器需要配置一个以上的客户端才能使用。
您可以使用以下命令来执行该操作:
pivpn add
它会询问客户端的名称,然后在/home/pi/configs/中生成一个.conf文件,您可以将其与相关操作系统中的wireguard客户端一起使用。
Wireguard客户端软件可以用于以下系统:
• Linux
• MacOS
• Windows
• Android
• iOS
小心这个.conf文件!它包含任何人从世界上任何地方访问您的本地网络所需要的一切。因此,不要将其留在移动硬盘或者USB上。