准备工作
- 一台拥有公网 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
, 如果出现以下画面则部署成功
修改tailscale配置
将tailscale的配置增加为自己的中继节点
{
// 已有配置
...
// 中继节点配置
"derpMap": {
// 禁用官方中继服务器
//"OmitDefaultRegions": true,
"Regions": {"900": {
"RegionID": 900,
"RegionCode": "myderp",
"Nodes": [{
"Name": "1",
"RegionID": 900,
"HostName": "example.com",
// 自定义端口
"DERPPort": 8082,
}],
}},
},
}
验证
重启每台机器的tailscale,然后使用tailscale分配的ip访问,能够访问则部署成功