环境准备
- 一台公网服务器 Debian 11
- 一个备案域名,域名解析到公网服务器
- docker、docker-compose
- 防火墙放行8443、3478/udp
安装Tailscale客户端
1
| curl -fsSL https://tailscale.com/install.sh | sh
|
连接Headscale服务器
1 2 3 4 5 6 7
| sudo tailscale up --login-server https://{设置的域名}
docker-compose exec headscale headscale nodes register --user mydevops --key mkey:{生成的key}
|
申请SSL证书
参考文章ACME 自动申请、续期 SSL 证书申请证书,申请的证书保存在路径:/home/ssl
。
部署Derp服务器
1 2 3 4 5 6 7 8 9
| mkdir -p ~/derp cd ~/derp
vim docker-compose.yaml
docker-compose up -d
|
docker-compose.yaml
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| version: '3'
services: derper: container_name: derper image: ghcr.io/yangchuansheng/derper restart: always ports: - 8443:8443 - 3478:3478/udp environment: - DERP_DOMAIN={derp域名} - DERP_CERT_MODE=manual - DERP_ADDR=:8443 - DERP_VERIFY_CLIENTS=true volumes: - /home/ssl/:/app/certs - /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
|
配置Headscale服务器
1 2 3 4 5 6 7 8 9
| cd /home/headscale
vim config/derp.yaml vim config/config.yaml
docker restart headscale
|
config/derp.yaml
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12
| regions: 901: regionid: 901 regioncode: xxxx regionname: xxxx nodes: - name: 901a regionid: 901 hostname: {derp域名} stunport: 3478 stunonly: false derpport: 8443
|
config/config.yaml
内容如下:
1 2 3 4 5 6 7 8
| ... derp: urls: paths: - /etc/headscale/derp.yaml auto_update_enabled: true update_frequency: 24h ...
|
参考资料