Tailscale,一个超级简单的 VPN 服务,可在 Raspi 上免费使用。



这项服务名为 “Tailscale”,是一项供个人使用的免费计划。据说 Tailscale 是一个超级简单的 VPN,我在实际使用时确实有这种感觉。

传统 VPN 的概念是有一个中央 VPN 网关。大名鼎鼎的 WireGuard 很受欢迎,因为它的路由效率比这更高一些。
Tailscale 是一个更先进的概念。它的独特之处在于没有认证服务器。
官方网站上有多篇解释性文章。如果您感兴趣,请访问它们。

这次我用 PL-R5m 和工业级 Raspberry Pi CM5 进行了尝试。
操作系统是 Raspberry Pi OS bookworm,使用有线网线而不是 Wi-Fi 连接。
Pi 5 或 CM5 具有千兆以太网、完美的性能、省电和安静的特点,因此将其变成专用 VPN 服务器似乎是权宜之计。

文章显示了设置工作的顺序,但如果你无论如何都想从外部连接到家里的 NAS,请在注册后安装 Tailscale,然后从文章末尾的开头开始设置,包括子网设置

在 Tailscale 注册(注册)


注册并使用身份提供商 Gmail、Microsoft 帐户、Office365 或其他身份验证系统登录。
Tailscale 没有身份验证系统,因此您必须使用 Gmail 等帐户注册。

由于您只需注册,因此您可以在 Raspberry Pi 的桌面或主机上进行注册,也可以使用网络浏览器访问以下 URL 并继续注册。

https://login.tailscale.com/start

此类注册服务越来越多,无需多言。请使用您拥有的账户进行注册。

由于您注册时使用的是 Gmail 帐户,因此只需选择您的 Gmail 帐户作为 Tailscale 登录名即可。

第一个问题我选择了 “个人使用”,因为个人使用是免费的。其他问题可以随心所欲。
初始设备注册后,我选择了 Linux,因为它是 Raspberry Pi。

选择操作系统,你将得到安装脚本代码。在 Raspberry Pi CM5 端运行此代码。
注册并登录后,您将进入第二个单元的注册屏幕,但您也可以选择查看控制台屏幕。
进入控制台屏幕后,保持原样,继续在 Raspberry Pi 端进行配置。

要从外部进行连接,iPhone 稍后也将作为第二台设备注册。
必须至少注册两台设备才能确认从外部进行 VPN 连接。

客户端应用程序可在多个平台上运行,包括手机上使用的操作系统。(Windows、macOS、Linux、iOS、Android),也可在 Raspberry Pi 甚至 iPhone 上使用。

安装 Tailscale(Raspberry Pi 操作系统)

要与 Tailscale 连接,必须安装客户端软件。
在 Raspberry Pi CM5 端,执行以下操作

  • [I] 官方网站列出的安装说明是 Raspberry Pi 操作系统的靶心。不过,由于没有 bookworm,我们尝试使用普通的 Linux 安装脚本。实际安装的版本库是 Debian bookworm。
curl -fsSL https://tailscale.com/install.sh | sh

安装完成后,将显示启动系统的命令,整个过程结束。

Installation complete! Log in to start using Tailscale by running:

sudo tailscale up

我们将尽快启动它。

启动 Tailscale

以管理员权限运行。

sudo tailscale up

执行后,终端屏幕上将显示要验证的屏幕的 URL。
您必须使用网络浏览器访问网站并登录。

To authenticate, visit:

    https://login.tailscale.com/a/1774610d018f66

Success.

登录屏幕

您将使用网络浏览器,但不一定是 Raspberry Pi 的网络浏览器。
访问终端中显示的 URL 时,系统会要求你登录,如果使用 Google 账户登录成功,终端将显示 “成功”。

之后,您就可以在控制台屏幕(在前面提到的网络浏览器中打开的管理屏幕)上进行一些设置。

检查控制台屏幕

登录后,CM5 会显示在控制台屏幕(管理屏幕)的 “机器 “选项卡上。
图片显示的是两个 iPhone 应用客户端程序,它们也是从 App Store 安装和验证的。

IP 地址是自动分配的。在这种情况下,可以放心使用。

顺便提一下,当我从控制台屏幕的菜单中检查计费项目时,我发现该计划正确地属于个人计划。

  • [I] 这是因为我在注册账户时选择了 “个人使用”,而这是一个 gmail 账户。如果你的电子邮件地址是企业邮箱,你可能使用的是不同的计划。在这种情况下,官方网站上说你可以选择试用(退出)。

我们看到,免费计划最多允许 3 个用户和 100 台设备。这对于个人使用来说已经足够了。


确认后,您可以保持屏幕原样。稍后您将再次进行操作。

子网路由器配置


如果要访问 CM5 网络中通过 VPN 连接的设备,则需要设置一个子网路由器来连接它们。

Raspberry Pi CM5 所在的网络上已经有一个 NAS 在运行。

如果您安装了客户端应用程序,但某些设备(如打印机)不允许安装客户端应用程序,情况也是如此。如果在 CM5 中安装的客户端应用程序中启用子网路由器功能,就可以访问未安装 Tailscale 客户端应用程序的设备。

现在,使用 tailscale 命令将家庭本地网络配置为 CM5 的子网路由器。

  • [I] 您指定的 IP 地址应读作您的家庭 IP 地址。如果路由器是 192.168.0.1,则典型路由器的默认 IP 地址范围是 192.168.0.0/24;如果路由器是 192.168.1.1,则默认 IP 地址范围是 192.168.8.1.0/24。

