如何将树莓派的 WiFi 热点流量自动通过 VPN

在本树莓派 VPN 接入点教程中,我们将探索如何在 WiFi 接入点上设置 VPN 。

本教程以我们以前的无线接入点教程为基础,但进行了重大更改,这是通过 VPN 路由所有流量。

VPN 访问点即使不支持任何 VPN 软件,也可以提供一种快速简便的方法来通过 VPN 运行您想要的任何设备。您需要做的就是将该设备连接到树莓派无线访问点,其所有流量都将通过 VPN 隧道自动路由。

本教程建立在我们无线访问点上的先前教程的基础上,但进行了很大的更改,这是通过 VPN 路由所有流量。这个项目本质上是一个 VPN 路由器,并且设置起来非常简单,您需要首先运行我刚刚链接的第一个教程。

对于我们的教程,我们将向您展示如何通过 VyprVPN 或 NordVPN 访问点。在测试本教程的各种 VPN 提供商时,我们发现它们是最可靠的,同时又保留了良好的速度和良好的隐私策略。

如果您宁愿从网络外部连接到树莓派并将其用作 VPN ,那么我的易于遵循树莓派 VPN 教程,您应该看看。

如果您对其他提供商有任何建议,可以选择使用您的 VPN 服务,您可以在我们的论坛上给我们留言。

设备清单

以下是我在本树莓派 VPN 接入点教程中使用的所有点点滴滴,没有什么超级特别的东西可以完成。

推荐的

  • 树莓派 2 或 3

  • Micro SD 卡或 * SD 卡 Pi 的旧版本。

  • Wifi 加密狗 (The Pi 3 内置 WiFi)

  • 以太网连接

  • VyprVPN 订阅或 * NordVPN 订阅![](/images/1- aff_i?offer_id = 174&aff_id = 3567&aff_sub = tutorial)![](/images/2-aff_i?offer_id = 15&aff_id = 16093)

可选的

  • 树莓派外壳

为接入点准备 OpenVPN

要设置我们的 VPN 接入点,您首先必须遵循我们的无线接入点教程,因为这将正确设置本教程的树莓派。

在本教程中,我们将向您展示如何利用您的 VPN 服务来设置 VPN 接入点。

我们将在本教程中涉及的两个 VPN 是 * VyprVPN 和 * NordVPN。我们选择了这两个,因为我们发现它们都是可靠,快速且良好的隐私策略。

对于 VPN 本身,我们将使用 OpenVPN 软件,这是我们要接触的两个 VPN 上提供了对 OpenVPN 协议的完全支持,并为我们提供了运行它所需的 **。 opvn ** 文件。

1 在开始设置 VPN 访问点之前,请先运行以下两个命令,以确保我们拥有最新的软件包。

sudo apt-get update
sudo apt-get upgrade

2 现在我们已经完全更新,可以安装我们将依赖的 OpenVPN 软件。

我们可以通过在终端中运行以下命令来做到这一点:

sudo apt-get install openvpn -y

3 现在,我们跳到 openvpn 目录,我们将在其中存储启动和运行树莓派 VPN 访问点所需的所有内容。

让我们使用以下命令跳转到该目录。

cd/etc/openvpn

4 现在我们已经更改为 ** openvpn ** 目录,我们需要创建授权文件才能继续。

我们将创建的此 auth .txt 文件将保留您的 VPN 服务用户名和密码。

首先通过运行以下命令来创建文件:

sudovim/etc/openvpn/auth.txt

5 现在,将您的用户名和密码添加到此文件中,如下面的示例所示。

我们将设置 OpenVPN ,以便它从该文件读取以登录到您的 VPN 服务。

用户名
密码

将您的登录详细信息输入文件后,我们可以通过按 ** Ctrl + X 然后按 Y 然后按 Enter ** 来保存并退出文件。

获取 VyprVPN 的 OVPN 文件 1 在开始抓取文件之前,我们需要先设置 VyprVPN ,首先需要通过运行以下命令来确保我们仍在 openvpn 目录中。

当然,在可以使用这些文件之前,您必须首先 * 注册 VyprVPN 。

cd/etc/openvpn

2 现在我们在配置目录中,我们现在将下载 VyprVPN OVPN 文件。这些是我们要连接到 Vypr 网络的负载。

