用户登录

电信把我拉回 ADSL 时代:群晖自建Tailscale中继节点,能否突破 QoS?

7 次浏览

前几天测试的使用Tailscale 组网,武汉电信会限制 UDP 的上行流量,QoS 到 3Mbps 左右,导致进行 MAC 远程桌面非常卡顿、打字有延迟。

▲ Tailscale 组网后,直连的情况使用本地测速工具Homebox 进行测速,家里的电信宽带对 UDP 流量也有限速在 12Mbps,武汉的电信宽带限速在 3Mbps,非常拉跨。

▲ 但路由器使用 DDNS+ TCP 协议的端口转发,进行 Homebox 测速,上下行跑满了40Mbps 的带宽,证明没有限速。

那么问题来了,如果我使用家里的电信公网 IP 自建一个Tailscale的DERP节点,是 TCP 流量,然后强制走这个节点,那么是不是就不被限速了?

实验思路

拥有公网 IP 的路由器提供 DDNS+端口转发服务,群晖NAS使用docker安装derper容器,使用acme.sh脚本实现 ssl 自动部署证书。

acme.sh自动化证书

▲ acme.sh 是一个用来自动申请、续期 HTTPS 证书(Let’s Encrypt / ZeroSSL)的轻量级脚本工具。部署教程很多,不赘述了,群晖系统里没有标准 cron/crontab 命令(自动化任务),我们可以用 DSM 的“任务计划”代替 cron。

群晖安装derper容器

使用Compose的方式,新增一个项目,参考下面 yml文件:

services:
  derper:
    image: whoer/derper:latest
    container_name: derper
    restart: unless-stopped
    network_mode: host
    volumes:
      - /volume1/docker/derper/certs:/etc/cert:ro
    command:
      - -a=:18443
      - -http-port=-1
      - -hostname=derper.xxxxx.com
      - -certmode=manual
      - -certdir=/etc/cert

▲ 路由器设置端口转发,把 18443 端口转发给群晖 NAS 的 18443 端口。

▲ 浏览器能访问你的域名+端口,出现 DERP 页面代表自建DERP 服务器成功,接下来去tailscale控制台设置下配置文件。

▲ 以上配置文件仅供参考,之后设置异地的路由器强制走中继即可。

强制走DERP测速

打开之前搭建的 Homebox 进行 TCP derper节点测速:

▲ 刚开始测速的时候,上行流量速度可以到 30M,一下子就降低到 20M

▲ 稳定下来,测速结果,上行还是被限制到了 3Mbps 以下。

这是为什么啊?已经是走了中继,是 TCP 流量了。

推测原因是:DERP 确实走 TCP/TLS,但它不是普通 HTTPS 业务,仍然有可识别特征,依旧被运营商 QoS 了,最开始测速上行能到满速就是证明,之后降低下来。

UDP都被限速吗?

那么问题来了,只要是 UDP 流量,运营商就会限速吗?

为了验证这一点,我把 DERP 节点搭建在一台香港的轻量云服务器上,其他条件不变进行测试。

▲ ping 值 100ms,证明走的是香港的服务器,上行下行都在 9Mbps 左右,上行突破了 3Mbps,证明没有被限速了。

Tailscale 加解密 DERP TCP 长连接 子网路由转发 NAT / 防火墙 LAN 到 NAS 转发,这些基本都吃 CPU,而且很多时候是单核瓶颈。我的老毛子路由器显示 CPU占用率 50-60%,没有跑满带宽应该是性能太弱鸡的原因。

总结

经过我的实验,发现运营商不是显示所有的 UDP 流量,而是对 P2P(点对点)直连的 UDP 流量进行限制,也就是针对宽带用户,对于连接服务器的 UDP 流量并不干预。

哎,宽带质量越来差劲了,UDP 流量上行 2、3Mbps 相当于回到了ADSL拨号时代。

对于有公网 IP 的用户来说有没有解法?有大佬提供了方法,全部流量伪装成 https,这就是另一个领域的话题了。

欢迎成为本站会员,加入 VIP路由器群,交流网络问题!
发布于 2026-06-07 20:27:19