本来是想用 L2TP/IPsec 的方式,和朋友联机玩局域网游戏,但是朋友上网一般是在网吧,网吧的电脑连接不上 L2TP/IPsec ,所以想自建 headscale 试试看,可是 headscale 的延迟为什么这么高?
1
superchijinpeng 2023-09-21 09:58:56 +08:00
Headscale 和你的延迟有什么关系?
|
2
her100 OP @superchijinpeng 延迟和什么有关?请指教
|
3
DigitalG 2023-09-21 10:10:54 +08:00
之前做的时候,我记得,穿透成功的话,节点和节点能点对点链接,就只跟节点自己的上行速度有关了吧。如果穿透不成功,需要走 DERP 中继,这个时候跟中继节点的速度有关。
|
4
her100 OP @DigitalG DERP 中继我关掉了没开,穿透是成功的。可是如果是和设备的上行速度有关,为什么 L2TP 和 open vpn 的延迟会低一点。
|
5
tms 2023-09-21 10:39:10 +08:00
估计穿透没成功,自建 DERP 没开,会自动用公共 DERP ,同城我穿透成功基本都是个位数延迟。
|
7
her100 OP @tms 搜了一下,tailscale ping xx.xx.xx.xx ,使用这个命令能看是否打洞成功,延迟高的时候,确实是用了公共的 DERP
|
8
her100 OP @DigitalG 你说的是对的,是我之前的测试不对,我以为连接成功就是点对点了。现在测试出来,延迟高的时候是走了公共 DERP
|
9
kuaizi 2023-09-21 11:17:57 +08:00 via Android
tailscale status 看看状态
|
10
zyqv2 2023-09-21 11:18:53 +08:00 via iPhone
tailscale net check
|
12
lgapple 2023-09-22 14:45:01 +08:00
没有直连,我本来想建 headscale 的,后来直接用官方的就打洞成功了(前提是要开 ipv6 ),就没自己建 headscale 了
|
13
her100 OP @lgapple 是的,打洞成功之前都会优先连接 tailscale 的节点,我又自建了 DERP ,再禁用 tailscale 的节点,这样就能保证延迟降低了
|
14
TossPig 2023-09-24 03:56:19 +08:00
DERP 记得开认证,,,惨痛的教训/(ㄒoㄒ)/~~
|
15
her100 OP @TossPig 我想开,但我一直不成功。DERP 和 tailscale client 都是用 docker 建的,这两个都要连接到同一个 tailscaled.sock 我一直不会弄。
|
16
TossPig 2023-09-26 16:10:50 +08:00
两个容器共享目录`/run/tailscale`就可以了
`tailscaled.sock`是客户端生成监听,DERP 去通信,不同版本的客户端生成路径可能不一致,我这是 debian 的环境 |
17
her100 OP @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" |
18
magicedy 2023-09-28 06:43:48 +08:00
@her100 直接用 headscale 自带的 derp 就好,把 derp.server.enabled 改为 true ,derp.server.urls 注释掉
|
19
her100 OP @magicedy 原来可以这样吗,那就不用再开一个 derp 的容器了?我之前还纳闷,derp.server.enabled 明明是 false 为什么还是用了 tailscale 的中继节点。这样怎么开客户端认证呢?
|
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 中转,内置的就足够了吧 |