headscale-derp


搭建derp中继服务(纯ip没有域名)

创建配置文件并上传到oss

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"Regions": {
"901": {
"RegionID": 901,
"RegionCode": "ali-sh",
"RegionName": "Aliyun Shanghai",
"Nodes": [
{
"Name": "901a",
"RegionID": 901,
"DERPPort": 4453,
"HostName": "IP地址",
"IPv4": "IP地址",
"InsecureForTests": true
}
]
}
}
}
保存阿里云oss地址

修改headscale配置文件

1
2
3
4
5
6
vi /etc/headscale/config.yaml

修改urls

urls:
- https://阿里云oss地址

重启headscale

1
systemctl restart headscale

安装tailscale

1
2
3
在headscale同一台机器上安装tailscale,并连接到自己搭建的headscale

tailscale up --login-server=http://****:8080 --accept-routes=true --accept-dns=false

使用编译好的docker镜像

1
2
3
4
5
6
7
8
9
10
docker run --restart always \
--name derper \
-p 4453:4453 -p 3478:3478/udp \
-v /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock \
-v /root/.acme.sh/ip地址/:/app/certs \
-e DERP_CERT_MODE=manual \
-e DERP_ADDR=:4453 \
-e DERP_CERTS=/app/certs \
-e DERP_VERIFY_CLIENTS=true \
-d ip_derper

开放端口

1
2
UDP开放 3478端口
TCP开放 4453端口

检查

1
2
3
4
5
6
7
8
9
10
11
12
客户端使用 tailscale netcheck 可以看到derp地址变化

Report:
* UDP: true
* IPv4: yes, 45.152.64.229:52051
* IPv6: no, but OS has support
* MappingVariesByDestIP:
* HairPinning: false
* PortMapping:
* Nearest DERP: Aliyun Shanghai
* DERP latency:
- ali-sh: 36.2ms (Aliyun Shanghai)