玄兴梦影
本文是官方《懒猫自定义入口控制器使用说明书》的 Rathole 实操补充:从公网 VPS 配置、端口放行到微服端创建入口,完整记录一次可复现的部署过程。
当客户端与微服无法直连时,可以把一台有公网 IP 的服务器设置为自定义入口,让客户端通过这台服务器访问微服。
官方说明已经介绍了路由器转发、Rathole、SSH、Mulan 等方式。本文不重复完整功能说明,只补充我在阿里云 ECS 上部署 Rathole 时遇到的几个具体问题:
9994,看不到 7736server.toml完整功能与其他接入方式请先看官方说明:懒猫自定义入口控制器使用说明书。
下面是 Rathole 路线的实操记录。
一句话:用一台有公网 IP 的 VPS作为客户端访问微服的入口。
我这边没有家庭公网,因此选择 Rathole。商店应用「自定义入口控制器」已经内置 Rathole 客户端,云上只需要安装服务端。
| 角色 | 装什么 |
|---|---|
| 公网 VPS | Rathole 服务端 |
| 懒猫微服 | 「自定义入口控制器」(内置 client) |
| 手机 / PC 客户端 | 不用单独装 Rathole |
拓扑如下:业务走 7736,控制面走 9994。

官方说明:懒猫自定义入口控制器使用说明书
99947736token 别用文档示例,自己生成:
openssl rand -hex 24
我这次使用的是 v0.4.8。自定义入口控制器里已经内置 Rathole 客户端,服务端需要与它保持同一版本。如果应用后续更新了内置版本,请以应用内的下载提示为准,不要照搬本文版本号。

这次下载的文件是:rathole-x86_64-unknown-linux-gnu.zip。
ECS 里 curl GitHub 经常卡死;就算下到了,镜像里没有 unzip 也会挂。我实际做法:
scp 把二进制拷到 /usr/local/bin/ratholechmod 755,确认 rathole --version 是 0.4.8mkdir -p /etc/rathole
/etc/rathole/server.toml:
[server]
bind_addr = "0.0.0.0:9994"
[server.services.s1]
token = "换成你自己生成的 token"
bind_addr = "0.0.0.0:7736"
chmod 600 /etc/rathole/server.toml
/etc/systemd/system/rathole.service:
[Unit]
Description=Rathole Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/rathole -s /etc/rathole/server.toml
Restart=on-failure
RestartSec=3s
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now rathole
systemctl status rathole
ss -lntp | grep 9994
日志里出现 Listening 0.0.0.0:9994 就对了。
刚启动时,ss 常常只看得到 9994。
7736 是对外口,很多情况下要等微服上的客户端连上之后才会监听。所以:
7736 暂时拒绝,别急着重装77369994,再去应用里测试VPS 上的 Rathole 服务端起来之后,打开你的懒猫微服(客户端连上那台微服),在微服桌面里安装并配置「自定义入口控制器」。这一步不在阿里云上做,是在微服里面完成。
在应用商店搜索「自定义」,找到 懒猫自定义入口控制器,安装后点打开。


点 添加,入口类型选 rathole。表单字段和前面的 server.toml 要一一对应:
| 表单项 | 填什么 | 对应服务端 |
|---|---|---|
| 自定义入口 · IP/域名 | VPS 公网 IP | 对外暴露的那台机器 |
| 自定义入口 · 端口 | 7736 | bind_addr = "0.0.0.0:7736" |
| 服务器地址 | 公网IP:9994 | [server] bind_addr 控制口 |
| Service | s1 | [server.services.s1] 这段名字 |
| Type | TCP | 与文档一致 |
| Token | 自己生成的那串 | token = "..." 必须完全一致 |
应用里下载链接也指向 v0.4.8,和前面说的同版本要求一致。

建议顺序:
成功后列表会出现类似 /ip4/<你的公网IP>/tcp/7736 的入口,状态为「正常」。

进微服「应用管理」,搜索「懒猫自定义」,找到 懒猫自定义入口控制器,把「应用自启动」设为 开启。微服重启后会自动把转发拉起来,不用每次重新启动。

应用信息也可在商店核对:
服务端体检:
rathole --version
systemctl is-active rathole
ss -lntp | grep 9994
9994、7736rathole 为 enabled + active9994这些检查全部通过后,客户端就可以使用你配置的自定义入口。实际体验取决于 VPS 的带宽、线路、延迟以及本地网络环境。
如果同一台 VPS 要给多台微服提供自定义入口,控制口可以共用,但每台微服都应该使用独立的 Service、token 和对外端口。
两台微服都使用 s1 和同一 token 时,会互相抢占控制通道;服务端日志可能反复出现 Dropping previous...。两台微服可以这样拆分:
[server]
bind_addr = "0.0.0.0:9994"
[server.services.s1]
token = "微服A自己的token"
bind_addr = "0.0.0.0:7736"
[server.services.s2]
token = "微服B自己的token"
bind_addr = "0.0.0.0:7737"
第一台填写 s1、7736 和自己的 token;第二台填写 s2、7737 和另一串 token。安全组也要同步放行新增的 7737 端口。修改服务端配置后重启 Rathole,再分别测试两条入口。
启用后,远程访问会经过自己配置的 VPS。我的实际体验明显改善,但这只是个人环境下的结果,不代表所有线路都能达到相同效果。
我这边阿里云带宽采用按使用流量计费,峰值设置为 50 Mbps。这种计费方式适合我的使用频率;选购时仍要结合自己的流量、地域和云厂商规则计算成本。

如果暂时不需要这条入口,可以在控制器中停用自定义入口;需要时再启用即可。

这篇文章不是替代官方说明,而是把 Rathole 方案中最容易卡住的几步补完整:版本匹配、双端口放行、字段对应、自启动和多微服隔离。
建议先读官方说明,再把本文当作部署与排障清单。后续应用版本或界面变化时,以官方文档和应用内提示为准。
token、IP、端口记在自己的私有备忘里,别发公开仓库。
评论
0暂无评论