如果你有在外地访问家中电子设备的需求,比如你在公司办公,需要访问家里的电脑、打印机、路由器、虚拟机等,那么就需要内网穿透。

网上有关于内网穿透的教程,比如教你配置路由器,这种方案需要你的路由器拨号上网能获取到动态公网 IP 地址、设置 DDNS、设置端口转发,一个词麻烦。还有教你买设备实现的,一个词贵。

我教你一个只要 3 步就能实现高带宽、低延迟的内网穿透方案,不用碰路由器、不用花钱。

优点:

  • 免费
  • 支持安装在 macOS、Windows、iOS、安卓、Linux 上
  • 支持 100 台设备,如果你有超过 100 台设备的场景,那么可以花钱开会员
  • 支持共享子网,100 台设备可以共享出 100 个子网,每个子网里没有设备的限制,相当于你可以有 (100 X 子网设备数)台设备

步骤一:注册

使用浏览器打开https://tailscale.com/,点击右上角 Try for free,其实就是注册账号。 WX20231122-132426@2x.png 当前 Tailscale 支持以下几种方式注册账号。我建议你使用微软账号,如果你网络没有问题,也可以用谷歌账号。 WX20231122-132530@2x.png

步骤二:下载

注册完成后会有下载地址,也可以直接打开https://tailscale.com/download/下载。

注意⚠️:苹果设备需要使用国外 Apple ID 账号登录苹果应用商店才可以下载。

WX20231122-134801@2x.png

步骤三:安装

安装完成后使用第一步注册的账号登录即可。你如果要从公司的电脑访问家里的电脑,那么你要在这 2 台电脑上安装 Tailscale。

实际使用

WX20231122-142141@2x.png 登录后软件就长这样。我们当前需要关注的就是 Network Devices,比如我现在想从公司的电脑访问家里的电脑,那么可以点击 Network Devices 看到有一台名字叫 intel-nuc 的设备,单击设备名就可以获得这台设备的 IP 地址(非公网地址)。 20231128082244.jpg 下面我分别用 ping 命令测试到 intel-nuc 这台设备的延迟和到 www.baidu.com 的延迟。可以从下方图片的左半部分看出公司电脑到家里 intel-nuc 的平均延迟在 24 毫秒,右半部分显示公司电脑到 www.baidu.com 的平均延迟在 17 毫秒,两者差别不大。24毫米的延迟可以说很低了。 20231128082607.jpg

共享子网

Tailscale 还有一个特别方便的功能,就是只要家中的一台设备安装了 Tailscale,就可以把家中整个网络共享出去,相当于家中所有设备都安装了 Tailscale。 通过点击头像->Admin Console 进入管理页面。 20231128171739.jpg 在管理页面的设备列表中找到 intel-nuc,点击 Machine settings->Edit route settings。 20231128082753.jpg 我家中的子网是 192.168.2.0/24,所以下图显示我共享了 192.168.2.0/24。 20231128082815.jpg 下面两张图片是我分别用 ping 命令和 scp 命令与家中没有安装 Tailscale 软件的机器进行通信的结果。这台设备在我家中的 IP 地址是 192.168.2.60,装有 Rocky Linux 9.2 操作系统。可以看到延迟在 41 毫秒,带宽大约 6.8 兆字节/秒。 20231128083105.jpg 20231128171704.jpg

写在最后

Tailscale 作为一款免费软件,提供了低延迟和比较高的带宽,并且除了共享子网功能还有其他便利的功能。你可以通过它和远程桌面软件操作家中的 Windows 或 Mac 电脑,也可以结合 ssh 客户端远程登录家中的 Linux 虚拟机。