用途:该技能针对 Tailscale/Headscale 的 DERP(Designated Encrypted Relay Protocol,类 TURN 加密中继回退机制)中继服务器,帮助在直连 NAT 穿透失败时进行部署、配置与诊断。
主要能力:支持配置 Headscale 嵌入式 DERP(默认启用,STUN 监听 0.0.0.0:3478,中继端口 443,适合约 50 节点以下小型 tailnet);支持用官方 tailscale/derper Docker 镜像部署独立 DERP;支持 DERP map(JSON,定义区域与节点)通过 URL 或本地文件加载;支持 STUN、区域选择与延迟诊断。
使用方式:在 config.yaml 中调整 derp.server 的 enabled、region_id、region_code、region_name、stun_listen_addr、private_key_path 等项,或用 derp.urls、derp.paths、derp.auto_update 加载额外 DERP map。独立部署命令:docker run -d --name=derper --restart=always -p 3478:3478/udp -p 443:443 -v /etc/letsencrypt:/certs -v /var/lib/derper:/var/lib/derper tailscale/derper --hostname=derp.example.com。用 tailscale netcheck 查看可达区域与延迟。TLS 可用 Let's Encrypt 自动签发、手动 --cert/--key 或反向代理终止。
适用场景:对称 NAT、企业防火墙限制出站、双重 NAT、STUN 被过滤等导致直连失败的链路。
限制:DERP 流量经 WireGuard-inside-TLS,额外增加约 5-15ms 延迟,直连优先;嵌入式 DERP 重负载会影响控制面,超过约 50 节点活跃中继建议独立部署;3478/UDP 与 443/TCP-TLS 需开放;客户端缓存 DERP map,新增区域最长约 5 分钟生效;直连正常时无需调优。触发关键词:DERP、relay、peer relay、STUN、direct connection failed。