headscale安装与使用(linux)

1、安装

下载二进制文件

https://github.com/juanfont/headscale/releases/download/v0.28.0/headscale_0.28.0_linux_amd64

下载上传至服务器安装

bash 复制代码
sudo mv /tmp/headscale_0.28.0_linux_amd64 /usr/local/bin/headscale
sudo chmod +x /usr/local/bin/headscale
headscale version

2、配置

写配置文件

bash 复制代码
sudo nano /etc/headscale/config.yaml


server_url: 你的公网ip:8889
listen_addr: 0.0.0.0:8889
grpc_listen_addr: 0.0.0.0:41641

database:
  type: sqlite3
  sqlite:
    path: /var/lib/headscale/db.sqlite

prefixes:
  v4: 100.64.0.0/10
  v6: fd7a:115c:a1e0::/48

noise:
  private_key_path: /var/lib/headscale/private.key

tls:
  letsencrypt:
    enabled: false

dns:
  override_local_dns: false
  magic_dns: true
  base_domain: headscale.net

log:
  level: info

derp:
  server:
    enabled: true
    region_id: 999
    region_code: "headscale"
    region_name: "Headscale Embedded DERP"
    stun_listen_addr: "0.0.0.0:3478"
    private_key_path: /var/lib/headscale/derp_server.key
  urls: []
  auto_update_enabled: false

配置文件测试

bash 复制代码
sudo headscale configtest
或者
sudo headscale configtest -c /etc/headscale/config.yaml

检查防火墙状态放行相应端口

bash 复制代码
sudo ufw allow 8080/tcp
sudo ufw allow 3478/udp
sudo ufw allow 41641/udp
sudo ufw reload
  1. 写 systemd 服务文件

创建 /etc/systemd/system/headscale.service

bash 复制代码
sudo nano /etc/systemd/system/headscale.service

内容(如果 which headscale 显示的路径不是 /usr/local/bin/headscale,这里要改):

bash 复制代码
[Unit]
Description=Headscale coordination server
After=network.target

[Service]
User=headscale
Group=nogroup
ExecStart=/usr/local/bin/headscale serve -c /etc/headscale/config.yaml
WorkingDirectory=/var/lib/headscale
Restart=on-failure
RestartSec=5s

# 限制权限(可选,安全一点)
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

重新加载并启动服务

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable --now headscale
sudo systemctl status headscale

启动成功

3、失败踩坑

1、文件权限不对会导致失败

2、配置格式不对,配置参数不同版本可能有区别

3、报错可以通过下面命令检查

bash 复制代码
sudo journalctl -u headscale --no-pager -n 50

4、使用

下载tailscale客户端

https://tailscale.com/download/windows

安装后在客户端输入命令

复制代码
tailscale up --login-server=http://ip:8889

成功后会返回

在浏览器打开返回的地址

复制命令到客户端执行

服务端执行

1、先创建用户

复制代码
sudo headscale users create ccc

2、给用户授权

复制代码
sudo headscale nodes register --key NWVSGZZ3qpXYrblx41x_xBLx --user ccc

在客户端查看链接状态

tailscale status

相关推荐
小侯不躺平.1 分钟前
C++ Boost库【2】 --stringalgo字符串算法
linux·c++·算法
jingleli217 分钟前
ssh配置内置sftp并使用密钥对登录
运维·ssh
盘古信息IMS18 分钟前
盘古信息 MES:赋能电子制造精益生产,实现排程、物料、质量一体化精准管控
大数据·运维·制造
夏乌_Wx19 分钟前
计算机网络实践项目 | 云相册(文件互传与管理系统)
linux·计算机网络
用户8055336980320 分钟前
嵌入式Linux驱动开发——设备树语法与编译工具——读懂这张"藏宝图"
linux·嵌入式
2501_9127840823 分钟前
技术深度解析:Taocarts 跨境独立站系统 —— 反向海淘全链路架构设计与自动化实现
运维·自动化·独立站·taocarts
scan72434 分钟前
pydantic格式输出
服务器·前端·javascript
原来是猿42 分钟前
网络计算器:理解序列化与反序列化(下)
linux·开发语言·网络·网络协议·json·php
木木_王1 小时前
嵌入式学习 | STM32裸板驱动开发(Day01)入门学习笔记(超详细完整版|点灯实验 + 库函数代码 + 原理全解)
linux·驱动开发·笔记·stm32·学习