Headscale
Tailscale 的控制服务器是不开源的,而且对免费用户有诸多限制,这是人家的摇钱树,可以理解。好在目前有一款开源的实现叫 Headscale,这也是唯一的一款,希望能发展壮大。
Headscale 由欧洲航天局的 Juan Font 使用 Go 语言开发,在 BSD 许可下发布,实现了 Tailscale 控制服务器的所有主要功能,可以部署在企业内部,没有任何设备数量的限制,且所有的网络流量都由自己控制。
Headscale 部署
我决定使用docker-compose进行部署
创建存储
1
2
3
4
5
  | 
#!/bin/bash
mkdir -p /opt/headscale
mkdir -p ./config
touch ./config/db.sqlite
curl https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml -o ./config/config.yaml
  | 
 
运行 docker-compose 文件
创建 docker-compose.yaml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  | 
version: "3"
services:
  headscale:
    image: headscale/headscale:latest
    volumes:
      - ./config:/etc/headscale/
      - ./data:/var/lib/headscale
    ports:
      - 8080:8080
      - 9090:9090
      - 50443:50443
    command: headscale serve
    restart: unless-stopped
  | 
 
运行
docker-compose up -d
Headscale 使用
Linux 使用
1
  | 
wget https://pkgs.tailscale.com/stable/tailscale_1.22.2_amd64.tgz
  | 
 
解压
1
  | 
tar zxvf tailscale_1.22.2_amd64.tgz
  | 
 
将二进制文件复制到官方软件包默认的路径下:
1
2
  | 
cp tailscale_1.22.2_amd64/tailscaled /usr/sbin/tailscaled
cp tailscale_1.22.2_amd64/tailscale /usr/bin/tailscale
  | 
 
将 systemD service 配置文件复制到系统路径下:
1
  | 
cp tailscale_1.22.2_amd64/systemd/tailscaled.service /lib/systemd/system/tailscaled.service
  | 
 
启动 tailscaled.service 并设置开机自启:
1
  | 
systemctl enable --now tailscaled
  | 
 
查看服务状态:
1
  | 
systemctl status tailscaled
  |