logo科技微讯

在 fly.io 上部署 Tailscale

作者:科技微讯
日期:2023-05-25
📝 笔记

可以先了解一下 fly.io 提供的免费额度,按量付费,需要添加信用卡,注意需要在 Organization - Billing 处,把 Plan 改为 Hobby Plan,而不是 Hobby Plan Preview 或其他 Plan。

什么是 Tailscale 呢?你可以去它的官网了解,少数派的一篇文章是这样介绍 Tailscale 的:

Tailscale 属于一种虚拟组网工具,基于 WireGuard。他能帮助我们把安装了 Tailscale 服务的机器,都放到同一个局域网。

简单地说,我们可以在 Mac、iPhone、Windows 等设备都安装上 Tailscale,经过简单的配置,这些设备就能组成一个局域网,即使不是在同一个 Wi-Fi 下也可以互相访问对方的文件。你当然也可以把 Tailscale 安装在 fly.io 的虚拟主机上,这样你的手机或电脑就可以和这部虚拟主机组成局域网。

Tailscale 还支持所谓的 exit node:

An exit node in Tailscale is a device or network that is used to route all of your internet traffic.

Github 有一个项目手把手教你如何在 fly.io 的主机上部署 Tailscale,并把该主机设置为 exit node,从而把你的手机、电脑的流量都路由到这个主机上,我试了一下,速度还不错。如果你已经购买了其他虚拟主机,也可以把 Tailscale 部署到你的主机上,不一定是 fly.io。

fly.io 支持很多 region,如果你想知道哪个 region 在你所在的位置延迟最低,可以看这个帖子,或打开帖子提到的这个网页,查看页面底部的区域,不过这个网页没有列出所有 region。我在广州,根据我的不完全测试,nrt、sea、bos、den 这四个地区最大下载速度可达 100Mbps,第一个在日本,其他三个在美国。我以为 hkg(香港)、sin(新加坡)速度会不错,实际却很慢,只有几兆。

Tailscale 可能会通过它的 DERP node 中转你的网络,即你的网络不是直接从你的设备到 fly.io 的主机,而是从你的设备到 Tailscale 的 DERP node,再从 DERP node 到 fly.io 的主机,这样速度可能就有点慢了。

在安装了 Tailscale 应用的电脑上执行 tailscale status 命令,如果返回的信息提示 relay,说明你的网络经过了 DERP node,如果显示 direct,那你就是直连 fly.io。

你在网络上可能会看到 “Tailscale 打洞” 这个词,英文说法是 UDP hole punching,上面提到的项目支持 UDP hole punching,这是之所以能 direct 的原因。

Tailscale 博客写了一篇解释 NAT 穿透的文章,NAT 穿透有多种实现方式,其中一种就是 UDP 打洞。

donation赞赏
thumbsup0
thumbsdown0
暂无评论