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
|