soarli

打造更低延迟的私有网络:在 Windows Server 上搭建 Tailscale DERP 节点全指南
Tailscale 是目前最受欢迎的异地组网工具之一。在复杂的网络环境中,当两台设备无法建立 P2P 直连时,Ta...
扫描右侧二维码阅读全文
22
2026/02

打造更低延迟的私有网络:在 Windows Server 上搭建 Tailscale DERP 节点全指南

Tailscale 是目前最受欢迎的异地组网工具之一。在复杂的网络环境中,当两台设备无法建立 P2P 直连时,Tailscale 会通过官方的 DERP 中继服务器转发流量。然而,官方节点往往由于物理距离导致延迟较高。如果你手头正好有一台闲置的 Windows Server,完全可以自己搭建一个专属的 DERP 节点,大幅提升网络体验。

官方并没有直接提供 Windows 版本的预编译程序,但这并不复杂。本文将带你通过编译源码并封装系统服务的方式,在 Windows Server 上完成部署。

准备工作

在开始之前,请确保你具备以下条件:

  • 一台具有公网 IP 的 Windows Server
  • 一个专属域名,并已解析到该服务器的公网 IP(例如 derp.yourdomain.com)。
  • 开放必要端口:在你的云服务商控制面板中,放行入站的 TCP 80(用于自动申请证书)、TCP 443(用于核心 HTTPS 中继流量)和 UDP 3478(用于 STUN 打洞服务)。

第一步:安装 Go 环境并编译 derper

Tailscale 的服务端程序是用 Go 语言编写的,我们需要先安装 Go 环境来进行编译。

  1. 前往 Go 官方网站下载适用于 Windows 的 .msi 安装包并完成安装。
  2. 打开 PowerShell 或 CMD 终端,输入 go version,确认环境配置成功。
  3. 执行以下命令拉取并编译 derper 源码:
go install tailscale.com/cmd/derper@main
  1. 编译成功后,在你的用户目录下(如 C:\Users\Administrator\go\bin)会生成 derper.exe
  2. 为了规范化管理,建议在 C 盘根目录新建一个 C:\DerpServer 文件夹,并将 derper.exe 移动到这里。

第二步:测试运行与自动申请证书

derper 内置了自动申请 Let's Encrypt SSL 证书的功能,我们先在命令行测试运行它。

打开命令行,进入 C:\DerpServer 目录,执行以下命令(请将域名替换为你自己的域名):

derper.exe -hostname derp.yourdomain.com -c C:\DerpServer\derper.conf -a :443 -stun

注意: 首次运行时程序会占用 80 端口去申请证书,请确保你的服务器没有运行 IIS 等 Web 服务占用该端口。

观察控制台输出,如果没有报错,你可以打开浏览器访问 https://derp.yourdomain.com。如果看到纯文本的 "DERP" 字样,恭喜你,节点服务运行成功!测试完毕后,按 Ctrl + C 结束进程。


第三步:配置为 Windows 后台系统服务

命令窗口一旦关闭,服务就会停止。我们需要借助第三方工具 NSSM (Non-Sucking Service Manager) 将其注册为开机自启的后台服务。

  1. 下载 NSSM 并解压,使用管理员权限打开命令行,进入 NSSM 的 win64 目录。
  2. 执行服务安装命令:
nssm install TailscaleDERP
  1. 在弹出的 GUI 窗口中填写以下信息:
  • Path (程序路径): C:\DerpServer\derper.exe
  • Arguments (启动参数): -hostname derp.yourdomain.com -c C:\DerpServer\derper.conf -a :443 -stun
  1. 点击 "Install service" 确认安装。
  2. 回到命令行,启动服务:
nssm start TailscaleDERP

第四步:配置 Windows 高级防火墙

即便云服务商放行了端口,Windows 自带的高级防火墙也需要进行对应设置。

  1. 打开“高级安全 Windows Defender 防火墙”。
  2. 在“入站规则”中选择“新建规则”。
  3. 允许 TCP 端口 80443 的连接。
  4. 再次新建规则,允许 UDP 端口 3478 的连接。

第五步:在 Tailscale 官方控制台接入节点

最后一步,告诉你的 Tailscale 网络去使用这个新节点。

登录 Tailscale Admin Console,进入 Access Controls 菜单,在 JSON 配置中添加 derpMap 模块:

{
  "derpMap": {
    "OmitDefaultRegions": false,
    "Regions": {
      "900": {
        "RegionID": 900,
        "RegionCode": "win-derp",
        "RegionName": "Windows Custom DERP",
        "Nodes": [
          {
            "Name": "1",
            "RegionID": 900,
            "DERPPort": 443,
            "STUNPort": 3478,
            "IPv4": "填入你的服务器公网IP",
            "HostName": "derp.yourdomain.com"
          }
        ]
      }
    }
  }
}

提示: 自定义节点的 RegionID 必须大于等于 900,以免与官方节点冲突。如果你想彻底摒弃官方节点只用自己的,可以将 OmitDefaultRegions 设置为 true

保存配置后,在你的本地设备上打开终端输入 tailscale netcheck,如果能看到你的自定义节点名称及极低的延迟数据,说明搭建完美收官!

最后修改:2026 年 02 月 22 日 06 : 04 AM

发表评论