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

相关推荐
mengge.cloud7 小时前
0824LAMP项目实战:部署WordPress博客平台小白教程
android·linux·运维·服务器·学习·nginx
zone_z7 小时前
07 · 等待事件与 OWI 方法:从 OSW 到 BUG 的完整破案实录
linux·数据库·oracle·ffmpeg·bug·troubleshooting
Brilliantwxx7 小时前
【Linux】 进程(5) 僵尸进程与内存泄漏扩展
linux·运维·服务器·网络·c++
tg_xianheyun8 小时前
腾讯云国际账号注册代充值服务商怎么选?
大数据·运维·服务器·云计算·github·腾讯云·cdn加速
A-刘晨阳8 小时前
Kubernetes 共享存储:PV、PVC、StorageClass 详解及使用
运维·云原生·容器·kubernetes·共享存储
-今昭-8 小时前
Hadoop HDFS 高可用实战指南
运维·hadoop·hdfs·负载均衡
w01_02_038 小时前
虚拟机, ubuntu , samba
linux·运维·ubuntu
佳&弥8 小时前
数据库提权
服务器·数据库·安全·web安全·网络安全
云计算磊哥@8 小时前
运维开发宝典061-CICD_版本控制器git
运维·git·运维开发
渣渣盟8 小时前
Nginx 从零到上手:Windows & Linux 双环境教程
linux·windows·nginx