Skip to content

Headscale 组网搭建

约 334 字大约 1 分钟

2024-10-26

部署 Headscale

1.创建docker-compose.yaml

version: '3'

services:
  headscale:
    container_name: headscale
    # image: headscale/headscale:latest
    image: headscale/headscale:v0.23.0
    restart: unless-stopped

    volumes:
      - ./config:/etc/headscale
      - ./data:/var/lib/headscale
    entrypoint: headscale serve
    networks:
      headscale-network:


networks:
  headscale-network:
    external: true

2.创建网络和config、data文件夹

sudo docker network create headscale-network # 创建网络
sudo mkdir config data

3.创建配置文件(config/config.yaml)

config-example.yaml文件下载 变更 config.yaml 的部分配置(其他都不变)

# 修改成自己的域名
server_url: https://hijh.top

ip_prefixes:
  - 100.64.0.0/10
  - fd7a:115c:a1e0::/48

listen_addr: 0.0.0.0:8080
# listen_addr: 127.0.0.1:8080

4.启动 headscale 服务

sudo docker-compose up -d

5.利用代理工具将域名或者ip代理到http://127.0.0.1:8080

可以访问http://ip/apple 即配置成功

目录结构

  • config
    • config.yaml
  • data
  • docker-compose.yaml

Headscale 管理节点

添加节点

1.创建用户

sudo docker exec headscale headscale users ls
sudo docker exec headscale headscale users create username

2.创建用户 preauthkey

sudo docker exec headscale headscale preauthkeys create --user username

3.添加节点

sudo tailscale up --authkey=021176f6b5012f41d9ef6b0e546d40a60e74a637e2eddcfe --accept-dns=false --login-server=http://ip

常用命令

查看当前 headscale 管理的节点
docker exec headscale headscale machines list

Tailscale常用命令

# 申请加入服务端,并且将本地网络加入路由
tailscale up --login-server=https://ip --advertise-routes=10.0.0.0/24 --accept-dns=false --accept-routes

# 申请加入服务端(单机)
tailscale up --login-server=https://ip  --accept-dns=false --accept-routes