首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >延迟降到 20ms!手把手带你用国内云主机自建 Tailscale 专属中继服务器(DERP)

延迟降到 20ms!手把手带你用国内云主机自建 Tailscale 专属中继服务器(DERP)

作者头像
用户12547393
发布2026-06-15 14:30:20
发布2026-06-15 14:30:20
3120
举报
DERP Relay Server
DERP Relay Server

[!NOTE] Tailscale 让我们实现了无公网 IP 下的多设备互联,但当两台设备打洞(P2P 直连)失败时,流量就会自动通过 Tailscale 官方的 DERP 中继服务器 转发。因为官方中继都在国外,这就导致传输延迟飙升到 300ms 以上,速度慢得像蜗牛。今天老周带大家彻底解决这个痛点:用一台国内便宜的云服务器,搭建专属的私有 DERP 中继,体验延迟瞬间暴降到 20ms 以内的快感!


目录

痛点分析:为什么你的 Tailscale 突然卡成 PPT?

原理解析:打洞失败与 DERP 中继服务器的救场机制

战前准备:自建 DERP 所需的硬件与端口要求

动手实操:利用 Docker 一键部署专属 DERP 中继

对接测试:在 Tailscale 网页端应用自建中继规则

结语:享受丝滑的远程网络直连


1. 痛点分析:为什么你的 Tailscale 突然卡成 PPT?

相信很多小伙伴都遇到过这个问题:明明在家里连 NAS 速度飞快,但一旦到了办公室、或者出差用手机流量连接,速度就突然慢得无法忍受,甚至连 SSH 都会频繁断联。

怎么诊断?

在客户端终端敲入以下命令查看连接状态:

tailscale status

如果看到你的设备后面显示的不是 direct(直连),而是 relay (via derp-xxx),说明两台设备之间的直接通道被防火墙或 NAT 阻断了,流量正在通过官方的 DERP 服务器绕道传输。因为官方中继在美国或欧洲,来回数据包跨越太平洋,延迟不卡才怪!


2. 原理解析:什么是 DERP 中继?

Tailscale 的底层通信依赖于 WireGuard 协议,它会尽最大努力进行 NAT 穿透(打洞),让两台设备直接建立点对点(P2P)连接。

但在复杂的网络环境(如小区的对称型 NAT、企业级严苛防火墙)下,打洞可能会 100% 失败。此时,为了保证网络不中断,Tailscale 会启用DERP (Detour Encrypted Routing Protocol)协议,通过中继服务器来中转双方的加密数据。

[设备 A] ──(国内宽带)──► [自建国内 DERP (20ms)] ──(国内宽带)──► [设备 B]

既然中继是最后的防线,只要我们把这个中继节点从“大洋彼岸”搬回“国内云机”,延迟和带宽问题就会瞬间迎刃而起!


3. 战前准备:自建 DERP 所需的硬件与端口要求

为了搭建 DERP,你需要准备:

一台国内云服务器 (VPS)

: 不需要多高配置,1核 1G 内存、带宽 3-5M 的国内轻量云主机即可,延迟极低。

一个域名

: Tailscale 官方的 DERP 协议强制要求 HTTPS 证书进行身份校验。你需要准备一个子域名(如 derp.yourdomain.com)解析到该服务器的公网 IP。

安全组放行端口

: 在服务器安全组中放行以下两个端口:

443/tcp

(HTTPS 服务端口,用于验证和数据传输)

3478/udp

(STUN 端口,用于辅助客户端获取自身公网 IP,极重要)


4. 动手实操:利用 Docker 一键部署专属 DERP 中继

为了省去配置 Go 语言环境和申请 SSL 证书的繁琐流程,老周推荐使用社区已经封装好的开箱即用 Docker 镜像(已内置 Let's Encrypt 自动证书申请)。

⚙️ 实操步骤:

安装 Docker

: 确保你的云服务器已经安装了 Docker: curl -fsSL https://get.docker.com | bash systemctl enable --now docker

一键运行容器

: 运行以下命令(将域名和邮箱替换为你自己的,容器会自动帮你申请证书并续期): bash

代码语言:javascript
复制
docker run -d \      --name derp \      --restart always \      -p 443:443 \      -p 3478:3478/udp \      -e DERP_DOMAIN=derp.yourdomain.com \      -e DERP_CERT_MODE=letsencrypt \      -e DERP_EMAIL=your_email@example.com \      fredliang/derper

验证是否运行成功

: 在浏览器输入 https://derp.yourdomain.com,如果页面显示: DERP -> Detour Encrypted Routing Protocol,说明中继服务器已经在正常工作了!


5. 对接测试:在 Tailscale 网页端应用自建中继规则

最后一步,我们需要告诉 Tailscale 官方控制台:“以后请优先用我自建的这个中继服务器”。

⚙️ 配置步骤:

登录 Tailscale 网页后台,点击Access Control标签页。

在 JSON 配置文件中,找到或者添加 derpMap 段落(通常在配置文件底部):

"derpMap": { // 禁用官方的所有国外中继节点(可选,如果你想完全隔离国外节点) "OmitDefaultRegions": true, "Regions": { "901": { "RegionID": 901, "RegionCode": "my-custom-derp", "RegionName": "My Domestic VPS DERP", "Nodes": [ { "Name": "1a", "RegionID": 901, "HostName": "derp.yourdomain.com", "DERPPort": 443, "STUNPort": 3478 } ] } } }

点击Save保存。

客户端验证

: 在手机或电脑终端重新运行 tailscale netcheck,如果输出结果里出现了你自建的 My Domestic VPS DERP 节点,且延迟在 10ms ~ 30ms 左右,说明大功告成! 此时即使两台内网设备打洞失败,走中继传输文件也能跑满你自建服务器的带宽上限,延迟低到完全没有感知。


🏁 结语

自建国内 DERP 是榨干 Tailscale 性能的最后一块拼图。它不仅拯救了高山险阻中的网络连接,更让我们在任何恶劣的网络环境下都有了一条稳定、低延迟的“绿色安全通道”。

赶快给你的服务器装上这枚强心针吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老周的AI进化实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 痛点分析:为什么你的 Tailscale 突然卡成 PPT?
  • 原理解析:打洞失败与 DERP 中继服务器的救场机制
  • 战前准备:自建 DERP 所需的硬件与端口要求
  • 动手实操:利用 Docker 一键部署专属 DERP 中继
  • 对接测试:在 Tailscale 网页端应用自建中继规则
  • 结语:享受丝滑的远程网络直连
  • 1. 痛点分析:为什么你的 Tailscale 突然卡成 PPT?
  • 2. 原理解析:什么是 DERP 中继?
  • 3. 战前准备:自建 DERP 所需的硬件与端口要求
  • 4. 动手实操:利用 Docker 一键部署专属 DERP 中继
  • 5. 对接测试:在 Tailscale 网页端应用自建中继规则
  • 🏁 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档