需要解析 heiyu.space 这个域名就得安装客户端,突然发现懒猫微服的客户端都是图形化界面。对于服务器环境,特别是没有图形界面的服务器,我们需要纯命令行解决方案。
随着公网 IPv4 地址即将枯竭,许多云厂商的学生机也不再提供公网 IP,这迫使开发者寻找异地组网方案。虽然 Tailscale 是一个可选方案,但作为懒猫微服用户,我更希望利用懒猫自带的组网功能实现这一需求。
在 VIP 群咨询后,获得了服务端组网工具: https://gitee.com/lazycatcloud/hclient-cli
和花生壳的 CLI 类似,但是比花生壳省心多了。(这里不再过多吐槽花生壳系列了)
安装与配置
1. 下载与初始运行
chmod +x ./hclient-cli-$arch # 首次启动需要添加可执行权限
./hclient-cli-$arch初始运行会提示: 当前为非 tun 模式,仅支持通过 http 代理访问微服或其他设备资源
然后就会提示当前为非 tun 模式,仅支持通过 http 代理访问微服或其他设备资源,也就是说现在是单项的组网,这肯定不是我的要求,然后 GPT O3 给了我一个答案。
2. 启用 TUN 模式
sudo ./hclient-cli-$arch -tun true再启动之后,就没有那个 TUN 模式的提示了。如下

3. 常用命令
然后需要使用命令添加,bname 是机器的名字,uid 和 password 是用户名和密码,这样就保证了全球唯一性质,执行完第一步的时候已有的客户端会弹出验证码,执行完第二步就会消失。

# 添加微服
curl -X POST 'http://127.0.0.1:7777/add_box?bname=%s&uid=%s&password=%s'
# 设置TFA Code(两步验证码)
curl -X POST 'http://127.0.0.1:7777/add_tfa?bname=%s&tfa=%s'
# 列举微服
curl 'http://127.0.0.1:7777/box_list'
# 删除微服
curl -X DELETE 'http://127.0.0.1:7777/del_box?bname=%s'
# 查看当前客户端信息
curl 'http://127.0.0.1:7777/client_info'在懒猫微服设备监控中可以看到加入的设备。

2. 访问验证
一开始去访问我写的面食比例计算机,发现了重定向了,才想到懒猫默认给所有的应用加了一个认证。
<a
href="https://micro.heiyu.space/sys/login?redirect=https%3A%2F%2Fflour-calc.name.heiyu.space%2F"
>Temporary Redirect</a
>.
3. 双向访问测试
商店里的 elasticsearch 放行了所有路由,这样我们在终端和 SDK 就不再需要走那个 web 的验证了,不然只能在请求头里面硬塞 cookie,但是如果是多层认证就非常的难搞。从图片中可以看到,我们从云服务器可以成功访问到家里的懒猫微服了。这个代表从云服务回到家里时没有问题的。 
4. SSH 访问测试
其实更多的时候我们的异地组网是为了能够在没有公网 IP 的情况下访问节点,查一下监控设备中的域名,然后 ssh 访问进去,发现基本没什么问题。所以就能够双向访问了,这样我们组网的目的就达到了。 
总结
通过懒猫微服的 CLI 工具,我们成功实现了:
- 无图形界面服务器的穿透接入
- 双向网络访问


