tailscale 回家速度不理想,求教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gearfox
V2EX    宽带症候群

tailscale 回家速度不理想,求教

  •  
  •   gearfox 2023-05-25 10:53:44 +08:00 10034 次点击
    这是一个创建于 958 天前的主题,其中的信息可能已经有所发展或是发生改变。
    电信 300M 宽带有公网 ip ,千兆光猫设置了桥接,主路由硬件 RouterOS 设备负责拨号,副路由 Openwrt 上安装有 tailscale
    拓扑为 华为光猫---RB760---Openwrt
    最早在 RouterOS 配置了 NAT1 给 openwrt ,tailscale 的速度还凑活吧,现在关闭了 NAT1 ,tailscale 的速度就很慢了,但是凑活将就能用,网上说可通过自建 derper 的方式提速,但是我在阿里轻量云上安装并配置了 derper ,测试无法使用,下面我发出来步骤,请大家排一下问题,谢谢了。

    [安装 derper ]
    wget --no-check-certificate https://go.dev/dl/go1.20.4.linux-amd64.tar.gz
    tar -xzf go1.20.4.linux-amd64.tar.gz -C /usr/local
    echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile
    echo 'export GOPATH=/usr/local/gopath' | tee -a /etc/profile
    echo 'export GOBIN=$GOPATH/bin' | tee -a /etc/profile
    echo 'export PATH=$PATH:$GOROOT/bin' | tee -a /etc/profile
    echo 'export PATH=$PATH:$GOPATH/bin' | tee -a /etc/profile
    source /etc/profile
    go version
    go env -w GOPROXY=https://goproxy.cn,direct
    go install tailscale.com/cmd/derper@main

    [阿里云申请 1 年免费证书并上传到 /home/admin/certs ]
    浏览器 https 方式打开 deeper 页面也正常

    [ aliyun 上关闭了防火墙和系统内置的 firewalld ]

    [启动服务如下]
    tee /etc/systemd/system/derper.service <<'EOF'
    [Unit]
    Description=Tailscale DERP Server
    Requires=tailscaled.service
    After=tailscaled.service

    [Service]
    Type=simple
    User=root
    Restart=always
    RestartSec=5
    ExecStart=/usr/local/gopath/bin/derper -c=/root/derper.conf --hostname=aliyun.111.com --verify-clients -a=:7777 -stun-port=8888 -http-port=-1 -certdir=/home/admin/certs/ -certmode=manual

    [Install]
    WantedBy=multi-user.target
    EOF

    systemctl daemon-reload && systemctl enable --now derper && systemctl status derper

    [官方页面里配置 ACL 规则]
    "derpMap": {
    "OmitDefaultRegions": false,
    "Regions": {
    "900": {
    "RegionID": 900,
    "RegionCode": "aliyunderp",
    "Nodes": [
    {
    "Name": "1",
    "RegionID": 900,
    "HostName": "aliyun.111.com",
    "STUNPort": 7777,
    "DERPPort": 8888,
    },
    ],
    },
    },
    },

    [安装验证服务]
    dnf config-manager --add-repo https://pkgs.tailscale.com/stable/centos/9/tailscale.repo
    dnf install tailscale -y
    systemctl enable --now tailscaled
    tailscale up

    测试时就有问题了,tailscale status 也显示无法连接到自建 derper 上
    提示# Health check:
    # - not connected to home DERP region 900

    或者显示连接上了,使用命令 tailscale ping 不通 openwrt 和其他安装 tailscale 的设备,好奇怪,请有经验的各位大大指点指点,谢谢大家
    51 条回复    2023-07-27 23:09:05 +08:00
    Tink
        1
    Tink  
    PRO
       2023-05-25 11:07:08 +08:00
    打洞成功了吗
    gearfox
        2
    gearfox  
    OP
       2023-05-25 11:09:35 +08:00
    @Tink 不自建的话,能连回家正常使用,打开家里的服务都正常
    azure2023us559
        3
    azure2023us559  
       2023-05-25 11:20:53 +08:00
    没看懂,为什么要绕下呢?有公网 ip ,直接在 op 上 装 wireguard 之类的 server ,配合 ddns , 手机装 client 连接不就完了吗?
    Lentin
        4
    Lentin  
       2023-05-25 11:31:47 +08:00
    人生苦短,建议用 zerotier+自建 planet 很稳、很快、
    gearfox
        5
    gearfox  
    OP
       2023-05-25 12:04:50 +08:00
    @azure2023us559 好吧,哈哈哈,以前用过 wireguard ,就是试了试这个,结果遇到问题了
    gearfox
        6
    gearfox  
    OP
       2023-05-25 12:06:02 +08:00
    @Lentin 好的谢谢,我闲了改成 zerotier
    bt7vip
        7
    bt7vip  
       2023-05-25 12:31:46 +08:00 via Android
    最近搞多地互联,局域网全映射,看了 net maker ,tailscale ,看了头大,感觉太复杂了,找了一个 ansible 角色,又好些功能实现不了,好难。
    目前构思是用 wireguard 映射各地非同段局域网,做头部转发,wireguard 的虚拟局域网仅用作 mash 互联和移动端接入,太难了太难了。
    已经实现是 wireguard 直连,省内异网 40~50ms ,同城 30ms 以内,感觉还行,远程桌面也跟手。就是连另一个局域网要切,非常不够优雅。
    Sekai
        8
    Sekai  
       2023-05-25 12:35:56 +08:00
    手动运行 ExecStart 那一串启动命令会出现什么错误? 服务端正常运行的话访问 aliyun.111.com:7777 会出现 This is a Tailscale DERP server 页面
    gearfox
        9
    gearfox  
    OP
       2023-05-25 12:46:55 +08:00
    @Sekai 测试了,页面都正常的
    Jhma
        10
    Jhma  
       2023-05-25 13:36:12 +08:00
    我用 openvpn ,利用 IPv6 地址和 DDNS ,实现了用户+密码+证书+APP 动态码的高安全连接,在外面用 v6 隧道串流家里面的 xbox 非常爽
    Badupp
        11
    Badupp  
       2023-05-25 13:55:14 +08:00
    @Lentin zerotier 不支持 ddns
    JayZXu
        12
    JayZXu  
       2023-05-25 14:04:33 +08:00
    这个我刚折腾过,可能有两个问题
    首先是对应域名证书的配置,证书得配 fullchain ,不然可能会报证书无效
    另外,在 Access Controls 里面配置 derp 配置时,试着吧
    "HostName": "xxx.xxxx.com",
    "IPv4": "xxx.xxx.xxx.xxx",
    两项同时配置,我发现宿主机能 ping 通的情况下,tailscale 客户端经常找不到域名对应 IP

    我之前都用的 zerotier ,现在切到 tailscale 了。tailscale 在建立连接后的响应延迟和稳定性比 zerotier 要好。
    derp 也比 planet 和 moon 的转发效率高,但是好像峰值速度没有 zerotier 快,而且更占 CPU
    Sekai
        13
    Sekai  
       2023-05-25 14:04:53 +08:00
    @gearfox 那可能 ACL 写得不太对? Nodes 里面可以加上"IPv4"一项,可以多找些范例看看,另外 OmitDefaultRegion 设为 false 的话也可能走其他服务器去了
    Sekai
        14
    Sekai  
       2023-05-25 14:07:11 +08:00
    另外证书文件改成 aliyun.111.com.crt 和 aliyun.111.com.key 试一下
    gearfox
        15
    gearfox  
    OP
       2023-05-25 14:07:18 +08:00
    @Jhma 那你弄的挺好的。 我是家里有 v4 和 v6 ,办公室只有 v4 ,其实 l2tp 也能连回家,就是想折腾一下 tailscale
    gearfox
        16
    gearfox  
    OP
       2023-05-25 14:16:01 +08:00
    @JayZXu 好的,我再折腾折腾
    gearfox
        17
    gearfox  
    OP
       2023-05-25 14:16:25 +08:00
    @Sekai 好的,我一个一个重新搞一下再试试
    Lentin
        18
    Lentin  
       2023-05-25 14:21:53 +08:00
    @Badupp #11 如果设备不多的话应该用不上 ddns 吧,ipv4 地址手动分几个好记得就行了=。=
    gearfox
        19
    gearfox  
    OP
       2023-05-25 14:57:22 +08:00
    重新搞了一遍,还是互相 ping 不通,提示
    [root@ali]# tailscale status
    100.109.90.40 V1 w@ linux -
    100.122.80.66 openwrt w@ linux -
    100.76.171.72 V3 w@ windows active; relay "aliderp", tx 5624 rx 0

    # Health check:
    # - not connected to home DERP region 900
    # - Some peers are advertising routes but --accept-routes is false
    JayZXu
        20
    JayZXu  
       2023-05-25 15:01:41 +08:00
    @gearfox #19 试下 docker 封装好的 http://github.xiaoc.cn/fredliang44/derper-docker 这个项目。
    我当时用命令直接部署的也是有问题。
    把上面的环境变量配置正确,证书路径映射对,基本上就没问题了
    sansam
        21
    sansam  
       2023-05-25 15:02:01 +08:00
    @bt7vip 上 headscale ,所有节点(网络) mesh 互联互通,非常好使。
    neroxps
        22
    neroxps  
       2023-05-25 15:13:24 +08:00 via iPhone
    tailscale 太重了,单节点的话直接拉个 wg-easy 容器就完事。
    neroxps
        23
    neroxps  
       2023-05-25 15:14:00 +08:00 via iPhone
    另 routeros 也有 wg 直接 wg 即可。
    gearfox
        24
    gearfox  
    OP
       2023-05-25 15:21:54 +08:00
    @neroxps 好的
    gearfox
        25
    gearfox  
    OP
       2023-05-25 15:22:37 +08:00
    @JayZXu 好的好的,自己一直不习惯用 docker ,就手工了
    Sekai
        26
    Sekai  
       2023-05-25 15:43:36 +08:00
    好像你把 ACL 里的两个端口搞颠倒了?
    xhcnb
        27
    xhcnb  
       2023-05-25 15:46:51 +08:00
    都有公网地址了, 直接 ikev2/ipsec vpn 回去不香吗, 系统自带协议支持, 不用什么客户端
    如果觉得 udp 被 qos, 就使用 tinc, 走 tcp 通道, 支持 ddns
    gps949
        28
    gps949  
       2023-05-25 16:29:53 +08:00
    端口写反了吧?
    bt7vip
        29
    bt7vip  
       2023-05-25 17:02:58 +08:00 via Android
    @sansam headscale 不是控制器吗,在 icloudnative.io 上看了教程,套来套去的,不敢上的主要原因是异地,挂了就要跑过去
    thereone
        30
    thereone  
       2023-05-25 17:41:49 +08:00
    直接用 softether 就行,这个管理方便 v4 v6 都支持也随时都能切换成 tcp 或者 udp 。最主要的是全图形化界面配置非常方便
    thereone
        31
    thereone  
       2023-05-25 17:44:42 +08:00
    @bt7vip 用 softether 在每一个路由器上面新建一个桥接网卡,然后配置上 3 层地址写个静态路由。不要太简单
    bt7vip
        32
    bt7vip  
       2023-05-25 18:15:30 +08:00 via Android
    @thereone 好的,我试试
    superchijinpeng
        33
    superchijinpeng  
       2023-05-25 18:37:41 +08:00
    看了下延迟还是很低的

    * MappingVariesByDestIP: false
    * HairPinning: false
    * PortMapping:
    * CaptivePortal: false
    * Nearest DERP: Shanghai
    * DERP latency:
    - sh: 20.5ms (Shanghai)
    - tok: 76.6ms (Tokyo)
    - hkg: 125.2ms (Hong Kong)
    - sin: 140.5ms (Singapore)
    - blr: 164.6ms (Bangalore)
    - sfo: 169.3ms (San Francisco)
    - sea: 193.8ms (Seattle)
    - den: 213ms (Denver)
    - dfw: 217.5ms (Dallas)
    - hnl: 222.3ms (Honolulu)
    - ord: 225.8ms (Chicago)
    - lhr: 234.8ms (London)
    - fra: 238.2ms (Frankfurt) - lax: 238.4ms (Los Angeles)
    - ams: 241.2ms (Amsterdam)
    - nyc: 242.7ms (New York City)
    - par: 242.8ms (Paris)
    - waw: 245.2ms (Warsaw)
    - mia: 248ms (Miami)
    - tor: 252.2ms (Toronto)
    - mad: 264.8ms (Madrid)
    - dbi: 346.6ms (Dubai)
    - jnb: 352.5ms (Johannesburg)
    - sao: 391ms (So Paulo)
    - syd: 490.1ms (Sydney)
    Zerolouis
        34
    Zerolouis  
       2023-05-26 02:17:51 +08:00 via Android
    @bt7vip 多个局域网只要每个局域网的路由器加入 wireguard 的虚拟局域网,开启转发或者直接将 wireguard 的局域网划入 LAN 的防火墙规则就可以访问每个网段了
    如果每个局域网都有公网可以配置全互连,没有的话就让有公网的节点做转发
    我目前就是这么配置的,家和学校 OpenWrt ,配置一个虚拟局域网,三个网段所有设备可以互联
    dangyuluo
        35
    dangyuluo  
       2023-05-26 02:46:56 +08:00
    tailscale 居然有国内的服务器?震惊
    gearfox
        36
    gearfox  
    OP
       2023-05-26 08:58:44 +08:00
    @Sekai 是的是的,才发现写反了,大意了,改了后试了下。互相还是 ping 不通
    gearfox
        37
    gearfox  
    OP
       2023-05-26 08:59:49 +08:00
    @xhcnb 家里有 l2tp 可以连,就是折腾了一下这个玩呢
    gearfox
        38
    gearfox  
    OP
       2023-05-26 09:00:20 +08:00
    @gps949 是的是的。大意了
    Sekai
        39
    Sekai  
       2023-05-26 10:03:19 +08:00
    @gearfox 那就比较诡异了,可能运行命令写的有点问题,实在想弄可以闲鱼搜 tailscale 找到我,位置 sh 头像是镜
    aaronkk
        40
    aaronkk  
       2023-05-26 11:07:26 +08:00
    在 derper 节点也安装 tailscale 客户端,注册进去就可以了
    gearfox
        41
    gearfox  
    OP
       2023-05-26 11:26:59 +08:00
    @aaronkk 安装了,还是连不上,很奇怪
    gearfox
        42
    gearfox  
    OP
       2023-05-26 11:32:16 +08:00
    @Sekai 现在进度是阿里云上的 deper 和 windows 客户端可以互相 ping 通,均和家里的 openwrt 不通
    bt7vip
        43
    bt7vip  
       2023-05-26 12:11:26 +08:00 via Android
    @Zerolouis 你是直接用 openwrt 拨号吗,我三地公网,但都是硬路由,因为不能影响现网使用,可以开端口,每个局域网下配置一个虚拟机组网。
    今天刚配置好,局域网内设备需要把网关指向虚拟机,DNS 指向路由器,配置后才能访问异网网段并且不影响上网。直接加入组网不需要配置,比如移网直接加入,不需要设置。
    这个方法自用比较好,公用场所比如学校公司,可以保证局域网下只有设置定向的设备才能访问其他局域网,不然你组网了,办公室有人局域网一扫,好了大家一起连你家里看小电影
    公用组网你那种比较好,可以做到无感访问。
    Sekai
        44
    Sekai  
       2023-05-26 12:38:22 +08:00
    那可能 openwrt 这边没起来,可以手动启动看看
    Sekai
        45
    Sekai  
       2023-05-26 12:39:42 +08:00
    另外 ExecStart 那串最后加个 -stun 试试
    gearfox
        46
    gearfox  
    OP
       2023-05-26 14:26:36 +08:00
    @Sekai 排查了好久,大概率是 openwrt 那的问题,现在是时通时不通。openwrt 如果主动 ping tailscale 分给阿里云和公司笔记本的私网地址,就通了,过一会就又不通了。算了,不搞了,谢谢你啦
    aaronkk
        47
    aaronkk  
       2023-05-26 14:44:37 +08:00
    @gearfox #46 那很可能是网关的问题,是不是有多个网关,ping 了才能找到对的
    gearfox
        48
    gearfox  
    OP
       2023-05-26 15:27:01 +08:00
    @aaronkk 应该是
    galaxyskyknight2
        49
    galaxyskyknight2  
       2023-05-26 15:43:02 +08:00
    @Lentin 完全同意,我就是用某良心云自建 planet, 打洞杠杠的,速度杠杠的。再配一个 ztncui webservice,爽死了。什么垃圾花生壳的蒲公英,卖那么贵,还比不上我这个自建。
    Zerolouis
        50
    Zerolouis  
       2023-05-27 00:31:32 +08:00 via Android
    @bt7vip 是的我两地都是 OpenWrt 直接拨号,所以直接用 op 配置了
    至于安全问题,我两地都是自用所以直接把 wireguard 划到 lan 区域了,图个方便,正常应该是 wireguard 配置单独防火墙,然后配置 lan 的转发,这样可以指定设备
    hsczy
        51
    hsczy  
       2023-07-27 23:09:05 +08:00 via Android
    @Jhma 您好,请问一下怎么实现的?我家的环境跟您的很像所以想配置一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5648 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 02:40 PVG 10:40 LAX 18:40 JFK 21:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86