![]() | 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 calvey 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 就可以防止白嫖了? |
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 ,都是没办法打洞成功。 |