群晖新套件:HeadScale 开源的Tailscale服务器端

2024年4月28日 08:54:35

套件截图

https://i.imnks.com/2022/11/989809734.png!I

参数设置UI界面

https://i.imnks.com/2022/11/1877059077.png!I

使用教程 2023.2.27更新

1、套件默认的配置文件目录说明

headscale需要的配置文件已建好了,后续套件升级过程会自动备份还原

主配置文件 config.yaml 位于 /var/packages/headscale/target/bin/

db.sqlite private.key 位于 /var/packages/headscale/target/config/

2、HeadScale安装的宿主机要求

有公网IP,如是动态公网IP还需要有DDNS解析。

需要公网IP端口映射的端口:8181,也就是参数中的:listen_addr 8181,可以自行修改按实配置

重点重点重点!!!:端口映射OK后,例如参数 8181 对外映射为 18181,那么HeadScale参数配置中:server_url: http://0.0.0.0:8181 需要修改为 http://你的公网IP或者域名:18181。参数中的其它0.0.0.0不要修改,只需要改:server_url!!!(旧版本升级后如果如果无法访问,修改其它参数中 127.0.0.1 为 0.0.0.0)

https://i.imnks.com/2023/02/1375760695.png!I

如有域名需ssl连接,请自行修改参数中域名证书的位置,建议放到套件config目录里:

## Use already defined certificates:
tls_cert_path: "/volume1/public/archive/cert.pem"
tls_key_path: "/volume1/public/archive/privkey.pem"

或者使用HeadScale配置中的Let's encrypt自动申请证书:域名提前自行解析到公网IP

# Email to register with ACME provider
acme_email: ""
# Domain name to request a TLS certificate for:
tls_letsencrypt_hostname: ""

3、创建分组空间 namespace

举例分组名称 imnks,ssh连接宿主群晖执行:

cd /var/packages/headscale/target/bin
headscale namespaces create imnks
#查看已建的空间
headscale namespaces list

https://i.imnks.com/2022/11/170941698.png!I

4、Tailscale客户端连接到HeadScale

群晖安装Tailscale套件后无需登录,ssh连接客户端群晖执行:

http://你的公网IP或者域名:8181,这个按照实际端口映射情况修改,比如内网8181映射为18181,对外就是18181

cd /var/packages/Tailscale/target/bin
tailscale up --login-server=http://你的公网IP或者域名:8181 --accept-dns=false

https://i.imnks.com/2022/11/3922305128.png!I

复制上面执行后得到的网址,修改127.0.0.1为服务端的公网IP或者域名及对外映射端口,在任意的浏览器打开访问

https://i.imnks.com/2023/02/2076759424.png!I

复制上面的代码,修改 USERNAME 为你的 分组空间名称,ssh连接宿主群晖执行:

cd /var/packages/headscale/target/bin
headscale nodes register --user USERNAME --key nodekey:123xxx
#查看已注册的设备
headscale nodes list

https://i.imnks.com/2022/11/3175132911.png!I

PS说明:群晖端如需恢复到连接Tailscale官方:卸载套件,SSH连接群晖执行下面代码,之后重新安装套件即可。

#DSM7 (volume1指套件安装存储空间,自行核对)
sudo rm -rf /volume1/@appdata/Tailscale
#DSM6
sudo rm -rf /usr/syno/etc/packages/Tailscale

5、Windows客户端连接到HeadScale

Windows客户端所在的电脑访问:http://你的公网IP或者域名:8181/windows

https://i.imnks.com/2023/02/2489961957.png!I

点击 Windows registry file 下载注册表:http://你的公网IP或者域名:8881/windows/tailscale.reg

修改127.0.0.1为服务端的公网IP或者域名,双击运行reg文件,按照提示操作导入Windows系统

https://i.imnks.com/2022/11/2900142939.png!I

安装和运行官方版本的Tailscale客户端,并点击图标打开网页

https://i.imnks.com/2023/02/2076759424.png!I

类似获取到到加入秘钥,在HeadScale服务器上ssh连接执行:修改 USERNAME 为你的 分组空间名称

cd /var/packages/headscale/target/bin
headscale nodes register --user USERNAME --key nodekey:123xxx
#查看已注册的设备
headscale nodes list

https://i.imnks.com/2022/11/536598492.png!I

PS说明:Win端如需恢复到连接Tailscale官方:卸载软件,删除C:/Users/用户名/AppData/Local/Tailscale,重新安装软件即可。

6、linux、mac客户端加入教程

请查看 参考文章,不再一一叙述

7、关于打通多个局域网互访

参考:http://junyao.tech/posts/a5fad85a.html

如果其它节点设备没法访问群晖IP,在安装了Tailscale的群晖执行:

#启用TUN
/var/packages/Tailscale/target/bin/tailscale configure-host
synosystemctl restart pkgctl-Tailscale.service

效果测试

电脑端访问HeadScale给群晖分配的IP http://100.64.0.1:5000/

https://i.imnks.com/2022/11/2806179621.png!I

参考文章

http://junyao.tech/posts/e8e7dd51.html

https://icloudnative.io/posts/how-to-set-up-or-migrate-headscale/

https://lxnchan.cn/headscale.html

 
You can find me on