Ubuntu 22.04.4 LTS
x86_64
IPv4 NAT 开放10个端口
IPv6 公网
本文撰写时所使用版本如下:
1、 需于Github仓库的Release页面下载二进制文件
手动选择:https://github.com/juanfont/headscale/releases/
代码为linux_amd64的:
wget https://github.com/juanfont/headscale/releases/download/v0.23.0-alpha9/headscale_0.23.0-alpha9_linux_amd64
2、 将其移动到/usr/local/bin/ 目录下,并命名为headscalecp headscale_0.23.0-alpha9_linux_amd64 /usr/local/bin/headscale
3、 更改权限 +xchmod +x /usr/local/bin/headscale
4、 创建配置目录、数据与证书目录、SQLite数据库mkdir -p /etc/headscale
mkdir -p /var/lib/headscale
touch /var/lib/headscale/db.sqlite
5、 拉取 Headscale 配置文件:wget https://github.com/juanfont/headscale/raw/main/config-example.yaml
6、 使用nano修改配置文件
需要修改的内容:
注意:以上步骤配置IPv6,在Headscale v0.23.0-alpha9及以前版本会报错(新版本未知)
nameservers:
- 223.5.5.5
在本文环境中,上述步骤中使用的是端口映射出的IP及端口
在Headscale v0.23.0-alpha5之后的版本中,ip_prefixes已弃用,改为了prefixes.v4及prefixes.v6。 在第四步拉取的配置文件中已有默认开启v4与v6双栈,无需更改此项
ctrl+x退出 y保存 回车确定文件名...
7、 将配置文件置于目录中cp config-example.yaml /etc/headscale/config.yaml
8、 使用nano创建自启文件nano /etc/systemd/system/headscale.service
内容如下:
[Unit]
Description=headscale controller
After=syslog.target
After=network.target[Service]
Type=simple
User=headscale
Group=headscale
ExecStart=/usr/local/bin/headscale serve
Restart=always
RestartSec=5NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=yes
ReadWritePaths=/var/lib/headscale /var/run/headscale
AmbientCapabilities=CAP_NET_BIND_SERVICE
RuntimeDirectory=headscale[Install]
WantedBy=multi-user.target
ctrl+x退出 y保存 回车确定文件名...
9、系统中创建Headscale用户:useradd headscale -d /home/headscale -m
10、修改 /var/lib/headscale 目录所有者:chown -R headscale:headscale /var/lib/headscale
11、重载systemdsystemctl daemon-reload
12、后台启动Headscale及设置自启systemctl enable --now headscale
13、查看运行状态systemctl status headscale
14、查看占用端口ss -tulnp|grep headscale
或lsof -i -P -n | grep LISTEN
15、删除下载的文件rm headscale_0.23.0-alpha9_linux_amd64
config-example.yaml
headscale user create <default>
headscale user list
1、 移步官网下载二进制文件
https://pkgs.tailscale.com/stable/#static
Linux查看系统架构:arch
2、 解压 (记得改压缩文件名)tar zxvf tailscale_1.64.0_amd64.tgz
3、 复制文件cp tailscale_1.64.0_amd64/tailscaled /usr/sbin/tailscaled
cp tailscale_1.64.0_amd64/tailscale /usr/bin/tailscale
cp tailscale_1.64.0_amd64/systemd/tailscaled.service /lib/systemd/system/tailscaled.service
cp tailscale_1.64.0_amd64/systemd/tailscaled.defaults /etc/default/tailscaled
4、 后台启动及设置自启systemctl enable --now tailscaled
5、 查看状态systemctl status tailscaled
6、 接入Headscaletailscale up --login-server=http://<Headscale公网IPv4或域名>:<Headscale listen_addr端口> --accept-routes=true --accept-dns=false
运行此命令后,会显示一个链接,打开它并复制其中内容,修改其中USERNAME改为之前设定的用户名。在Headscale服务器中运行此修改后的命令。
7、 在Headscale中验证已注册节点headscale nodes list
更多系统接入方法见参考内容。
Tailscale 基础教程:Headscale 的部署方法和使用教程 by 米开朗基杨
headscale 部署 by mysgk 博客园
分享纯IP搭建Tailscale开源版本Headscale,配合headscale-ui使用 by 宇文辰风