前言
原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正交流。
文章如有更新请访问 DFRobot 社区及 cnblogs 博客园,前者内容较全,后者排版及阅读体验更佳。
之前文章介绍过 SimplyPrint/Karmen/Octoeverywhere/Obico/Polar3d 等免费远程控制软件,但是由于多数为国外服务商,网络延迟体验不佳。相信广大网友苦起迪的远程控制服务久矣,APP 间歇性连不上小霸王服务器。所以测试了多种方案后,本文分享借助免费的 Easytier 服务实现高速简单的远程体验。
本文软硬件:
Qidi Q2 with Debian 11
一、简易版
1.1 在 Qidi Q2 上安装 EasyTier 服务
还是老规矩,一键脚本奉上:
bash <(curl -fsSL http://klipper.7130404.xyz:8000/kbox/share/Q2/3_easytier_install.sh)
本脚本实现如下功能:
- 安装 EasyTier 程序到 /opt/easytier 目录下
- 在 klipper 配置目录下创建 qidi.conf 用于在网页上编辑网络号及密码信息
- 修改 printer_data/moonraker.asvc 文件,允许在网页上管理 EasyTier 服务
使用方法:


1.2 下载使用 Windows 软件连接 Q2
这里使用的是 QtEasyTier,下载链接:https://gitee.com/viagrahuang/qt-easy-tier/releases,选择 QtEasyTier_v1.0.4_win_amd64.zip 版本下载并解压到任意目录。


1.3 电脑切片连接
至此我们可以使用 Orcaslicer/Qidi Studio等切片软件连接打印机了,和局域网使用一样。除此之外,如果想要使用手机软件进行控制,则需要在手机上也安装 Easytier 客户端来连接到虚拟局域网。

Easytier 客户端下载:

这里使用的服务器为 tcp://sh.vomiku.com:7910
1.4 手机远程控制
常用免费且推荐的包括:


- 3D-Apollo by 神经骚栋 | 支持 iOS/Andorid,支持 Klipper 和拓竹打印机

二、详细版
Easytier 官网文档:https://easytier.cn/guide/introduction.html
2.1 加密算法的选择
ET 支持如下算法:''(默认aes-gcm)、'xor'、'chacha20'、'aes-gcm'、'aes-gcm-256'、'openssl-aes128-gcm'、'openssl-aes256-gcm'、'openssl-chacha20'。我们看下如何选择
# 检查 CPU 对 aes 加速的支持
cat /proc/cpuinfo | grep -i aes
# 测试 Q2 使用常见算法的性能,不需要回车交互,自动完成
openssl speed -evp aes-128-gcm
openssl speed -evp aes-256-gcm
openssl speed -evp chacha20-poly1305
结果如下:数值单位:k bytes/s(每秒处理千字节),越大越好
| type |
16 bytes |
64 bytes |
256 bytes |
1024 bytes |
8192 bytes |
16384 bytes |
| aes-128-gcm |
35906.03k |
97079.82k |
161175.47k |
197229.93k |
209051.65k |
209967.26k |
| aes-256-gcm |
32047.96k |
82994.98k |
143013.71k |
211614.42k |
195209.60k |
168109.77k |
| chacha20-poly1305 |
21464.96k |
41987.52k |
59892.65k |
65124.00k |
66639.19k |
67004.53k |
可见在 Q2 上的 RK3308b CPU 上选择默认的 aes-gcm 即可
2.2 常见问题
- 使用默认参数安装并使用默认配置后无法启动,手动启动排查故障:
/opt/easytier/easytier-core -c /opt/easytier/config/qidi.conf
# 提示 tun error,使用sudo亦报错,赋予权限亦报错:
sudo setcap CAP_NET_ADMIN+ep /opt/easytier/easytier-core
# 查看 /opt 所在分区的挂载参数,发现输出不含 `user_xattr`/`xattr` → 文件系统禁用了扩展属性,`setcap` 无法生效。
mount | grep $(df -P /opt | tail -1 | awk '{print $1}')
# 再看 tun 设备驱动, 发现系统内无此驱动。
# FATAL: Module tun not found in directory /lib/modules/5.10.160
lsmod |grep tun
modinfo tun
# 最终是由 --no-tun 参数解决
- 手动执行如下命令,会在输出中看到对应的配置,拷贝并保存即可。
sudo easytier-core --network-name qidiremote --network-secret qidiremote123 -d --hostname q2 --disable-ipv6 --private-mode true -p tcp://sh.vomiku.com:7910 --no-listener --use-smoltcp --compression zstd --enable-quic-proxy --bind-device false --console-log-level error --no-tun
- QtEasyTier 可以看到部分公共服务器,需要对其访问速度和连通性测试,这里选择netselect
sudo apt update && sudo apt install netselect -y
cat easytier_hosts.txt | xargs sudo netselect -vv -s 5
-
Fluidd 的文件编辑器只允许编辑「真实的普通文件(regular file),软链接(symlink)、设备文件、管道、目录一律判定为不可编辑。所以最开始选择 printer_data/config 创建配置文件,软链接到 /opt 目录
-
对于软链接,文件的权限由原文件决定。
-
fluidd 显示的可管理服务由 printer_data/moonraker.asvc 决定,而 moonraker.asvc 只识别存在的服务,所以默认生成的 easytier@qidi 就不可用
-
自建节点:我是在本地 OpenWRT 软路由上搭建的 Easytier 节点,DDNS-Go 定期更新 IP,opkg 使用 opk 包,alphine (SNAPSHOT)使用 apk 包。注意选择禁用 IPv6,以及私有模式