2025 年, Headscale 的无域名纯 IP 部署已经走向末路

194 天前
 HOMO114514

Tailscale 客户端从 1.80 开始,Custom coordination server 会无视你的输入,在登录认证时强制尝试请求 https://server ,这个毛病导致纯 IP 的 HTTP 部署新用户已经无法通过 IP 完成注册,必须指定非 80 端口。

并且加入了一个 noise auth 机制,在若干分钟内如果有失败的认证尝试,那么后续的 login 不仅强制走 HTTPS ,而且还会强制访问 443 端口,即使你指定了自己的非标端口也会无视

现在还计划新部署 Headscale 的用户,还请遵守说明,在域名上做标准端口的 HTTPS 部署(可以非标端口启动,nginx 反代),如果机器在国内云厂趁早收拾收拾准备搞备案吧

顺便最近写了一个危险系数很高的网页,用来布在 headscale 机器上给用户自助注册的,原理就是接受 node key 帮你跑命令行,风险比较高,但不再需要服主每次来新用户都手动敲 cli ,风险自行斟酌吧

https://github.com/ChowDPa02k/headscale-self-registration/tree/main

4376 次点击
所在节点    宽带症候群
41 条回复
lnbiuc
193 天前
HOMO114514
193 天前
@liuzimin 现在这种的办法都是手动给想要入网的用户提供旧版本客户端,大概 1.70 ,让验证完之后再去升级(或者直接保留)。但 iOS 就没有任何办法了,现在 iOS 的新设备已经入不了网了
HOMO114514
193 天前
@lnbiuc 我没办法教所有人都去部署 subnet 的,更何况有一半的人都在用校园网单点认证接入,怎么办?
Archeb
193 天前
Tailscale 的 DERP 老是连不上,Symmetric 和 FullCone 之间打洞成功率太低,已经全部迁移到 EasyTier 了
zealotxxxx
193 天前
derp 服务器自建其实还是挺简单的。不过我不是 docker ,之前是参考韩峰的教程走的。
目前延迟 10 ~ 20ms 还可以。

另外关于楼上说手机上 tailscale 和 vpn 不能共存,其实有一个办法是,你有一台设备是 exit-node ,同时这个设备上有梯子,就可以了。例如我的 openwrt 上面有 tailscale 和 openclash 。
lnbiuc
193 天前
@zealotxxxx 这样能用,但是网速取决于 exit-node 的上传带宽,家庭宽带只有 50 兆,开了之后手机网速直接变成 50 兆了,只能临时用用
lnbiuc
193 天前
@HOMO114514 #23 不清楚你的使用场景,这么多用户,为什么不肯用域名呢,纯 IP 就是有信息安全的风险啊,官方这么做完全是正确的,至于 IP 阻断那是国内环境导致的,没有备案被 SNI 阻断,你也可以尝试绕过,或者使用 HK 服务器搭建
X_Del
193 天前
搭车问纯自用,tailscale + 自建 derp 与自建 wireguard 区别大吗?既然 tailscale 底层也是用 wiregurad 的话。
Morxi
193 天前
@X_Del
国内不少光猫防火墙 IPV6 是封入站的,直接用 wg 会连不上对端
用 tailscale 的话会帮忙打洞使得可以连上
zealotxxxx
193 天前
@lnbiuc 其实还要低一点。如果无法建立直连的话,就是走 derp 中转,就取决于 derp 服务器水管多大了
zealotxxxx
193 天前
@zealotxxxx 当然,绝大多数时候,由于移动网络 ipv6 的关系,直连很容易,所以一般都还好。

我自己自用的话,利用家宽看 emby 的片子,问题不大。其实 10m ~ 20m 的上传就已经足够了
HOMO114514
193 天前
@lnbiuc 这就是我这篇贴文的主旨。
我只是在聊心得,踩了这么多坑之后建议做 Headscale 遵守文档搞标准端口域名部署

你先是上来教说用 Hs 没必要,然后又教用 subnet ,最后再教用域名,我都不知道你在教什么,以前发展下来的架构虽然有缺陷,但是是既有事实,即使现在教也改变不了已经存在的东西。

如果您愿意免费协助我网络里的存量 150 位用户手把手带他们迁移到 Tailnet ,我很乐意

并且纯 IP 被阻断的原因我在第 1 段第 2 段已经讲了。我的 Headscale 和 Derp 全都跑在正规的已备案的云服务器上,不存在 SNI 阻断问题

还是希望先读完帖子再评论
liuzimin
193 天前
@zealotxxxx 关于这个 derp 中转水管,我有点疑惑啊。因为我是房东的二级子网,IPv6 和公网 IP 都是奢望,所以所有回家流量必走中转。

那么问题来了:我的服务器有一个按量付费 100 兆,还有个轻量阿里云不限流 200 兆。全都走的 derp 中转的情况下,看极空间里的视频可以跑满 50Mbps 左右,但上传下载、moonlight 远程串流打游戏,这两个场景都只能跑到 15Mbps 左右。百思不得其解。

老哥有思路吗?
lnbiuc
193 天前
@HOMO114514 #32 你的使用场景是什么 你有不愿意说别人怎么帮你
Actrace
193 天前
直接微林 derp 简单省事。
mabelrussell
192 天前
@lnbiuc 现在最新的 derp 如果使用纯 ip 自建的话可以自动生成自签证书了
HOMO114514
192 天前
@lnbiuc 我没有要求帮助,我只是在谈自己的心得
zealotxxxx
191 天前
@liuzimin 这个情况下真不了解。我自己是 3m 小水管,真大流量全靠建立直连。🤦‍♂️

不过看你这个情况会不会是因为看视频的传输方式和 moonlight 之类的实时推流的不同导致的?(例如说:1. 极空间是 nas 设备,视频推流对机器负载低,而且数据可以提前开始发送; 2. moonlight 是实时编码,需要分掉一定的宿主机性能)

我觉得你可能要先看看同一台机器上不同场景的速度,然后再来一点点排查(主要是我自己没遇到你的情况,所以只能猜测)
Morxi
190 天前
翻了一下客户端代码,看上去是一个特性变更影响了非标用户,
这个特性启用来自
https://github.com/tailscale/tailscale/blob/6bbf98bef457b4403f27da79eb1861e6197ab539/control/controlhttp/client.go#L269
目的是解决中间盒劫持时的连接
如果不希望强制 443 ,从代码逻辑上来看在客户端配置环境变量 TS_FORCE_NOISE_443 = 0 即可
dyv9
1 天前
@liuzimin 新版本客户端增加了 其它 VPN exit-node ,离被隔离不远了。 以前的测试 app speedtest 客户端增加了 VPN 功能后还在免费体验阶段立即就用不了。

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

https://ex.noerr.eu.org/t/1119930

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

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

© 2021 V2EX