自建 headscale 的一些问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
her100
V2EX    宽带症候群

自建 headscale 的一些问题

  •  
  •   her100 2023-09-21 09:58:07 +08:00 3232 次点击
    这是一个创建于 754 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 电信千兆家宽,有公网 IP
    • 在群晖 nas 中搭建了三种 VPN:L2TP/IPsec ; open vpn ; headscale
    1. L2TP/IPsec:公司电脑 ping nas ,延迟在 10ms 以内
    2. open vpn:手机连接公司 wifi ping nas ,延迟在 30ms 以内
    3. headscale:公司电脑 ping nas ,延在 200ms 左右
    4. headscale:公司电脑 ping 手机,延迟在 400-500ms 左右

    本来是想用 L2TP/IPsec 的方式,和朋友联机玩局域网游戏,但是朋友上网一般是在网吧,网吧的电脑连接不上 L2TP/IPsec ,所以想自建 headscale 试试看,可是 headscale 的延迟为什么这么高?

    20 条回复    2023-09-28 09:50:42 +08:00
    superchijinpeng
        1
    superchijinpeng  
       2023-09-21 09:58:56 +08:00
    Headscale 和你的延迟有什么关系?
    her100
        2
    her100  
    OP
       2023-09-21 10:06:12 +08:00
    @superchijinpeng 延迟和什么有关?请指教
    DigitalG
        3
    DigitalG  
       2023-09-21 10:10:54 +08:00
    之前做的时候,我记得,穿透成功的话,节点和节点能点对点链接,就只跟节点自己的上行速度有关了吧。如果穿透不成功,需要走 DERP 中继,这个时候跟中继节点的速度有关。
    her100
        4
    her100  
    OP
       2023-09-21 10:22:31 +08:00
    @DigitalG DERP 中继我关掉了没开,穿透是成功的。可是如果是和设备的上行速度有关,为什么 L2TP 和 open vpn 的延迟会低一点。
    tms
        5
    tms  
       2023-09-21 10:39:10 +08:00
    估计穿透没成功,自建 DERP 没开,会自动用公共 DERP ,同城我穿透成功基本都是个位数延迟。
    her100
        6
    her100  
    OP
       2023-09-21 11:00:43 +08:00
    @tms 怎么看有没有穿透成功?或者怎么看是用的公共 DERP
    her100
        7
    her100  
    OP
       2023-09-21 11:07:34 +08:00
    @tms 搜了一下,tailscale ping xx.xx.xx.xx ,使用这个命令能看是否打洞成功,延迟高的时候,确实是用了公共的 DERP
    her100
        8
    her100  
    OP
       2023-09-21 11:08:57 +08:00
    @DigitalG 你说的是对的,是我之前的测试不对,我以为连接成功就是点对点了。现在测试出来,延迟高的时候是走了公共 DERP
    kuaizi
        9
    kuaizi  
       2023-09-21 11:17:57 +08:00 via Android
    tailscale status 看看状态
    zyqv2
        10
    zyqv2  
       2023-09-21 11:18:53 +08:00 via iPhone
    tailscale net check
    tms
        11
    tms  
       2023-09-21 21:35:55 +08:00
    @her100 tailscale status 可以看是否直连,直连有 direct
    lgapple
        12
    lgapple  
       2023-09-22 14:45:01 +08:00
    没有直连,我本来想建 headscale 的,后来直接用官方的就打洞成功了(前提是要开 ipv6 ),就没自己建 headscale 了
    her100
        13
    her100  
    OP
       2023-09-23 21:45:56 +08:00
    @lgapple 是的,打洞成功之前都会优先连接 tailscale 的节点,我又自建了 DERP ,再禁用 tailscale 的节点,这样就能保证延迟降低了
    TossPig
        14
    TossPig  
       2023-09-24 03:56:19 +08:00
    DERP 记得开认证,,,惨痛的教训/(ㄒoㄒ)/~~
    her100
        15
    her100  
    OP
       2023-09-25 13:56:51 +08:00
    @TossPig 我想开,但我一直不成功。DERP 和 tailscale client 都是用 docker 建的,这两个都要连接到同一个 tailscaled.sock 我一直不会弄。
    TossPig
        16
    TossPig  
       2023-09-26 16:10:50 +08:00
    两个容器共享目录`/run/tailscale`就可以了

    `tailscaled.sock`是客户端生成监听,DERP 去通信,不同版本的客户端生成路径可能不一致,我这是 debian 的环境
    her100
        17
    her100  
    OP
       2023-09-27 08:50:36 +08:00
    @TossPig docker tailscale client 的 tailscaled.sock 挂载到宿主机上失败,提示 tailscaled.sock 已存在。

    version: '2.9'
    services:
    tailscaled:
    container_name: client
    image: tailscale/tailscale
    network_mode: host
    privileged: true
    cap_add:
    - net_admin
    - sys_module
    volumes:
    - '/volume1/docker/headscale/client:/var/lib'
    - '/dev/net/tun:/dev/net/tun'
    - '/var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock'
    command: sh -c "mkdir -p /var/run/tailscale && ln -s /tmp/tailscaled.sock /var/run/tailscale/tailscaled.sock && tailscaled"
    magicedy
        18
    magicedy  
       2023-09-28 06:43:48 +08:00
    @her100 直接用 headscale 自带的 derp 就好,把 derp.server.enabled 改为 true ,derp.server.urls 注释掉
    her100
        19
    her100  
    OP
       2023-09-28 09:21:30 +08:00
    @magicedy 原来可以这样吗,那就不用再开一个 derp 的容器了?我之前还纳闷,derp.server.enabled 明明是 false 为什么还是用了 tailscale 的中继节点。这样怎么开客户端认证呢?
    magicedy
        20
    magicedy  
       2023-09-28 09:50:42 +08:00
    我的理解是这个内嵌的 derp 也没有另外开放端口,不会被白嫖,也就不用加认证了把,都是容器内部的。derp.server.urls 注释掉后,就只剩内嵌这个了,不能直连就都走这个内嵌的 derp 中转了。
    headscale 0.15.0 (2022-03-20) https://github.com/juanfont/headscale/releases/tag/v0.15.0 就已经加了内嵌的 derp ,不知道为啥网上大部分说 derp 的教程都是另外再搭一个,如果只是为了不能直连的时候不走境外 derp 中转,内置的就足够了吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2962 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:09 PVG 22:09 LAX 07:09 JFK 10:09
    Do have faith in what you're doing.
    ubao 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