用 Raspberry Pi 安装 VPN 服务器

树莓派vpn

本文介绍如何将 Raspberry Pi 变成 VPN 服务器。

我的一位朋友要出远门,想要一个虚拟专用网络,这给了我灵感。

他解释说,拥有VPN的好处是,它允许他访问他的家庭网络和文件。

这是很标准的。

他还提到,如果他通过家庭网络登录,他将更容易登录银行应用程序和其他服务。

拥有一个海外 IP 地址会引起注意,这将导致他需要进行验证码测试和 2FA(2Force.Force.Force.Force.Force.Force.Force.org)。

因此,这让我想到树莓派在这种情况下是否能发挥作用。

首先检查你的路由器

这里的一个重要细节是检查你的路由器是否可以作为一个VPN服务器。

这将是最可靠的解决方案。坦率地说,这也是最简单和最不繁琐的解决方案。

我有一台TP-Link Archer C7,它有能力使用OpenVPN或PPTP VPN运行一个VPN服务器。在不到五分钟的时间里,我 按照指示 并设法使其运行。 

然后我所要做的就是在我的设备上安装OpenVPN并使用配置文件。

然而,如果你有一个不支持VPN连接的路由器,那么请跟随...

创建Raspberry Pi服务器我需要什么?

以太网电缆、Raspberry Pi和路由器来设置PiVPN
以太网电缆、Raspberry Pi和路由器

首先,最重要的是,你将需要一个Raspberry Pi。 

最理想的是有一个带有线以太网连接的Raspberry Pi,如Raspberry Pi 4,以获得最大的可靠性和速度。

如果你选择了这些设备,那么,你将需要一根以太网线来连接Raspberry Pi和你的路由器。

而为了确保你的Raspberry Pi是通过有线以太网连接的,你应该禁用无线连接。

不过,PiVPN已经成功地在Zero系列树莓派上运行,所以你也可以用它。

安装PiVPN

PiVPN的标志
PiVPN的标志

前往 pivpn.io 了解更多关于该软件的信息。

要安装它,请运行安装命令 curl -L https://install.pivpn.io | bash 在你的终端中。

这一步可能需要一些时间,但一旦完成,你会看到这个介绍屏幕。

DHCP预订

PiVPN是一个服务器,所以它需要有一个静态IP地址才能正常运作。 

如果你能够创建一个DHCP预订...

不是所有的路由器都允许你创建DHCP预留,所以如果你找不到这个设置的部分,请跳到下一节。

我有一个单独的调制解调器和一个路由器,我买这个东西是为了创建一个DHCP预留,以确保PiVPN一直在同一个IP地址上。

每个路由器都有点不同,所以你必须在谷歌上找到为你的路由器创建DHCP预留的确切说明。

如果你像我一样使用TP-Link Archer C7,你会去到 高级 > 网络 > DHCP服务器.

根据 地址预订 部分,我点击了 添加.我需要我的MAC地址(PiVPN中没有显示)和PiVPN提供的IP地址。

找到你的MAC地址

寻找mac地址raspberry pi
你通常可以通过路由器找到你的Raspberry Pi的MAC地址,或者使用 如果配置

有两种方法可以找到你的MAC地址。 

最方便的是,我的TP-Link路由器在DHCP客户端表中显示我的MAC地址 "DC-A6-32-88-AC-97"。

或者,你可以打开一个终端,输入 如果配置.

由于你是通过有线以太网连接的,请寻找 "eth0",并在它说的那一行找到 ,这就是你的MAC地址的位置。

如果你不能创建一个DHCP预订。

dhcp预订树莓派vpn或静态ip地址

在这个菜单中,按 "No "来设置一个静态IP地址。

在下一个菜单中,你需要将你的静态IP地址配置为不在你的路由器将分配给设备的IP地址范围内的地址。

例如,我的路由器给连接的设备分配一个IP地址192.168.0.100到192.168.0.249。所以,我可以给PiVPN分配一个192.168.0.250的IP地址。

然后它会要求你提供网关的IP地址。除非你有一个不同的网关,否则你可以把它作为默认地址。这通常是你的路由器的IP地址。

最后,在PiVPN上按确定,直到你到达 "本地用户 "页面。

当地用户

在 "选择一个用户 "页面,我选择了唯一的用户pi。

在Raspberry Pi操作系统的最新更新中,你不再有 "pi "作为默认用户,所以只需注意。

按确定。

安装模式

raspberry pi vpn wireguard

这里,它会问你是否要使用WireGuard或OpenVPN。我选择了WireGuard,因为有人推荐它。

默认的Wireguard端口

除非你需要另一个端口,否则你可以直接按OK键,使用默认的51820端口。

DNS供应商

选择谷歌作为DNS提供商 pivpn 树莓派vpn

这里有许多关于DNS供应商的选择,我只是为了便于设置而选择了谷歌。

公共IP或DNS

你在这里看到的是你的公共IP地址,这将是你用来连接到VPN的IP地址。

无人值守的升级

无人值守的升级PIVPN

我启用了无人值守的升级,因为我想进行安全升级。 

添加客户资料的时间

使用pivpn添加来添加一个客户,然后使用pivpn -qr来获得一个QR码,让你的手机来扫描
使用 pivpn添加 来添加一个客户,然后使用 pivpn -qr 获得一个二维码供你的手机扫描

很好!你已经进入了 "安装完成 "菜单。

在Raspberry Pi上设置PiVPN是战斗的一半。接下来的一半是配置你的客户端配置文件,以便你可以将电脑、手机和其他设备连接到它。