运行以下代码,从 VyprVPN 的服务器中获取 zip 文件。

sudo wget -O vyprvpn.zip \
https://support.goldenfrog.com/hc/article_attachments/360008728172/GF_OpenVPN_10142016.zip

3 。有了树莓派上的 zip 文件,我们需要解压缩它以便可以访问所有文件。

通过在终端中运行以下命令,我们可以轻松提取此内容。

sudo解压缩 vyprvpn .zip

4 现在我们可以通过切换到新生成的目录来检出所有 **。 ovpn ** 文件,在此处记下要连接的位置,因为稍后需要指定此位置命令。

光盘 OpenVPN256 

5 现在使用以下命令在此处列出所有 **。 ovpn ** 文件。

记下您要使用的位置的文件名,例如,如果我们要连接到美国的旧金山,我们将记下”** USA – San Francisco.ovpn **”

ls

6 使用所需的 ovpn 文件,将其从 ** OpenVPN256 目录移至 openvpn ** 目录。

之所以这样做,是因为我们需要对文件进行一些更改,并且守护程序可以更轻松地通过 openvpn 目录中的文件自动启动。

对于我们的示例文件,您可以使用与此类似的命令将其移至正确的目录。该命令假定您仍坐在 vyprvpn 目录中。

还必须将文件类型从。 ovpn ** 更改为。 conf **,这很重要,这是 OpenVPN 检测和加载文件所必需的。

除了移动文件之外,我们还将重命名该文件以使其易于引用。

sudo mv"美国-San Francisco.ovpn""../USASanFran.conf"

**7 介绍如何在启动时运行 VPN 。

获取 NordVPN 的 OVPN 文件

1 现在,我们已经创建了 auth .txt 文件,我们需要从 NordVPN 中获取所需的 ovpn 文件。

请记住,在使用这些文件之前,您将需要 * 注册到 NordVPN 。![](/images/3-aff_i?offer_id= 15&aff_id = 16093)

但是,在执行此操作之前,首先要通过在终端上运行以下命令来确保我们位于正确的目录中。

cd/etc/openvpn

2 现在,要获取 NordVPN 的 OpenVPN 文件,您需要转到 NordVPN 网站上的 [ovpn] 部分

在此网站上找到要使用的特定服务器,右键单击” 下载 UDP **” 按钮,然后按”** 复制链接地址 “来复制链接。

将该 URL 粘贴到以下命令中,以代替我们使用的 URL 。

在我们的示例中,我们将使用 ** au514 ** 服务器。

sudo wget https://downloads.nordcdn.com/configs/files/ovpn_legacy/servers/au514.nordvpn.com.udp1194.ovpn

3 现在最好重命名刚刚下载的文件。重命名文件将使在本教程的后面部分中更容易使用它。

您还需要将文件类型从。 ovpn ** 更改为。 conf **。启用自动启动后,OpenVPN 才能检测并加载文件,此更改是必需的。

您可以使用 mv 命令快速重命名该文件,如下例所示。

我们将 ** au514.nordvpn.com.udp1194.ovpn 文件名缩短为 au514.conf **,处理起来更加简单,但仍然提供了有关连接到哪个服务器的足够信息。

sudo mv au514.nordvpn.com.udp1194.ovpn au514.conf

4 现在,您已经重命名了文件,可以进入标题为” 设置 VPN 访问点” 的部分。

本节将指导您实际使用 OpenVPN 的过程,并向您展示如何通过它路由流量。

设置 VPN 接入点

1 现在我们已经准备好要放一个.ovpn 文件,我们需要对其进行一些修改才能使树莓派 VPN 访问点正常工作。

首先运行以下命令,并确保使用自己的命令名替换该命令中的文件名。

sudo vim au514 .conf

2 现在,在此文件中,您需要搜索并修改以下行。您可以使用 ** CTRL + W ** 使查找此行更加容易。

进行此更改后,当 OpenVPN 客户端打开文件时,它将知道需要加载 ** auth.txt ** 文件。

验证用户密码

用。。。来代替 auth-user-pass auth.txt
3 一旦修改了文件,可以先按 ** CTRL + X ,再按 Y **,最后按 ENTER ** 保存它。

