V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ye4241
V2EX  ›  宽带症候群

zerotier / tailscale / wireguard 怎么选?

  •  1
     
  •   ye4241 · 2023-08-12 21:03:36 +08:00 · 8653 次点击
    这是一个创建于 403 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自建过程

    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 后重启,我一直没有成功的,现在用的官网版本也挺好的。

    63 条回复    2023-09-07 18:21:12 +08:00
    zhuang0718
        1
    zhuang0718  
       2023-08-12 22:20:45 +08:00 via iPhone
    zerotier 移动的网络配置失败 另外两家运营商正常 不知道是不是都有这个问题……
    shelken
        2
    shelken  
       2023-08-12 22:24:57 +08:00 via iPhone
    zerotier 最近开始遇到连不上 planet 的情况,遂开始用 headscale 了。你说的 dns 问题是不是没有设置 accept-dns=false
    thereone
        3
    thereone  
       2023-08-12 22:53:07 +08:00
    我选择 IPv6+softether 现在正规正矩的都会给 ipv6 地址
    simplove
        4
    simplove  
       2023-08-12 23:05:24 +08:00
    https://github.com/xubiaolin/docker-zerotier-planet
    用这个,自建 planet 挺好用的
    zyq2280539
        5
    zyq2280539  
       2023-08-12 23:11:31 +08:00
    tailscale 挺好用的啊,还可以自建中继节点
    jackOff
        6
    jackOff  
       2023-08-12 23:52:11 +08:00 via Android
    @simplove 这个的确不错,不过 zerotier 的路由不知道为啥每次都会造成我科学上网网速下降的厉害,后面换成 bore 就正常了
    zachary99
        7
    zachary99  
       2023-08-13 00:00:26 +08:00 via Android
    ddns + wg ,感觉也挺方便的
    yyysuo
        8
    yyysuo  
       2023-08-13 00:03:46 +08:00
    wg 的 wireguard 肯定不可能同时只连接一个呀,在 web ui 里面不是可以建立多个设备么。
    mhycy
        9
    mhycy  
       2023-08-13 00:12:02 +08:00
    提醒 zerotier 在深圳电信环境下全军覆没
    多节点多运营商混合测试结论是:
    controller 连不上导致 ARP 握手失败,planet 封锁剩下一个了
    bequt
        10
    bequt  
       2023-08-13 00:19:06 +08:00
    老老实实中介服务器或者公网
    dogfood
        11
    dogfood  
       2023-08-13 00:37:07 +08:00
    话说 zerotier 可以实现强制使用 moon 不直连吗
    JensenQian
        12
    JensenQian  
       2023-08-13 02:40:36 +08:00 via Android
    我直接 ss 回家的
    simplove
        13
    simplove  
       2023-08-13 09:01:52 +08:00 via iPhone
    @jackOff 确实,我内网的服务器如果开了科学,客户端死活连接不上。关掉科学就好了。
    satoru
        14
    satoru  
       2023-08-13 09:36:03 +08:00
    最近好像还多了个 Narrowlink https://narrowlink.com/docs/intro
    loveqianool
        15
    loveqianool  
       2023-08-13 10:07:59 +08:00
    MrTlyer
        16
    MrTlyer  
       2023-08-13 11:11:03 +08:00
    看你做什么用,l2tp 和 RDP 有时候更方便,WG 也行,最后设置分流,tailscale 好像是被墙了使用不便
    ye4241
        17
    ye4241  
    OP
       2023-08-13 11:29:57 +08:00
    @shelken #2 设置了的,OpenWrt 跑一段时间后,竟然自己重启了
    ye4241
        18
    ye4241  
    OP
       2023-08-13 11:30:41 +08:00
    @zhuang0718 #1 在云服务器上面连接的,是好是坏,本地现在连接正常的,可能是因为本机有代理吧。
    ye4241
        19
    ye4241  
    OP
       2023-08-13 11:31:24 +08:00
    @thereone #3 有个是公司的网络的,很早的号,有 ipv4 分配,电信说,要开 ipv6 就要放弃 ipv4 的,有点没舍得。
    ye4241
        20
    ye4241  
    OP
       2023-08-13 11:32:27 +08:00
    @zyq2280539 #5 是的,主要没办法同时连接两个自建 server 的,如果只用一个 server 的话,连接的设备别人都能看到。
    ye4241
        21
    ye4241  
    OP
       2023-08-13 11:33:08 +08:00
    @yyysuo #8 是的,他只能连接一个 tunnel 的,主要有两个私网网段,想要隔离开。
    ye4241
        22
    ye4241  
    OP
       2023-08-13 11:33:56 +08:00
    @mhycy #9 的确是的,我的腾讯云似乎就是广州节点,planet 只有一个的,现在似乎必须要自建 planet 试试看了。
    ye4241
        23
    ye4241  
    OP
       2023-08-13 11:34:51 +08:00
    @MrTlyer #16 可以自建 tailscale 的,新版本的 iOS 也能连接到自建的,就是没办法同时连接到两个自建的 server 。
    ye4241
        24
    ye4241  
    OP
       2023-08-13 11:52:20 +08:00
    @satoru #14 看图应该是全部靠中转服务器的,这样子的话,和 p2p 的直连速度目测有差距
    shelken
        25
    shelken  
       2023-08-13 13:20:15 +08:00 via iPhone
    @mhycy 没错,就是深圳电信,最近发现了。跟你说的情况一样
    CTd1DJnr6KlM
        26
    CTd1DJnr6KlM  
       2023-08-13 13:54:10 +08:00
    换 wireguard 客户端不就好了,clash meta 支持 wireguard,直接走分流,只要不是同一个 IP-CIDR 就能分流
    Siefy1983
        27
    Siefy1983  
       2023-08-13 14:32:44 +08:00 via iPhone
    @ye4241 大佬,转发的设置能指导一下么
    lylmydear
        28
    lylmydear  
       2023-08-13 15:02:02 +08:00 via iPhone
    wg 用 cladh 走分流有弊端,smb 共享无法使用,pc 用的话还是 zerotier 加 clash ,手机 surge 。这样的话回家 fq 两不误
    chenghj87
        29
    chenghj87  
       2023-08-13 17:31:44 +08:00
    一直用 zerotier ,简单好用。
    PatrickLe
        30
    PatrickLe  
       2023-08-13 17:34:26 +08:00
    请教下用 wg 的,服务器上配置了 wg ,日用的 Mac 用 surge 跑 wg ,可以使用服务器的 SMB 共享嘛?性能如何?
    ye4241
        31
    ye4241  
    OP
       2023-08-13 20:01:40 +08:00
    @simplove #4 又重新验证了自建的逻辑,成功但是成功了,但是需要客户端也必须用自定义的 planet ,不然客户端就连接不上的,所以 iOS 就有点无解了。
    ye4241
        32
    ye4241  
    OP
       2023-08-13 20:03:04 +08:00
    @chenghj87 #29 是啊,兜兜转转,最终回到 zerotier 的怀抱。
    ye4241
        33
    ye4241  
    OP
       2023-08-13 20:03:55 +08:00
    @PatrickLe #30 可能大概需要将 Mac 当成旁路由?但是服务器上面为啥不直接用 wireguard 客户端的呢?
    ye4241
        34
    ye4241  
    OP
       2023-08-13 20:06:14 +08:00
    @Siefy1983 #27 zerotier 的转发就是加个路由表的,前面写目标网段,后面写在目标网段内连接了 zerotier 的机器分配的 ip ,同时需要注意,将内网的机器开一下 ipv4 转发、和防火墙的。

    galaxyskyknight2
        35
    galaxyskyknight2  
       2023-08-13 20:53:24 +08:00
    zerotier 自建 planet ,随便找个轻量,杠杠的,移动电信互联互通没任何问题
    flynaj
        36
    flynaj  
       2023-08-13 21:27:01 +08:00 via Android
    zerotier 最好,性能,方便配置,但是有部分网络会墙掉,自建 moon 自建 planet 都没有用,是协议不通,我这里中国移动 IPv4 直接墙了这个协议,v6 畅通无阻。
    cx9208
        37
    cx9208  
       2023-08-13 22:52:14 +08:00
    试试 netmaker
    bao3
        38
    bao3  
       2023-08-14 04:53:18 +08:00
    我使用 n2n 自己编译组网,比这些协议都方便太多,不过用途各不相同。要玩游戏,n2n 很爽
    gps949
        39
    gps949  
       2023-08-14 10:51:36 +08:00
    因为一直在搞基于 Tailscale 的开发,所以想问一下 OP 说的:
    “想要同时连接两个 server 的话,特别麻烦,而且只能同时连接一个的” 是指的什么意思?
    gps949
        40
    gps949  
       2023-08-14 10:55:33 +08:00   ❤️ 1
    另外:
    如果使用官网的版本,直接点击登录就好了,如果是自定义的,那就得用命令行操作,而且自定义的目前也不支持 iOS 的。 想要暴露内网的话,命令行连接的适合将--accept-routes 加上,然后去后台那边允许

    确实官方再拥抱开源,也没想着让你很方便使用自定义控制器。 但是,iOS 现在已经支持了(支持有快半年了)。
    顺便,我这边开发的 Windows 、iOS 、Android 、群晖版本都可以很方便支持设置控制器地址(因为我这边也搞了个有图形化的控制器),至于子网转发( subnet )有的添加了这个功能(如群晖),有的还没添加,因为确实不知道需求量有多大。
    有兴趣的可以看我这两个帖子:

    https://www.v2ex.com/t/936105
    https://www.v2ex.com/t/961711
    ZColin
        41
    ZColin  
       2023-08-14 11:33:36 +08:00
    @shelken #25 巧了 我也 广州腾讯云+深圳电信 全麻啥都连不上,换 n2n 了
    Xiaosteven
        42
    Xiaosteven  
       2023-08-14 13:59:19 +08:00
    @mhycy 我也是上周五开始这样的,请问自建 planet 可以吗?或者有没有替代方案
    mhycy
        43
    mhycy  
       2023-08-14 14:02:07 +08:00
    @Xiaosteven
    我有点想重构 zerotier 了,这东西底层协议有点不适应国情,但工作量很大
    Xiaosteven
        44
    Xiaosteven  
       2023-08-14 14:13:08 +08:00
    @mhycy zerotier 核心部分没有开源吧,可以重构吗?或者和 surge 作者一样如果有个新的协议能在国内 p2p 也挺好的。现在就不知道有没有啥替代方案了,如果自建 planet 也不行就挺麻烦的了
    mhycy
        45
    mhycy  
       2023-08-14 14:18:49 +08:00
    @Xiaosteven
    也就剩下面板没开源了,但不开源也不影响另起炉灶,反正不兼容
    Xiaosteven
        46
    Xiaosteven  
       2023-08-14 14:27:17 +08:00
    @mhycy 要不在 github 上开个项目?深圳电信以前都没有遇到过 ban zerotier 协议的情况,不知道这段时间发啥疯。
    Xiaosteven
        47
    Xiaosteven  
       2023-08-14 14:28:51 +08:00
    @zqmsoft 请问是自建 planet 挂了吗?我还想自建一个替代呢,如果自建也没有用那估计就没了
    Yzh361
        48
    Yzh361  
       2023-08-14 14:35:20 +08:00
    zerotier 挺方便的
    ye4241
        49
    ye4241  
    OP
       2023-08-14 14:42:39 +08:00
    @gps949 #39 就是 tailscale 同时只能连接到一个自建的 server 上面的,如果想要切换到另外一个 server ,只能点击切换账号的,但是 tailscale 我看有 acl 控制,感觉用一个 server 也不是不行的。
    mhycy
        50
    mhycy  
       2023-08-14 14:44:07 +08:00
    @Xiaosteven
    造出架子肯定开项目,但工作忙得跳舞……唉~
    ye4241
        51
    ye4241  
    OP
       2023-08-14 14:52:11 +08:00
    我一顿操作后,现在正常了,也不知道为啥他就正常了。现在 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
        52
    gps949  
       2023-08-14 15:08:25 +08:00
    @ye4241
    理解了,你说的这个问题最主要的问题是 headscale 本身不支持多租户、不支持节点分享、不支持用户邀请(加入到租户内)、不支持动态 ACL 设置( ACL 还不支持 autogroup ,至少之前看是这样,不知道近半年 headscale 有什么长进不)。
    如果用官方 Tailscale 基于上面这些特性,不切换租户/server 连接也足够实现大部分需要了。
    前面回复中提到我搞得一个就是给 headscale 加上 webui 、多租户、节点分享、用户邀请入租户(暂未完成)、webui 上动态 ACL 编辑及 autogroup 等能力……
    目前还没正式发版,但是想要体验一下看看是否值得期待的可以看看 https://sdp.nopkt.com
    强调一下还未发版,开的这个 demo 网址也并不稳定,仅供体验,如需二进制可以联系,如有兴趣可以期待一下后续的发版及开源
    Xiaosteven
        53
    Xiaosteven  
       2023-08-14 15:20:42 +08:00
    @ye4241 请问这个是自建的镜像吗?所以最后解决办法还是自建的 planet?
    ye4241
        54
    ye4241  
    OP
       2023-08-14 16:09:39 +08:00
    @Xiaosteven #53 没有,这个是有人从官方源码编译出来的最新版本的,没有动过 planet ,现在 zerotier 也正常的运行起来了。
    ZedRover
        55
    ZedRover  
       2023-08-14 17:01:39 +08:00
    lanlandezei
        56
    lanlandezei  
       2023-08-14 21:07:01 +08:00
    我选 N2N
    hanguofu
        57
    hanguofu  
       2023-08-14 21:58:03 +08:00 via Android
    @bao3 : 好奇问问:为什么要自己编译啊?
    banmuyutian
        58
    banmuyutian  
       2023-08-15 14:56:17 +08:00
    最近廣州電信下 zerotier ipv4 全瞎了,聯通 ipv6 還能連
    keyfunc
        59
    keyfunc  
       2023-08-15 15:42:50 +08:00
    有公网 IP 的话,都不用考虑,肯定 wg 啊。
    Xiaosteven
        60
    Xiaosteven  
       2023-08-15 16:23:56 +08:00
    今天上午试了下自建的 planet ,深圳电信下测试通过。看来只是 ban 了官方的 planet ,自建的还是能继续用的。不过现在唯一的问题是 ios 没法替换 planet ,不知道能不能通过改签名然后用自己手机测试的方式来修改官方 ios 客户端
    ye4241
        61
    ye4241  
    OP
       2023-08-15 22:27:00 +08:00
    @Xiaosteven #60 有点难,好像都要越狱的 https://github.com/lemon4ex/ZeroTieriOSFix
    Xiaosteven
        62
    Xiaosteven  
       2023-08-16 10:43:23 +08:00
    @ye4241 其实 1.8.4 的 ios 版本改签应该也可以
    samyucn
        63
    samyucn  
       2023-09-07 18:21:12 +08:00 via iPhone
    直接走公网,除开 80 443 那么多端口随便用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3863 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 00:57 · PVG 08:57 · LAX 17:57 · JFK 20:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.