下面是方法。

打开终端,输入 "pivpn add"。

为客户端输入一个名称。你可以使用像 "client1"、"client2 "这样的名称,或者像 "智能手机"、"电视 "等更直观的名称。

按回车键。

当它完成后,你会看到一条消息说它已经完成。

PiVPN会生成一个.conf文件,你可以用Wireguard应用程序使用。

然而,有一个更简单的方法可以把配置放到你的手机上。

设置安卓手机

在同一终端,输入 pivpn -qr

然后,输入你想要的客户端。现在只有一个名为 "smartphone "的。

因此,输入 "smartphone "并按回车键。

如果一切顺利,你会看到一个QR码,你可以用智能手机上的Wireguard应用程序扫描。

编码问题导致PiVPN的QR码出现乱码
编码问题导致PiVPN的QR码出现乱码

然而,如果不是这样,它看起来会有乱码。这是因为你的终端的编码是错误的。

如果你遇到这种情况,你可以将smartphone.conf文件复制到你的手机上,并将Wireguard应用程序指向该文件。

御线宝的QR码
Wireguard Android应用程序扫描QR码

另一种方法是尝试ssh进入Raspberry Pi并运行命令 qrencode -t ansiutf8 < /home/pi/configs/smartphone.conf (将 "smartphone "改为你给客户起的任何名字)。

当我在我的Windows电脑上使用ssh时,二维码被成功生成。

在你的电脑上设置WireGuard

你需要做两件事。为你的电脑下载WireGuard应用程序,同时从你的Raspberry Pi获取.conf文件。

你可以下载 适用于Windows、Linux和Mac的WireGuard应用程序在此.

一旦你有了这个,通过使用以下方法创建一个新的配置文件 pivpn添加

键入你的配置文件的名称。我使用的是 淘宝网,这就产生了一个 msi-pc.conf 文件。

为了把文件复制到你的电脑上,最简单的方法是用命令来复制它。你应该在Raspberry Pi操作系统上启用SSH访问。

如果你像我一样在Windows上,你会使用这个命令。

pscp.exe [您的用户名称]@[你的ip-address]。:/home/pi/configs/[wireguard文件].conf [local-dir]

这就是我的结果。

pscp.exe [email protected]:/home/pi/configs/msi-pc.conf

在应用程序中,按 "添加隧道 "并找到你的.conf文件。

激活,你就完成了!

在你的路由器上设置端口转发

如果你按照到目前为止的步骤,你将能够在你的Wireguard应用程序上启用切换,但你将无法上网。

这是因为你需要配置你的路由器,让它把访问51820端口的流量指向你的Raspberry Pi。

为了做到这一点,请进入你的路由器上的端口转发菜单。在我的TP-Link Archer路由器上,它可以在 高级 > NAT转发 > 虚拟服务器.

当它要求你提供外部和内部端口以及内部IP地址时,你就知道你来对了地方。

这个屏幕基本上是在问:"如果我们使用51820端口从互联网获得流量,我们要把它发送到哪个设备,哪个端口?

在这种情况下,外部和内部端口是 51820, Wireguard的默认。协议是 UDP内部IP 是你的Pi的IP地址。

我怎么知道我的VPN在工作?

测试vpn是否工作

如果你的IP地址发生变化,你就知道你的VPN在工作。

为了测试我的智能手机的VPN连接,我首先在连接到VPN之前去找我的IP地址。

VPN说我的地址是XXX.XX.88.241

我连接到我的VPN,我的IP地址变成了XXX.XXX.169.39。

因此,如果你的IP地址有变化,这意味着你已经成功连接。

外面有很多服务。你甚至可以直接在谷歌上搜索 "我的IP地址是什么",谷歌可能会在搜索结果页面告诉你。要不然,我就用 whatismyip.com.

如果我的互联网IP改变了会怎样?

有时,当你重置路由器时,你可能不会得到相同的IP地址。停电、意外扯断电源线的情况可能发生。 

问题是......当你不在家而迫切需要连接到你的VPN时,你如何找到你的新IP地址?

我们的软件 码头 让你很容易找到你的公共IP是什么。

在上面的截图中,这是我的公共IP。如果它有变化,你可以用新的端点地址更新你的.conf文件。

PiCockpit还将允许你通过其网络界面远程重启和诊断Raspberry Pi的问题。

按照这个指南来安装PiCockpit。

另外,你也可以获得一个动态DNS服务和一个主机名。 这里有一个指南.

4评论

  1. John Ramirez 在4 月 13, 2023在1:37 下午

    我在委内瑞拉,我想在互联网上工作,但我需要不被发现,我的IP是在美国,我想问的是......。如何配置树莓,使我能够连接到EEU的IP居住地,在委内瑞拉工作,不被检测到,没有我baneen的页面,此外,配置我的navegador感谢。

    • Ligwill 在5 月 15, 2023在6:21 下午

      约翰、

      为此,需要在美国配置一个树莓派作为VPN服务器(在一个朋友或熟悉的人的家里),你在委内瑞拉的PC或LAPTOP要有vpn的客户端。这样,你就可以通过vpn从委内瑞拉连接到欧盟,你就可以看到像在美国一样的情况。

  2. [...]也可以使用 OpenVPN 或 WireGuard 等设置将其用作 VPN 服务器。您可以在日常使用中使用这两种设置,而且都可以 [...]

  3. [...] 当然,您也可以简单地将 Raspberry Pi 变成一个 VPN,我们以前也写过这方面的文章。[...]

发表评论