由于这取决于路由器和个人配置,因此请使用ip a命令查找 IP 地址和子网掩码。
在本文中,192.168.0.1是路由器,子网掩码是255.255.255.0 ,因此应指定以下内容

要在家中路由本地网络,只需使用选项运行即可。

tailscale set --advertise-routes=192.168.0.0/24

运行该命令需要 sudo。
使用以下命令注册一个现有用户,这样就可以在没有 sudo 的情况下运行它。只需运行一次。
您可以每次都添加 sudo,也可以不添加。

sudo tailscale set --operator=$USER

我去看看。

配置子网路由器后,请返回管理页面进行检查。
立即反映。
从三点式阅读器菜单的机器栏中的 Raspberry Pi CM5 行打开路由设置。

之前指定了一个 IP 地址范围,请选中该复选框以激活它。

当我保存并返回列表时,它被标记为 SUBNET。
不过,有一个”!”标记。

当我再次查看同一个屏幕时,哎呀,出现了某种信息。

如果您看到上面的 “无法中继流量”,那是因为没有设置路由权限(规则)。
现在的情况是,即使我能通过 VPN 连接,也无法访问家里的 NAS。

路线设置

您收到警告和无法连接的原因是您没有向 CM5 授予路由权限。
在 Raspberry Pi OS 中,创建并启用一个 conf 文件,赋予/etc/sysctl.d/ 以下权限。

  • [I] 不同的操作系统有不同的目录。

制定规则:

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

现在,子网标签”!标记 “将消失,如果您通过 VPN 连接 NAS,就可以访问家中的 NAS。

用 iPhone 试试

我将使用 iPhone 进行 VPN 连接,并查看家中的 NAS。

此外,还必须允许 iPhone 加入 Tailscale 网络,因此需要安装客户端应用程序。
应用程序中的身份验证与之前的相同,只需使用 Gmail 帐户登录即可。


此时,iPhone 应用程序和控制台屏幕都不需要额外配置。

只需安装一个 VPN 即可连接。

在 iPhone 上,进入设置 –> VPN 和设备管理 –> VPN –> VPN 状态,然后按照说明打开连接并选择适当的 VPN。
或从 Tailscale 应用程序启用 VPN 连接。

在 iPhone 的 VPN 设置中打开 VPN。

VPN 也可以通过 Tailscale APP 打开。

现在,我可以在家里使用 Tailscale VPN 连接到我的 Raspberry Pi CM5。
关闭 Wi-Fi,或在家中 Wi-Fi 环境不存在时(出门在外)尝试像往常一样连接 NAS。

通过标准的 iPhone 应用程序或我喜欢的 FileBrowserGO 访问 NAS。
由于 NAS 已从家中的 iPhone 连接,连接目的地已注册,因此只要选择 NAS 的 IP 地址,就能顺利显示文件。

如您所见,我们可以从外部访问家中的文件,如顶部栏中的 4G 和 VPN 所示。

在 iPhone 端,我只需安装 Tailscale 客户端应用程序。
笔记本电脑也是如此:只需下载操作系统特定的客户端应用程序,并在 Tailscale 中将其注册为设备即可。

从一开始就在配置中包含子网。

这一次,我想确保它能正常工作,所以我按顺序把它们设置好了。可能看起来有点长。
安装 Tailscale 后,可立即设置这一级别的 VPN 连接。

在文章中,使用tailscale set命令对其进行了设置。您可以在配置时使用tailscale up命令启动它。


然后可以选择将设置添加到要启动的命令中。
我还启用了 ssh。

sudo tailscale up --advertise-routes=192.168.0.0/24 --ssh 

您必须允许 Raspberry Pi 配置路由,因此应执行下面三行。

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

执行tailscaletailescale set 可查看该命令的选项。
有很多选项。详情请参考官方网页。

只能用简单来形容的 VPN 服务

因此,我只需在安装了 Tailscale 的 CM5 中运行几个命令,然后在控制台屏幕上勾选复选框即可。
这比使用相同的 Raspberry Pi 构建和配置 VPN 服务器要简单得多。

最重要的是,它不需要路由器端口转发配置。此外,Raspberry Pi 的 IP 地址并不固定,因此设置起来非常容易。
这确实是连接的唯一方式。

尾标功能:

  • 无需配置路由器
  • 无需固定 IP 地址。
  • 安装 Tailscale 并只执行几行命令
  • 网络浏览器控制台屏幕立即显示,简单易懂
  • 对于个人用户,您可以从免费计划开始(3 个用户,100 台设备)
  • 许多平台可与 Raspberry Pi 系列配合使用

我在 Raspberry Pi 上设置的 VPN 是什么?连接服务如此简单,让我不得不这么想。
即使是商业用途,费用也很低,而且可以立即安装。
由于无需在路由器上打开端口,初学者很容易设置。对于个人来说,它有一个免费计划,因此使用起来很方便。

我发现 Tailscale + Raspberry Pi 的 VPN 连接非常实用。请参阅文章进行尝试。

Tailscale 官方:https://tailscale.com


文章由拉斯必达提供

非工程师也能愉快使用的 Raspberry Pi 信息网站 raspida.com一个非工程师也能享受和使用的 Raspberry Pi 信息网站。他还为 PiLink 网站提供有关工业用 Raspberry Pi 的技术博客文章