如何使用 Raspberry Pi 创建 VPN 服务器
已发表: 2022-01-29当您想到 VPN 时,您可能会想象一种订阅服务,它通过位于世界其他地方的服务器来传输您的互联网流量。 但是,这些服务并不是加密您的在线活动的唯一方法。
一键式 VPN 服务可能很棒,如果您想要一个开箱即用的简单解决方案,我们推荐一些 VPN。 不过,这项服务是有代价的:通常每月大约 5 到 10 美元,更不用说信任另一端的任何人了。 对于您控制的更便宜的选择,您可以在 Raspberry Pi(或某些路由器)上设置 OpenVPN 服务器,并在外出时使用您自己的家庭互联网连接作为 VPN。
请注意,您将无法将您的位置欺骗到海外国家,或隐藏您的身份以防窥探(因为流量似乎来自您的常规家庭互联网连接)。 但是,在公共 Wi-Fi 上浏览时,它仍然会为您提供额外的安全性,并且当您需要访问家庭网络以唤醒睡眠中的 PC 以便您可以远程桌面时,它非常有用。它便宜、简单、如果你身边有一个 Pi,那么值得一试。
你需要什么
要进行设置,您需要一个显而易见的东西:一个带有所有关键配件的 Raspberry Pi,例如电源和 SD 卡。 本指南不需要特殊的操作系统; 您可以只使用 Raspbian,因此请查看我们的 Raspberry Pi 初学者指南,了解有关设置基础知识的所有信息。 (确保在首次启动 Pi 时更改默认密码,因为它对安全性极为重要——毕竟,这是该项目的全部重点。)
我建议在本演练中也使用鼠标、键盘和显示器(仅用于初始设置),尽管并非严格要求。 (您可以通过 SSH 连接到您的 Pi 以设置您的 VPN,但您可能需要在此过程中重新连接,因为更改网络设置会导致 Pi 失去连接。)
这就是你在技术上所需要的,尽管我推荐了其他一些东西。 首先,为您的 Raspberry Pi 设置 DHCP 保留是一个好主意,这样它的内部 IP 地址就不会随着时间而改变。
其次,我推荐一个动态DNS服务。 为了从远处访问您的 Pi,您需要将其指向您家中的公共 IP 地址。 这并不难找到,但它可能会不时发生变化,这可能会破坏您的 VPN,直到您重新配置它。 这样做有点痛苦,因此使用动态 DNS 服务会更容易,因为它会为您提供一个易于记忆的地址,该地址会在您的 IP 地址更改时更新。
检查您的路由器的设置,看看它是否支持任何动态 DNS 服务,如 DynDNS 或 No-IP——其中一些是付费订阅,但其他的,如 No-IP,是免费的,但用途有限,应该可以很好地满足我们的目的。 我们不会在本指南中介绍整个过程,但如果您发现您的互联网提供商不断更改您的公共 IP 地址并破坏您的 VPN,我建议您进行调查。
如何使用 PiVPN 安装 OpenVPN
OpenVPN 是一套开源软件,可让您在几乎任何类型的硬件上设置 VPN。 如果你愿意,你可以在你的 Pi 上安装 OpenVPN 的 Linux 服务器并手动调整配置文件,但有一个更简单的解决方案。 PiVPN 是一组开源脚本,可将 OpenVPN 的配置转变为易于使用的向导,因此即使这是您第一次使用 OpenVPN,设置它也不会有太多麻烦。
所以启动你的 Pi,确保所有软件都是最新的,然后打开一个新的终端窗口。 安装 PiVPN 就像运行以下命令一样简单:
curl -L https://install.pivpn.io | 重击
该脚本将花费几分钟来安装 OpenVPN,然后它将引导您完成配置过程。 首先,它会通知您 PiVPN 需要一个静态 IP 地址,因此您可以在外出时轻松访问您的 VPN 服务器。 如果您设置了 DHCP 保留,您可以在 PiVPN 询问您是否正在使用时说“是”。
选择您的用户后(默认的 Pi 用户很好,除非您想使用另一个用户),PiVPN 会询问您是否要使用 WireGuard、新的 VPN 协议或 OpenVPN。 我在本指南中使用 OpenVPN,因此使用箭头键将光标移动到 OpenVPN,然后按空格键选择它,然后按 Enter 继续。
WireGuard 是相当新的,并显示出很大的希望,而 OpenVPN 更受欢迎并得到广泛支持。 如果您想尝试一下 WireGuard,可以在此处阅读有关它的更多信息。
对于接下来的几个步骤,默认设置适合大多数用户。 系统会询问您是要使用 UDP 还是 TDP(除非有充分的理由不这样做,否则应该选择 UDP),要使用的端口(1194 很好,除非有其他东西在使用它),以及什么您要使用的 DNS 提供商(任何都适合)。
一个问题:我发现,尽管我使用了动态 DNS 服务,但 PiVPN 不会接受我的自定义 URL。 如果您遇到同样的问题,只需告诉它使用您的公共 IP 地址,您可以稍后在配置文件中更改它。
最后,OpenVPN 2.4 功能值得启用,除非您知道您正在使用不支持这些功能的应用程序。 出现提示时选择推荐的安全证书 - 较大的证书可以提供更好的安全性,但会减慢速度,并且对于大多数用户来说不是必需的。 启用无人值守升级,PiVPN 将安装必要的软件包并创建必要的配置文件。
最后,您可以选择连接到 VPN 时使用的 DNS。 跳过添加自定义搜索域(除非您知道那是什么并且想要使用它)。 完成后,系统会提示您重新启动 Pi。
重新启动后,您需要打开一个终端窗口并运行:
pivpn 添加
为配置文件命名(我选择了 whitson-laptop),设置证书的持续天数(默认值很好),并输入您选择的密码(确保它很强大)。 它将在 /home/pi/ovpns 下为您生成一个 .ovpn 文件,您需要将其连接到您的 VPN — 将其复制到您的 PC 并保存在安全的地方。
PiVPN 建议对其他设备重复此过程,因此,如果您有其他笔记本电脑或手机要使用此 VPN,请立即重新运行此命令以生成它们自己的配置文件。
这是我必须对我的 .ovpn 文件进行一次编辑的地方。 如果您像我一样使用动态 DNS 服务,请在记事本(或您选择的文本编辑器)中打开文件,并将第 4 行中的 IP 地址替换为您的自定义 URL。 如果您在连接到您的 VPN 时遇到问题,这是我要搞砸的第一行——它在过去给我带来了许多 OpenVPN 配置生成器的问题。
从这里开始,您的 Pi 应该已全部设置好,但在连接之前您还需要做一件事:在路由器上转发您的 VPN 端口。 这个过程因路由器而异,但大致如下:登录路由器的配置页面,找到端口转发选项,然后将端口 1194 转发到 Pi 的内部 IP 地址。 您可以在 portforward.com 上找到有关特定路由器的更详细说明。
从任何地方连接到您的 VPN
您现在处于基本阶段,因为其余部分非常容易。 要在您不在家时连接到您的 VPN,您需要一个能够连接到您的 OpenVPN 服务器的 VPN 应用程序或“客户端”。 OpenVPN 有一个名为 OpenVPN Connect 的官方客户端,可在 Windows、macOS、Linux、iOS 和 Android 上使用。
您可以从 OpenVPN 的主页获取它——只需向下滚动到 OpenVPN Connect 入门,然后单击您选择的平台。 还有一些流行的第三方程序,如 Viscosity(Windows/Mac) 和 Tunnelblick(Mac),它们为高级用户提供了额外的选项。 您可以在 OpenVPN 社区的此页面上查看其他 OpenVPN 客户端。
启动 OpenVPN Connect 应用程序并单击“文件”选项卡以添加新配置文件。 导航到您从 Pi 复制的配置文件(同样,我的文件名为 whitson-laptop.ovpn)并选择它。 单击添加按钮,您可以通过打开切换开关并输入密码来连接到您的 VPN。
完成后,您的所有流量都将被加密,并通过 Pi 所在的家庭互联网连接进行路由。 您的流量将不会被窥探到咖啡店的 Wi-Fi,并且您将能够访问您家庭网络上的任何资源,就像您在那里一样 - 无需订阅费。