zerotier / tailscale / wireguard 怎么选?

2023 年 8 月 12 日
 ye4241

自建过程

zerotier

使用 zyclonite/zerotier + dec0dos/zero-ui 来配合的,之前一直用的好好的,但是突然不能用了,没找到啥原因的,也尝试自建 planet ,发现 planet 死活就是没办法运行。

tailscale

自建版本使用 headscale + ifargle/headscale-webui 。 一顿操作下来,发现 tailscale 想要同时连接两个 server 的话,特别麻烦,而且只能同时连接一个的。 在 openwrt 上面搭建的时候,刚开始有 dns 的问题,后来默认其妙的路由器直接崩溃了。

wireguard

自建可以直接使用 weejewel/wg-easy 的镜像,很顺利的连上来,和 tailscale 一样,只能同时保持一个连接。 在 openwrt 的操作安装时候发现,没有找到 kmod-wireguard 的,懒得折腾了。

回归 zerotier 官方

最后,我回到了 zerotier 官方版本的,竟然能用了。 折腾了一圈,发现还是 zerotier 多组组网简单一些的,另外两个更加适合单个组网。

客户端

zerotier

加入就是 join network ,然后后台授权,服务器可以不暴露端口 想要暴露内网的话,配置好本地路由转发后,后台添加路由即可

tailscale

如果使用官网的版本,直接点击登录就好了,如果是自定义的,那就得用命令行操作,而且自定义的目前也不支持 iOS 的。 想要暴露内网的话,命令行连接的适合将--accept-routes 加上,然后去后台那边允许

wireguard

后台生成配置后,本地直接添加就能连接上了,服务器需要暴露一个端口 暴露内网,似乎就是设置好 WG_ALLOWED_IPS 即可

小结

尝试了各种搭建内网穿透,最终还是回到了 zerotier ,因为组网不需要太复杂的命令或者配置。 zerotier 唯一的问题可能是之前看到好多因为 planet 异常无法连接的问题,但是据说自建 planet 可以解决,从源码编译替换容器里面的 planet 后重启,我一直没有成功的,现在用的官网版本也挺好的。

14803 次点击
所在节点    宽带症候群
64 条回复
ZColin
2023 年 8 月 14 日
@shelken #25 巧了 我也 广州腾讯云+深圳电信 全麻啥都连不上,换 n2n 了
Xiaosteven
2023 年 8 月 14 日
@mhycy 我也是上周五开始这样的,请问自建 planet 可以吗?或者有没有替代方案
mhycy
2023 年 8 月 14 日
@Xiaosteven
我有点想重构 zerotier 了,这东西底层协议有点不适应国情,但工作量很大
Xiaosteven
2023 年 8 月 14 日
@mhycy zerotier 核心部分没有开源吧,可以重构吗?或者和 surge 作者一样如果有个新的协议能在国内 p2p 也挺好的。现在就不知道有没有啥替代方案了,如果自建 planet 也不行就挺麻烦的了
mhycy
2023 年 8 月 14 日
@Xiaosteven
也就剩下面板没开源了,但不开源也不影响另起炉灶,反正不兼容
Xiaosteven
2023 年 8 月 14 日
@mhycy 要不在 github 上开个项目?深圳电信以前都没有遇到过 ban zerotier 协议的情况,不知道这段时间发啥疯。
Xiaosteven
2023 年 8 月 14 日
@zqmsoft 请问是自建 planet 挂了吗?我还想自建一个替代呢,如果自建也没有用那估计就没了
Yzh361
2023 年 8 月 14 日
zerotier 挺方便的
ye4241
2023 年 8 月 14 日
@gps949 #39 就是 tailscale 同时只能连接到一个自建的 server 上面的,如果想要切换到另外一个 server ,只能点击切换账号的,但是 tailscale 我看有 acl 控制,感觉用一个 server 也不是不行的。
mhycy
2023 年 8 月 14 日
@Xiaosteven
造出架子肯定开项目,但工作忙得跳舞……唉~
ye4241
2023 年 8 月 14 日
我一顿操作后,现在正常了,也不知道为啥他就正常了。现在 zerotier 官方后台管理,官方的 planet 的,自建创建了个 moon ,但是本地并没有 orbit 那个 moon ,广州腾讯云能用了。

```
version: '3'

services:
  zerotier:
    image: zyclonite/zerotier:router
    container_name: zerotier-one
    devices:
      - /dev/net/tun
    network_mode: host
    volumes:
      - ./data/zerotier:/var/lib/zerotier-one
    cap_add:
      - NET_ADMIN
      - SYS_ADMIN
      - NET_RAW
    restart: unless-stopped
    environment:
      # - TZ=Etc/UTC
      - PUID=1000
      - PGID=1000
      - ZEROTIER_ONE_LOCAL_PHYS=eth0
      - ZEROTIER_ONE_USE_IPTABLES_NFT=false
      - ZEROTIER_ONE_GATEWAY_MODE=both
      # - ZEROTIER_ONE_NETWORK_IDS=«yourDefaultNetworkID(s)»
```
gps949
2023 年 8 月 14 日
@ye4241
理解了,你说的这个问题最主要的问题是 headscale 本身不支持多租户、不支持节点分享、不支持用户邀请(加入到租户内)、不支持动态 ACL 设置( ACL 还不支持 autogroup ,至少之前看是这样,不知道近半年 headscale 有什么长进不)。
如果用官方 Tailscale 基于上面这些特性,不切换租户/server 连接也足够实现大部分需要了。
前面回复中提到我搞得一个就是给 headscale 加上 webui 、多租户、节点分享、用户邀请入租户(暂未完成)、webui 上动态 ACL 编辑及 autogroup 等能力……
目前还没正式发版,但是想要体验一下看看是否值得期待的可以看看 https://sdp.nopkt.com
强调一下还未发版,开的这个 demo 网址也并不稳定,仅供体验,如需二进制可以联系,如有兴趣可以期待一下后续的发版及开源
Xiaosteven
2023 年 8 月 14 日
@ye4241 请问这个是自建的镜像吗?所以最后解决办法还是自建的 planet?
ye4241
2023 年 8 月 14 日
@Xiaosteven #53 没有,这个是有人从官方源码编译出来的最新版本的,没有动过 planet ,现在 zerotier 也正常的运行起来了。
nonevs
2023 年 8 月 14 日
lanlandezei
2023 年 8 月 14 日
我选 N2N
hanguofu
2023 年 8 月 14 日
@bao3 : 好奇问问:为什么要自己编译啊?
banmuyutian
2023 年 8 月 15 日
最近廣州電信下 zerotier ipv4 全瞎了,聯通 ipv6 還能連
keyfunc
2023 年 8 月 15 日
有公网 IP 的话,都不用考虑,肯定 wg 啊。
Xiaosteven
2023 年 8 月 15 日
今天上午试了下自建的 planet ,深圳电信下测试通过。看来只是 ban 了官方的 planet ,自建的还是能继续用的。不过现在唯一的问题是 ios 没法替换 planet ,不知道能不能通过改签名然后用自己手机测试的方式来修改官方 ios 客户端

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/964767

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX