前两天,看到 `Tailscale` 的公告邮件,支持了 `Peer Relay`,具体内容在[这里](https://tailscale.com/blog/peer-relays-beta)
这里先说下,什么是 `Tailscale`
> `Tailscale` 是一个 `VPN` 软件,可以用于异地组网或者内网穿透,不需要公网 IP,也有其他类似的软件,例如 `netbird` `zerotier` `easytier`,`Tailscale` 的文档应该是我见过写的最好的,也是因此我选择了它,例如这篇很有名的 `NAT` 打洞的介绍 [how-nat-traversal-works](https://tailscale.com/blog/how-nat-traversal-works)
什么是 `Peer Relay` ? 
`Tailscale` 通过 `P2P` 进行连接,有一个被称之为 `DERP` 的中继服务器,用于通知两个电脑对方的 IP, 然后双方进行打洞,在初期打洞还没成功,或者无法打洞的情况下,`DERP` 负责中转流量,打洞这个过程对于双方节点来说是无感的。
官方 `DERP` 中继服务器都在国外,延迟很高,要想低延迟只能自建,自建的话要有个服务器,有公网ip,另外还需要域名和证书,在国内,自然就少不了备案,虽然也有其他不需要域名的方案,这个我就没怎么深入了解,总之就是很蛮烦。
自建的 `DERP` 中继还得配置啥授权,防止别人也能连接你的服务器,但是这又导致了一个问题,要是你把自己的节点临时分享给别人,同时你又使用了自建中继,自建中继配置了认证,别人就没法连接你分享的机器,去掉认证又会导致自己的中继被陌生人`薅羊毛`,变成两头堵了属于是。
`Peer Relay` 一部分的解决了这个问题,只需要你的一个节点具有公网即可,其他节点可以通过这个节点进行数据中转,在成功打洞直连,节点中转,和中继服务器之间,tailscale会自动选择一条最优线路。
对于我来说就是访问不用看运气了,之前还是有一定概率打洞失败的,走中继服务器基本上只能浏览网页,还卡的要死,现在再不济走中转,也就 20ms 延迟变成了50ms,对于播放家里 `NAS` 的视频来说,基本没啥影响。


--- 
之前访问有些服务,也可以使用 ssh 工具的跳板机 ,不过这个中转,也就相当于进行这个操作了,就可以省去了。

---
老家我也放了个 8100 的机子,上面部署了 frigate 进行录像监看

带宽消耗比我想象中的低很多,感觉这一套完全可以替代海康威视的录像机了,还差一个不错的 app 。
另外发现,`Tailscale` 还有个库,可以用于自行开发嵌入到 app 中,或许可以用这个做个文章。
       
          Tailscale 支持了 Peer Relay
 
                