Skip to Content
Docs开发配置TailScale

TailScale

介绍

TailScale

Tailscale 是一款基于 WireGuard 协议的、易于使用的、安全的网络连接工具,它允许用户快速创建自己的虚拟私人网络,实现设备间的安全连接和访问控制。

HeadScale

私有的 Tailscale 控制平台,可以用来管理 Tailscale 的用户、节点、ACL 等信息。

如何配置

HeadScale

  1. 下载安装包参考 
wget --output-document=headscale.deb \ https://github.com/juanfont/headscale/releases/download/v<HEADSCALE VERSION>/headscale_<HEADSCALE VERSION>_linux_<ARCH>.deb
  1. 安装
sudo dpkg --install headscale.deb
  1. 启动
sudo systemctl enable headscale
  1. 创建一个 namsespace
headscale namespaces create default
  1. 重启: 长时间运行,会导致延迟变高

systemctl restart headscale

Tailscale

  1. 下载安装包参考 ,更多安装包参考 

    Mac 用户额外配置一下,方便使用命令行
    > alias tailscale="/Applications/Tailscale.app/Contents/MacOS/Tailscale"

  2. 登录:tailscale login —login-server http://x.x.x.x:8080 
  3. 记得修改UserNamespacedefault

配置 Nginx 用于给 derp 加载 url 配置

docker run -d -p 8081:80 -v ~/.derp-configs:/usr/share/nginx/html --name mynginx nginx

配置 derp(可以和 HeadScale 在同一台机器上)

  1. 使用第三方封装的允许 ip 的镜像
docker run --restart always -p 12345:12345 -p 3478:3478/udp -e DERP_ADDR=:12345 --name derper -d ghcr.io/yangchuansheng/ip_derper@sha256:56541aeb1631a126588c1ca04f7a7505db2bc4878b3934150bfa5846f7c14bfa

添加 derp 到 Headscale 中

  1. ~/.derp-configs/derp.json
{ "Regions": { "901": { "RegionID": 901, "RegionCode": "ali-sh", "RegionName": "Aliyun Shanghai", "Nodes": [ { "Name": "901a", "RegionID": 901, "DERPPort": 12345, "stunport": 3478, # 服务器ip地址 "HostName": "xxxx", # 同上 "IPv4": "xxxx", "InsecureForTests": true } ] }, // 下面配置,只有配置ddns的时候,需要加 "902": { "RegionID": 902, "RegionCode": "ddns", "RegionName": "Over DDNS", "Nodes": [ { "Name": "902b", "RegionID": 902, "DERPPort": 8443, "HostName": "xxxx.tpddns.cn", "InsecureForTests": true } ] } } }
  1. 修改 HeadScale 配置文件/etc/headscale/config.yaml,添加到derp.urls中:http://xxxx/derp.json

  2. 重启 HeadScale

systemctl restart headscale
  1. 在客户端查看 derp 节点是否生效
tailscale netcheck

其他

  1. 重命名节点
headscale node rename <NODE ID> <NEW NAME>

教程参考

  1. Tailscale 基础教程:Headscale 的部署方法和使用教程 
  2. 自建 tailscale 服务接入 headscale 服务器实现异地组网 
  3. headscale 服务自建 derp 服务器,加速双端连接效率 
  4. HeadScale 文档 

遇到的问题

  1. Cannot register machine: failed to find user in register machine from auth callback, User not found

    修改 USERNAME 为 default

  2. 新版本的 derp 好像不能用,目前用的这个版本的ghcr.io/yangchuansheng/ip_derper@sha256:56541aeb1631a126588c1ca04f7a7505db2bc4878b3934150bfa5846f7c14bfa
Last updated on