headscale 部署使用

Headscale

Tailscale 的控制服务器是不开源的,而且对免费用户有诸多限制,这是人家的摇钱树,可以理解。好在目前有一款开源的实现叫 Headscale,这也是唯一的一款,希望能发展壮大。

Headscale 由欧洲航天局的 Juan Font 使用 Go 语言开发,在 BSD 许可下发布,实现了 Tailscale 控制服务器的所有主要功能,可以部署在企业内部,没有任何设备数量的限制,且所有的网络流量都由自己控制

Headscale 部署

我决定使用docker-compose进行部署

创建存储

1#!/bin/bash
2mkdir -p /opt/headscale
3mkdir -p ./config
4touch ./config/db.sqlite
5curl https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml -o ./config/config.yaml

运行 docker-compose 文件

创建 docker-compose.yaml

 1version: "3"
 2services:
 3  headscale:
 4    image: headscale/headscale:latest
 5    volumes:
 6      - ./config:/etc/headscale/
 7      - ./data:/var/lib/headscale
 8    ports:
 9      - 8080:8080
10      - 9090:9090
11      - 50443:50443
12    command: headscale serve
13    restart: unless-stopped

运行

docker-compose up -d

Headscale 使用

Linux 使用

1wget https://pkgs.tailscale.com/stable/tailscale_1.22.2_amd64.tgz

解压

1tar zxvf tailscale_1.22.2_amd64.tgz

将二进制文件复制到官方软件包默认的路径下:

1cp tailscale_1.22.2_amd64/tailscaled /usr/sbin/tailscaled
2cp tailscale_1.22.2_amd64/tailscale /usr/bin/tailscale

将 systemD service 配置文件复制到系统路径下:

1cp tailscale_1.22.2_amd64/systemd/tailscaled.service /lib/systemd/system/tailscaled.service

启动 tailscaled.service 并设置开机自启:

1systemctl enable --now tailscaled

查看服务状态:

1systemctl status tailscaled