4 完成后,我们现在可以进行测试以确保 OpenVPN 已成功连接到我们的 VPN 提供商,在我们的示例中为 NordVPN 。

为此,我们将运行以下命令,确保将。 conf **(**。 ovpn **) 文件替换为您在上一步中修改的文件。对于我们的示例,我们将使用” au514.conf **” 文件。

sudo openvpn --config"/etc/openvpn/au514.conf"

建立连接后,此命令将输出少量文本,您想要查找的主要文本类似于下面显示的内容。

如果获得类似的输出,则表明您已经成功连接到 VPN 提供程序服务器。

/sbin/ip 路由通过 192 .168.40.1 添加 81 .171.69.2/32
/sbin/ip 路由通过 172 .20.32.1 添加 0 .0.0.0/1
/sbin/ip 路由通过 172 .20.32.1 添加 128 .0.0.0/1
初始化序列完成

5

要停止当前正在运行的进程,请按 ** CTRL + C **。

6 在我们的 VPN 正常工作的情况下,我们需要利用 iptables 通过隧道而不是像在无线接入点教程中那样通过以太网重新路由 wlan0 ** 连接。

在执行此操作之前,尽管必须清除当前的 iptables **,但可以通过在树莓派上运行以下三个命令来完成此操作。

sudo iptables -F
sudo iptables -t nat -F
sudo iptables -X

7 现在,我们通过运行以下命令最终安装新的 iptables ,这将告诉它将所有 ** wlan0 ** 流量转发到隧道连接。

sudo iptables -t nat-输出-o tun0 -j伪装

8 完成后,现在保存 iptables 来覆盖我们在无线接入点教程中设置的旧规则。

为此,请在树莓派上运行以下命令。

sudo sh -c"iptables-保存> /etc/iptables.ipv4.nat"

9 由于我们现在已经设置好防火墙并可以使用了,因此我们需要调整 OpenVPN 客户端的配置文件。

通过运行以下命令开始编辑文件。

sudo vim /etc/default/openvpn

10 对于此文件,请找到以下行并进行更改,因此它都没有注释,并且”** all **” 被替换为您在本节的” 步骤 1 “中修改的文件的名称。 。

您可以在下面看到我们的示例。

#autostart ="all"

用。。。来代替

autostart ="au514"

11 对 OpenVPN 配置文件进行必要的更改后,您可以通过按 ** CTRL + X 然后 Y **,最后按 ENTER ** 保存并退出。

12 现在,您应该可以通过重新启动树莓派来查看一切是否正常。

启动后,它将自动建立与 VPN 的连接,建立隧道,然后通过隧道转发来自无线访问点的流量。

sudo reboot

验证您的 VPN 接入点是否按预期工作的最简单方法是检查您的 IP 地址是否不同于未通过 VPN 连接的设备。

另外,您的 VPN 提供商可能会在其网站顶部显示您是否” 受保护”,我们的示例 NordVPN 和 VyprVPN 均会提供此反馈。

防止 DNS 泄漏

您可能会发现 DNS 泄漏,但是稍作调整便可以在树莓派上轻松解决此问题。这项更改迫使我们的 DNS 通过 Cloudflare 的公共 DNS 而不是互联网服务提供商的 DNS 运行。

1 首先,加载到 dhcpcd 配置文件中并更新以下行。

打开

sudovim/etc/dhcpcd.conf

#static domain_name_servers = 192.168.0.1

用。。。来代替

静态 domain _name_servers = 1.1.1.1

2 保存并退出文件。

3 现在,通过输入以下命令重启您的 Pi 。

sudo reboot

4 转到 ipleak.net 并检查您的 DNS 是否不再泄漏。如果仍然泄漏,则可能要确保 WebRTC 不会泄漏。

希望到现在,您应该已经拥有一个可以正常运行的无线接入点,它将通过我们的 OpenVPN 隧道将其所有流量路由到 VyprVPN 或 NordVPN 服务。

您应该拥有稳定,快速的 VPN 连接,以及轻松切换到更安全的连接的方法。

如果您遇到任何问题或对本树莓派 VPN 接入点教程有任何反馈,请与我联系。会员链接免责声明:我在本网站上提及的所有产品都是我个人购买和使用过的,至少一次。该网站上的某些链接是会员链接,每当进行销售时,这些链接都会为我赚取少量佣金。

分享到