1
begitcn 2023-06-30 11:36:30 +08:00
控制台 Access Controls 配置文件修改了吗?
|
2
mikaelson OP @begitcn 挖槽,我怎么没看到有提到 access controls 这个东西? google 了一堆教程,全是抄来抄去的。。。都一样的文章
|
3
begitcn 2023-06-30 11:51:00 +08:00
用官方的 需要在控制台中 access controls 修改 derp 服务器配置 应该是添加 derpMap 的一些东西 自行搜索下吧
|
5
Goalonez 2023-06-30 12:15:58 +08:00
http: //<server_Address>: 8080/windows
http: //<server_Address>: 8080/apple 好像会有类似这样的地址打开,然后根据里面的命令,把你的客户端注册到节点去 |
6
erhandsome 2023-06-30 12:57:06 +08:00
这些教程都 N 久之前的,直接看官方的自建文档,快速简单
|
7
ysicing 2023-06-30 13:20:07 +08:00
|
8
nexply1920 2023-06-30 13:36:59 +08:00
@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 2023-06-30 14:09:33 +08:00
前两天用这个 https://github.com/yangchuansheng/docker-image/blob/master/derper/Dockerfile 在腾讯云部署的,教程参考的也是这个博主的,上海延迟 20ms 。没遇到自建中转节点不能打洞的问题,docker 容器连续运行也没有什么报错的问题。服务器懒得备案直接开的 10000+的端口也没遇到问题。
|
13
LykorisR 2023-06-30 15:11:30 +08:00
@mikaelson 自建的意义在于控制器也用自己的,这样相当于完全自建,如果你只想自建中续那只需要把 berp 放到控制器中,但是要注意 derp 是没有验证的,任何人知道 IP 都能访问
|
14
EVJohn 2023-06-30 15:11:42 +08:00
你说的是 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 2023-06-30 15:18:38 +08:00
我也在搞这个 drep 还没搞好, op 有推荐的教程么
|
18
mikaelson OP @LykorisR 我现在是 tailscale+headscale ,然后我看说 DERP_VERIFY_CLIENTS=true 就可以防止白嫖了?
|
20
Actrace 2023-06-30 15:22:31 +08:00
楼主参考下这篇?
https://www.v2ex.com/t/916123 |
21
frankli0324 2023-06-30 15:22:40 +08:00
@mikaelson tailscale 控制面是整个网络的信任锚点,控制面负责 authenticate 各个节点(你的电脑、服务器等都是节点),headscale 就是将这个信任锚点掌握在你自己手里。
不过 tailscale 后来支持了使用已 authenticate 的 node 作为新的信任锚点,可以谷歌一下 |
22
frankli0324 2023-06-30 15:23:39 +08:00
|
23
mikaelson OP @frankli0324 所以现在也没必要用 headscale 了?可以 tailscale 一整套?
|
24
frankli0324 2023-06-30 15:26:29 +08:00
控制面 authenticate 一个 node 的时候会把这个 node 的公钥分发给所有节点,所有节点以后就都信任这个公钥了,类比你在.ssh/authorized_keys 里加上你的 ssh pubkey 。这样的话假如 tailscale 偷偷给这个公钥列表里加上一个恶意 node 的公钥,你的内网 infrastructure 就暴露给这个恶意 node 了,如果你还配置了诸如 tailscale ssh 的东西那就影响面更大了
|
25
frankli0324 2023-06-30 15:27:01 +08:00
@mikaelson 其实。。也可以,不过如果想彻底杜绝外网流量也可以用 headscale ,毕竟节点需要和控制面通信
|
26
ZedRover 2023-06-30 15:30:06 +08:00
@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 2023-06-30 15:59:04 +08:00
我那会儿也是绕进去了。如果你的要求和我一样简单,是不需要 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, }], }}, }, 服务器防火墙端口记得开,就可以了 |
33
mikaelson OP @GGC4 我因为有自己的公网服务器,所以想用自己搭建 derp 。我现在也成了。问题是,节点之间的延迟很一般,但是只要走公网转发后,直接就没速度了
|
34
frankli0324 2023-06-30 16:18:06 +08:00
@mikaelson @ZedRover 要搞清楚各个部分解决的是两个不同的问题
headscale 解决的是控制面通信问题,适用于无法与 tailscale 控制面通信的环境(当然最开始也是解决 tailscale 控制面可信问题),tailscale lock 解决的是 tailscale 控制面是否可信的问题,而 verify client 解决的是 derper 不允许其他用户通过你的 derper 握手和转发流量。derper 只是一个握手的协商者和*加密后*流量的转发者,并不涉及网络的可信问题,别人用你的 derper 顶多耗费你的流量。verify client 的行为是在协商前校验协商的二者的身份。 我觉得还是执行一个 step 之前先搞明白这个 step 的目的是什么吧( |
35
frankli0324 2023-06-30 16:19:08 +08:00
* 校验协商的双方都和自己本机在同一个 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 2023-06-30 16:25:26 +08:00
@mikaelson 300k/s 的问题听起来像是 SSH Protocol 的 overhead ,20M 的小水管本身也不快
|
38
mikaelson OP @frankli0324 每秒能有 2M 还行了呀,用来转发一些服务不做大数据传输,我之前才 4M 的,这次换到 20M 了,从阿里迁移到腾讯,结果搞成这副模样,死活找不到原因。哎。
以前每次新加节点,也就是加入 tinc ,然后去云服务器转发端口,也没做其他的。。。 |
39
SoFarSoGood 2023-06-30 16:55:40 +08:00
@mikaelson tailscale 也是基于 wireguard 创建链接的,算不出正确的 mtu ,速度肯定慢。
|
40
blankmiss 2023-06-30 17:03:02 +08:00
只要知道 ip 换个端口 就能用你的 derp server 还是上个域名 开启客户端验证吧
|
42
GGC4 2023-06-30 17:14:10 +08:00
速度问题临时另开一个 frp 对比看看
|
43
mikaelson OP @SoFarSoGood 好难过,之前 tinc 都好好的,也都没去算过 mtu 什么的,不懂为什么在也不行了
|
44
mikaelson OP @frankli0324 frp 没问题,所以看过去,像是 firewall-cmd add-forward-port 转发的问题??
|
45
mikaelson OP @GGC4 frp 没问题,所以看过去,像是 firewall-cmd add-forward-port 转发的问题??
|
46
LykorisR 2023-06-30 19:22:16 +08:00
@mikaelson 这就是最烦人的地方了,它只支持和 headscale 放在一台机器上,然后直接访问 socket 文件来进行验证
|
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 还是这样的情况 |
48
LykorisR 2023-06-30 20:33:52 +08:00
@mikaelson 可能是 DERP 设置的问题,我是用的 headscale 内置的 DERP ,RDP 是很流畅的没有问题
|
50
LykorisR 2023-07-01 08:46:59 +08:00
@mikaelson 我是前面有 openwrt ,然后在群晖上用 docker 跑的 headscale 和 derp ,直接用 openwrt 来转发的端口
|
51
nexply1920 2023-07-03 21:35:15 +08:00
@mikaelson 可以用 tailscale+headscale 也可以用官方的管理端然后自建中转 derper 服务加速
|
55
PowerDi 2023-08-23 10:04:57 +08:00
@frankli0324 #34 大佬,我想请教下,打洞成功率,与 headscale 是否有关?我发现无论用国内外服务器自建的 derp ,都是没办法打洞成功。
|