如何使用Raspberry Pi搭建VPN服务器

电子说

1.3w人已加入

描述

这篇文章来源于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(我的账户)”并配置一个用户名。记下您的用户名和密码,我们很快就会用到它。

Raspberry Pi

安装Ddclient
Raspberry Pi

在终端中,输入以下命令来更新您的操作系统:
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=
password=

现在使用以下命令运行ddclient:
sudo ddclient -daemon 10m

使用PiVPN安装Wireguard

现在,您已经可以运行PiVPN了。输入:
curl -L https://install.pivpn.io | bash

片刻之后,您将会看到一个欢迎您使用自动安装程序的界面。按两次回车。

Raspberry Pi

接下来,它会询问您的Raspberry Pi是否有保留IP。您这时候已经解决了这个问题,所以用箭头键选择是,然后按下回车。

Raspberry Pi

然后,它会要求您选择一个账户来托管VPN。可以选择pi用户,按回车。
Raspberry Pi

现在,它会要求您在Wireguard和OpenVPN之间进行选择。 Wireguard是默认选择,因此请直接按回车。
Raspberry Pi

安装Wireguard需要几分钟时间。之后它会询问您要在哪个端口运行Wireguard。如果您之前在路由器中配置了51820以外的其他端口,请在此输入端口编号。
Raspberry Pi

再次按下回车确认设置。接下来,它会要求您选择一个DNS服务器。如果您有自己的DNS服务器(请查阅之前的DNS服务器文章),则选择“自定义”。
我发现使用Google DNS服务器可以获得很好的服务。如果您更喜欢其他服务器也没问题。

Raspberry Pi

接下来它会询问是通过公共IP地址还是通过动态DNS进行连接。如果您有静态IP,那么可以保持原样不动,否则按向下箭头并按下空格键来为DNS条目配置客户端。按下回车,然后输入您在noip.net上(如果这是您使用的)配置的主机名。

Raspberry Pi

现在您会看到将生成服务器密钥的提示。按下回车,在它运行时稍等片刻。
接下来,它会询问您是否希望将服务器配置为自动安全更新。这是个好主意,所以再次按下回车选择接受。

Raspberry Pi

完成该脚本后,它会询问您是否要重新启动。选择是,然后按回车。

将客户端添加到VPN服务器

您的VPN服务器需要配置一个以上的客户端才能使用。
您可以使用以下命令来执行该操作:
pivpn add

它会询问客户端的名称,然后在/home/pi/configs/中生成一个.conf文件,您可以将其与相关操作系统中的wireguard客户端一起使用。
Wireguard客户端软件可以用于以下系统:
• Linux
• MacOS
• Windows
• Android
• iOS
小心这个.conf文件!它包含任何人从世界上任何地方访问您的本地网络所需要的一切。因此,不要将其留在移动硬盘或者USB上。

Raspberry Pi

DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

审核编辑 黄宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分