本文最后更新于 2025-03-12,文章内容可能已经过时。

🎏前提条件

🎈Tailscale

官网:尾部 ·安全网络的最佳 VPN 服务

🎈Docker

官网:Docker: Accelerated Container Application Development

使用 Docker 官方脚本安装

curl -fsSL https://get.docker.com | bash

🎈云服务器

这里推荐用 VPS 或者租一个带宽较高的服务器

🎈家庭宽带(公网 IP)

如果不想买云服务器也 OK,可以将家里的主机作为中继节点使用,前提是运营商给你家分配了公网 ip

🎁使用 Docker 安装

新建 docker-compose.yml 文件,填入以下内容

version: "3.8"
services:
  derper:
    image: yangchuansheng/ip_derper
    ports:
      - 43443:443        #此处可改为你想要的10000以上的高位端口
      - 43478:3478/udp   # 3478 为stun端口,如果不冲突请勿修改
     environment:
      - DERP_CERTS=/app/certs    # 如果有证书请添加此段
      - DERP_VERIFY_CLIENTS=true # 启动客户端验证,这是防偷的最重要的参数

新建一个文件,命名为:docker-compose.yml

在该文件夹内,docker compose up -d 即可启动该 docker

🎈访问面板

浏览器访问 https://<服务器公网ip>:43443,忽略证书安全看到下面内容表示安装成功

⚙️修改 Tailscale 配置

进入 Tailscale 管理后台,选择 Access Controls 标签栏,在 "ssh" 节点下方增加以下内容并保存。

{
  // ...
  "ssh": [
    // ...
  ]

"derpMap": {
		"OmitDefaultRegions": false, // 是否仅使用自定义的 DERP 节点,默认为 false
		"Regions": {
			"900": {
				"RegionID":   900, // 900-999之间
				"RegionCode": "home", // 自定义 Code
				"RegionName": "HomeLab", // 自定义名称
				"Nodes": [
					// derp 服务器节点
					{
						"Name":     "HomeLab Server", // 名称
						"RegionID": 900, // 和上面的 regionId 一样
						"HostName": "xxxx.com", // 域名
						"DERPPort": 43443, // DERP 服务器 HTTPS 端口,默认为 443,用于数据中转
						"STUNPort": 43478, // DERP 服务器 STUN 端口,默认为3478,用于 NAT 穿越的端口
						// "IPv6": "2409:xxxx:xxxx:xxxx::xxxx", // IPV6 地址,用于在测试阶段绕过域名解析
						"InsecureForTests": true, // 如果 TLS 证书未申请,则可以不检测证书
					},
				],
			},
		},
	},

🧩验证

在 terminal 中输入 tailscale netcheck 即可对节点进行检测

🧸参考文献

使用家庭宽带公网 IPV6 自建 Tailscale 的 DERP 节点

Tailscale 自建中继节点(Derper) - XZH 的小站

自建免备案防偷 Tailscale 国内中继(DERP)教程 - Sleepstars 的记录室