HeadScale 是一个开源的 TailScale 服务端实现,可以实现多平台的内网穿透。

准备工作

docker-compose.yaml 文件如下:


YAML

创建目录及配置文件:


BASH

修改配置文件:


YAML

启动 Docker 容器:


BASH

WEB-UI管理工具

这类服务端一般都有一个 WEB-UI 管理工具,HeadScale 也不例外。

此处用 headscale-admin 做演示,其他的管理工具也是类似的。

使用 Docker 运行容器:


BASH

反向代理配置

在 Nginx 中配置反向代理,将 HeadScale 服务端的 8080 端口映射到 443 端口。想偷懒就直接通过面板管理工具添加一个反向代理。配置完毕记得重载 Nginx。其他WEB服务器也是类似的。


NGINX

不出意外的话,HeadScale 服务端就搭建完成了。出意外就在下边留言吧。😊

现在就可以通过 https://proxy.your-domain.com/admin 访问 HeadScale 的 WEB-UI 页面了。

PS: 直接访问 https://proxy.your-domain.com 没效果。

WEB-UI 配置

首先,生成一个新的 API 密钥,然后将其添加到页面中。


BASH

然后点击页面的保存按钮,出现左侧的菜单就算成功了。

HeadScale-Admin

TailScale 客户端配置

下载并安装 TailScale 客户端。

在 WEB-UI 这里添加用户,然后生成一个临时的key,后边要用到。

添加用户

生成PreAuthKey

然后根据你当前设备平台,选择安装不同的客户端。要修改 URL 为你的 HeadScale 服务端域名。

Linux 客户端部署

此处以 CentOS 为例(参考官方文档):


BASH

主要是后续步骤不同,这里打开 WEB-UI 页面,选择 Deploy,复制生成的命令行:

deploy

如果只需要通过内网IP进行访问,就不需要勾选 –accept-dns 了。


BASH

BASH

然后现在客户端就部署成功了,可以通过内网IP进行访问了。其他平台的部署参考官方文档,也是类似的。
例如:AndroidiOSWindows 等。

客户端提供很多功能,例如可以通过内网传输文件、远程桌面、远程调试等,另外还可以通过公网服务器反向代理访问内网服务器,用于数据处理等。


BASH

当然,如果你可能发现访问速度可能会有点慢,可以通过配置 Derp 中继服务器来解决,可以快速打洞,如果不成功也能进行兜底。

Derp 服务端部署

可参考 derper-docker,docker-compose.yaml 文件如下:


YAML

运行 Docker 容器:


BASH

然后设置反向代理,例如把你的 derp.your-domain.com 代理到 127.0.0.1:23479,https协议,此处不再赘述。

此时访问你的 https://derp.your-domain.com 页面会显示相关信息,说明部署成功了。

配置完毕后在 config.yaml 所在目录 /headscale/config 下添加 derp.yaml 文件,并修改:


YAML

修改 HeadScale 服务端的配置文件,添加 Derp 配置路径:


YAML

配置完毕后通过 docker restart 重启 HeadScale 服务端。再然后在客户端重新运行 tailscale 。


BASH

网络检查:


BASH

如果展示如下信息,说明配置成功了。

derp

现在,内网穿透就配置完成了,可以通过公网IP访问内网服务器了,速度也会提升巨大。

Enjoy it! 🎉

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。