部署tailscale非443端口derper中继

435 阅读1分钟

准备工作

  • 一台拥有公网 IP 的服务器
  • 一个域名

服务器准备工作

安装 Golang ,版本最好为1.20以上

安装Caddy2

进入网站了解安装方式:caddy2中文网

Caddyfile配置

caddy的作用仅用于申请tls证书 证书目录:/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/example.com

example.com {
  tls 邮箱
  respond "Hello, world!"
  }
}

安装 tailscale

curl -fsSL https://tailscale.com/install.sh | sh

启动并登录

tailscale up

安装 derper 服务

go install tailscale.com/cmd/derper@main

配置derper service

[Unit]
Description=derper service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/derper路径/derper --hostname example.com -a ":8082" -http-port -1 --verify-clients -certdir /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/example.com -certmode manual -stun

[Install]
WantedBy=multi-user.target

启动derper: service derper start

判断derper是否启动成功

浏览器访问example.com:8082, 如果出现以下画面则部署成功 example.com:8082

修改tailscale配置

将tailscale的配置增加为自己的中继节点

{
// 已有配置
...
// 中继节点配置
"derpMap": {
		// 禁用官方中继服务器
		//"OmitDefaultRegions": true,
		"Regions": {"900": {
			"RegionID":   900,
			"RegionCode": "myderp",
			"Nodes": [{
				"Name":     "1",
				"RegionID": 900,
				"HostName": "example.com",
				// 自定义端口
				"DERPPort": 8082,
			}],
		}},
	},
}

验证

重启每台机器的tailscale,然后使用tailscale分配的ip访问,能够访问则部署成功