赞
踩
公众号关注 「奇妙的 Linux 世界」
设为「星标」,每天带你玩转 Linux !
headscale[1] 是一款今年 2021 年出现的一款 Tailscale 控制服务器的开源实现。也是唯一的一款。望能发展壮大。
Ubuntu 18.04.3(理论上正常支持 systemctl 的 Linux 发行版本都能搭建)
端口 8080
版本为 v0.11
官方的当前时间也是本文章撰写的时间。最新版本的配置文件不兼容版本号为 v0.12.1
下载二进制文件与源代码
headscale_0.11.0_linux_amd64[2]
Source code (zip)[3]
上传 headscale_0.11.0_linux_amd64 文件到/usr/local/bin
并重命名为headscale
并赋予执行权限
$ chmod 755 /usr/local/bin/headscale
登录服务器创建目录及文件
- $ mkdir /etc/headscale
- $ cd /etc/headscale
- $ touch db.sqlite
- $ touch config.yaml
- $ touch derp.yaml
注意在 0.12 版本已不需要生成密钥会自动生成,或许需要安装wireguard
我们是 0.11 版本所以需要手动生成
- $ apt-get update
- $ apt-get install wireguard
- $ wg genkey > private.key
最后目录结构如下
- root@10-255-1-181:/etc/headscale# tree
- .
- ├── config.yaml
- ├── db.sqlite
- ├── derp.yaml
- └── private.key
-
- 0 directories, 4 files
- root@10-255-1-181:/etc/headscale#
填写 config.yaml 内容,内容来源于解压的 v0.11.0.zip 压缩包 config-example.yaml 内容
填写 derp.yaml 内容内容来源于解压的 v0.11.0.zip 压缩包 derp-example.yaml 内容
撰写headscale.service
- # /etc/systemd/system/headscale.service
-
- [Unit]
- Description=headscale
- After=network.target
-
- [Service]
- WorkingDirectory=/etc/headscale
- ExecStart=/usr/local/bin/headscale serve
- # Disable debug mode
- Environment=GIN_MODE=release
-
- [Install]
- WantedBy=multi-user.target
重载service
与设置开机启动
- $ systemctl daemon-reload
- $ systemctl enable headscale
- $ systemctl start headscale
最后附上我的配置文件以供参考[4]
首先看一下帮助文件
控制端命令行下创建命名空间myfirstnamespace
可以理解用户?
$ headscale namespaces create myfirstnamespace
客户端执行:
- $ tailscale up --login-server YOUR_HEADSCALE_URL
- ##例子tailscale up --login-server http://headscale.gao4.top:8080
YOUR_HEADSCALE_URL 为服务器链接。
返回服务端命令行执行下面命令,意思是加入一个 myfirstnamespace 命名空间,YOURMACHINEKEY 为上面命令返回的密钥
$ headscale -n myfirstnamespace nodes register -k YOURMACHINEKEY
当前时间段关于 headscale 中文教程谷歌几乎搜索不到,可以参考这个英文教材:
https://leffler.tech/2021/10/22/headscale-notes/
Linux 下设置 Ipv4 与 ipv6 路由转发
- $ echo 'net.ipv4.ip_forward = 1' | tee /etc/sysctl.d/ipforwarding.conf
- $ echo 'net.ipv6.conf.all.forwarding = 1' | tee -a /etc/sysctl.d/ipforwarding.conf
- $ sysctl -p /etc/sysctl.d/ipforwarding.conf
客户端通告网段
$ tailscale up --advertise-routes=192.168.0.0/24 --login-server=https://headscale.domain.com
查看路由开启可以看到结果是关闭的:
- $ headscale routes list --namespace $NAMESPACE $NODE_NAM
- Route | Enabled
- 192.168.0.0/24 | false
开启路由
$ headscale routes enable --namespace $NAMESPACE $NODE_NAME 192.168.0.0/24
查看结果
- $ headscale routes list --namespace $NAMESPACE $NODE_NAME
- Route | Enabled
- 192.168.0.0/24 | true
其他节点查看路由结果
$ tailscale up --accept-routes --login-server=https://headscale.domain.com
How to set up or migrate Headscale[5]
Running headscale[6]
[1]
headscale: https://github.com/juanfont/headscale
[2]headscale_0.11.0_linux_amd64: https://github.com/juanfont/headscale/releases/download/v0.11.0/headscale_0.11.0_linux_amd64
[3]Source code (zip): https://github.com/juanfont/headscale/archive/refs/tags/v0.11.0.zip
[4]最后附上我的配置文件以供参考: https://gao4.top/usr/uploads/2021/12/3689285750.zip
[5]How to set up or migrate Headscale: https://blog.unixfy.net/how-to-set-up-or-migrate-headscale/
[6]Running headscale: https://github.com/juanfont/headscale/blob/main/docs/Running.md
原文链接:https://gao4.top/723.html
本文转载自:「云原生实验室」,原文:https://tinyurl.com/3mv83rrw,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。
最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。
你可能还喜欢
点击下方图片即可阅读
使用 Tailscale 快速实现远程访问局域网
点击上方图片,『美团|饿了么』外卖红包天天免费领
更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。