1
begitcn 307 天前
控制台 Access Controls 配置文件修改了吗?
|
3
begitcn 307 天前
用官方的 需要在控制台中 access controls 修改 derp 服务器配置 应该是添加 derpMap 的一些东西 自行搜索下吧
|
5
Goalonez 307 天前
http: //<server_Address>: 8080/windows
http: //<server_Address>: 8080/apple 好像会有类似这样的地址打开,然后根据里面的命令,把你的客户端注册到节点去 |
6
erhandsome 307 天前
这些教程都 N 久之前的,直接看官方的自建文档,快速简单
|
7
ysicing 307 天前
|
8
nexply1920 307 天前
@mikaelson #4 你只是自检 derp 节点噻,难道你的管理端也是用 Headscale 自建的?管理端用的官方的就要去官方 access controls 添加策略的。
类似这种: { // ... other parts of ACL "derpMap": { "OmitDefaultRegions": true, "Regions": { "900": { "RegionID": 900, "RegionCode": "myderp", "Nodes": [ { "Name": "1", "RegionID": 900, "HostName": "your-hostname.com" } ] } } } } |
9
mikaelson OP @nexply1920 不是都在推荐什么 tailscale+headscale 吗。。。我有点懵逼了
|
10
mikaelson OP @erhandsome 才发现官方支持自建了,那就没必要再用 headscale 了?还是说,这种用法有另一种意义?
|
11
ZedRover 307 天前
前两天用这个 https://github.com/yangchuansheng/docker-image/blob/master/derper/Dockerfile 在腾讯云部署的,教程参考的也是这个博主的,上海延迟 20ms 。没遇到自建中转节点不能打洞的问题,docker 容器连续运行也没有什么报错的问题。服务器懒得备案直接开的 10000+的端口也没遇到问题。
|
13
LykorisR 307 天前
@mikaelson 自建的意义在于控制器也用自己的,这样相当于完全自建,如果你只想自建中续那只需要把 berp 放到控制器中,但是要注意 derp 是没有验证的,任何人知道 IP 都能访问
|
14
EVJohn 307 天前
你说的是 tailscale 的客户端+headscale 的服务端,还是 tailscale 服务端+自建 drep+tailscale 客户端
|
15
mikaelson OP @EVJohn 前者。tailscale 客户端+headscale 服务端、一顿瞎折腾,终于可以了,node 也添加成功了,想问一下,这个怎么自定义每台服务器的 IP ?我现在看是自动获取的
|
16
mikaelson OP @EVJohn tailscale 的客户端+headscale 的服务端,还是 tailscale 服务端+自建 drep+tailscale 客户端
另外,这 2 个有什么区别吗? |
17
whcoding 307 天前
我也在搞这个 drep 还没搞好, op 有推荐的教程么
|
20
Actrace 307 天前
楼主参考下这篇?
https://www.v2ex.com/t/916123 |
21
frankli0324 307 天前
@mikaelson tailscale 控制面是整个网络的信任锚点,控制面负责 authenticate 各个节点(你的电脑、服务器等都是节点),headscale 就是将这个信任锚点掌握在你自己手里。
不过 tailscale 后来支持了使用已 authenticate 的 node 作为新的信任锚点,可以谷歌一下 |
23
mikaelson OP @frankli0324 所以现在也没必要用 headscale 了?可以 tailscale 一整套?
|
24
frankli0324 307 天前
控制面 authenticate 一个 node 的时候会把这个 node 的公钥分发给所有节点,所有节点以后就都信任这个公钥了,类比你在.ssh/authorized_keys 里加上你的 ssh pubkey 。这样的话假如 tailscale 偷偷给这个公钥列表里加上一个恶意 node 的公钥,你的内网 infrastructure 就暴露给这个恶意 node 了,如果你还配置了诸如 tailscale ssh 的东西那就影响面更大了
|
25
frankli0324 307 天前
@mikaelson 其实。。也可以,不过如果想彻底杜绝外网流量也可以用 headscale ,毕竟节点需要和控制面通信
|
26
ZedRover 307 天前
@mikaelson #18 开启 verify_clients 之后就行了,需要服务器上有 tailscale 并且登录自己的账号,这样别人就算能 在 acl 里加你的节点也没法用
|
27
mikaelson OP @ZedRover 服务器上有 tailscale 并且登录自己的账号 这是什么意思?还得去注册官网的 tailscale 嘛?我现在拿来做 server 的服务器上装了 headscale+自建 docker 的 derp+tailscale 客户端。现在已经联通了几个节点了。不过好麻烦。。。我都是去各个 client 装 tailscale 然后 tailscale up xxxx 什么的,生成一串后,去浏览器拿到链接,再回来 server 端添加 node 。
|
28
mikaelson OP @frankli0324 我现在把 server 和 client 都部署了 tailscale ,打算把一些业务转发到 server 上,然后映射 ip+端口出去访问。比如 ssh ,sftp 之类的。。。也没法给所有使用者都加 tailscale
|
30
mikaelson OP @ZedRover 有一个很奇葩的问题。我各个节点互 ping 都在 30ms 以内。
client1 的 ip 是 10.86.0.1 公网 server 是 10.86.2.1 我用 firewall-cmd --add-forward-port=port=2244:proto=tcp:toaddr=10.86.0.1:toport=22 --permanent 映射到公网的 2244 我用公网的 ip+2244 访问成功,尝试着用 sftp 传文件,直接龟速(公网买的是 16 核 32G 20M 宽带的)只有 300k ,而且期间 ping 的延迟会变成几百。。。这是为啥。。。 |
32
GGC4 307 天前
我那会儿也是绕进去了。如果你的要求和我一样简单,是不需要 headscale 的,只需要按照正常的 tailscale 流程使用,然后在 tailscale 官网的 access control 里写好:
"derpMap": { "Regions": {"900": { "RegionID": 900, "RegionCode": "cn", "Nodes": [{ "Name": "1", "RegionID": 900, "HostName": "x.x.x.x", "IPv4": "x.x.x.x", "DERPPort": 38800, "InsecureForTests": true, }], }}, }, 服务器防火墙端口记得开,就可以了 |
34
frankli0324 307 天前
@mikaelson @ZedRover 要搞清楚各个部分解决的是两个不同的问题
headscale 解决的是控制面通信问题,适用于无法与 tailscale 控制面通信的环境(当然最开始也是解决 tailscale 控制面可信问题),tailscale lock 解决的是 tailscale 控制面是否可信的问题,而 verify client 解决的是 derper 不允许其他用户通过你的 derper 握手和转发流量。derper 只是一个握手的协商者和*加密后*流量的转发者,并不涉及网络的可信问题,别人用你的 derper 顶多耗费你的流量。verify client 的行为是在协商前校验协商的二者的身份。 我觉得还是执行一个 step 之前先搞明白这个 step 的目的是什么吧( |
35
frankli0324 307 天前
* 校验协商的双方都和自己本机在同一个 tailnet 中
|
36
mikaelson OP @frankli0324 谢谢您的热情回复。我去再了解一下。
有一个很奇葩的问题。我现在各个节点互 ping 都在 30ms 以内。 client1 的 ip 是 10.86.0.1 公网 server 是 10.86.2.1 我用 firewall-cmd --add-forward-port=port=2244:proto=tcp:toaddr=10.86.0.1:toport=22 --permanent 映射到公网的 2244 我用公网的 ip+2244 访问成功,尝试着用 sftp 传文件,直接龟速,甚至 ssh 连线直接断开(公网买的是 16 核 32G 20M 宽带的)只有 300k ,而且期间 ping 的延迟会变成几百。。。这是为啥。。。 包括之前用 tinc 也是这样,这也是我突然转移方案的原因,没想到不是 tinc 的问题。换一个方案,在用 add-forward-port 还是这样的情况 |
37
frankli0324 307 天前
@mikaelson 300k/s 的问题听起来像是 SSH Protocol 的 overhead ,20M 的小水管本身也不快
|
38
mikaelson OP @frankli0324 每秒能有 2M 还行了呀,用来转发一些服务不做大数据传输,我之前才 4M 的,这次换到 20M 了,从阿里迁移到腾讯,结果搞成这副模样,死活找不到原因。哎。
以前每次新加节点,也就是加入 tinc ,然后去云服务器转发端口,也没做其他的。。。 |
39
SoFarSoGood 307 天前
@mikaelson tailscale 也是基于 wireguard 创建链接的,算不出正确的 mtu ,速度肯定慢。
|
40
blankmiss 307 天前
只要知道 ip 换个端口 就能用你的 derp server 还是上个域名 开启客户端验证吧
|
42
GGC4 307 天前
速度问题临时另开一个 frp 对比看看
|
43
mikaelson OP @SoFarSoGood 好难过,之前 tinc 都好好的,也都没去算过 mtu 什么的,不懂为什么在也不行了
|
44
mikaelson OP @frankli0324 frp 没问题,所以看过去,像是 firewall-cmd add-forward-port 转发的问题??
|
47
mikaelson OP @LykorisR 我现在碰到一个奇怪的问题,节点都没问题,但是转发后,直接性能 gg
我用 firewall-cmd --add-forward-port=port=2244:proto=tcp:toaddr=10.86.0.1:toport=22 --permanent 映射到公网的 2244 我用公网的 ip+2244 访问成功,尝试着用 sftp 传文件,直接龟速,甚至 ssh 连线直接断开(公网买的是 16 核 32G 20M 宽带的)只有 300k ,而且期间 ping 的延迟会变成几百。。。这是为啥。。。 包括之前用 tinc 也是这样,这也是我突然转移方案的原因,没想到不是 tinc 的问题。换一个方案,在用 add-forward-port 还是这样的情况 |
51
nexply1920 304 天前
@mikaelson 可以用 tailscale+headscale 也可以用官方的管理端然后自建中转 derper 服务加速
|
55
PowerDi 253 天前
@frankli0324 #34 大佬,我想请教下,打洞成功率,与 headscale 是否有关?我发现无论用国内外服务器自建的 derp ,都是没办法打洞成功。
|