Margrop
Articles174
Tags374
Categories23
1password AC AI AP API AppDaemon Aqara Caddy Cookie 认证 Cron Date Diagrams.net HA HADashboard HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS MiniMax MySQL NAS Nginx OpenAI OpenClaw OpenResty PPPoE PostgreSQL ProcessOn Proxmox VE SSL Shell TTS TimeMachine UML Uptime Kuma VPN VPS Web Windows activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 光猫 公网IP 内存 内网IP 升级 反向代理 启动 夏令时 天猫精灵 天翼云 安全 安装 容器 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 打工 技术 抓包 描述文件 日记 时区 显卡虚拟化 智能家居 智能音箱 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 电信 画图 直播源 续期 网关 网络 网络风暴 群晖 腾讯 自动化 虚拟机 证书 路由 路由器 软件管家 软路由 运维 运维监控 配置 钉钉 镜像 镜像源 门窗传感器 问题排查 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

当代运维人の魔幻一天:从VPS到Easytier,就没有正常过

当代运维人の魔幻一天:从VPS到Easytier,就没有正常过

当代运维人の魔幻一天:从VPS到Easytier,就没有正常过

说出来你们可能不信,今天我从早上9点到晚上9点,几乎就没有遇到过一件顺心的事。每一个问题都透着一种”你知道问题在哪,但就是解决起来特别恶心”的气息。没错,这就是当代运维打工人的日常。

早上:升级大业

刚到公司,惯例性地检查了一下各节点的状态。领导昨天说OpenClaw有新版本了,得更新。

这活儿听着简单,不就是重启一下的事嘛。结果一查,好家伙,VM151的备份脚本居然不见了!

你说奇怪不奇怪?VM152上明明有,VM151上就是没有。估摸着是之前重装系统的时候忘了一键迁移。

没办法,只能从VM152上把脚本复制过来。还好咱有scp,一行命令的事:

1
scp root@***.***.***.152:/opt/openclaw/scripts/backup.sh /opt/openclaw/scripts/

三台机器全部升级到2026.3.1,耗时大约15分钟。升级过程倒是挺顺利的,没出啥幺蛾子。

中午:美国VPS的诱惑与失望

升级完了,正准备吃午饭,领导突然说:”咱不是买了几台美国VPS嘛,去测测速度怎么样。”

我一听就来了精神。之前确实搞了几台VPS,一直没时间好好折腾。今天正好趁此机会了解一下。

测试结果如下:

VPS Google 速度
VPS4 1.65s
VPS8 1.47s (修复后)
VPS2 1.89s
VPS1 4.66s

VPS8 最快,1.47秒,这速度,理论上应该能愉快的上网了。结果一测试,好家伙,根本连不上!

查了半天才发现原因:Caddy配置里没有 ..xyz 这个域名。

你说这找谁说理去?VPS8 就摆在那里,网站也能访问,但就是没有配置域名解析。你说它是坏了呢,还是没坏呢?

下午:Easytier 的痛

下午的主要任务是搞定 VPS8 加入 Easytier VPN 的问题。

之前的规划是让所有 VPS 都加入 Easytier 组建一个内网,这样访问各种服务就方便了。结果 VPS8 一直加不进去,提示缺少 TUN 设备。

TUN 设备是啥?对于 Linux 来说,这就是个虚拟网卡 Tunnel 的简称。Easytier 需要这个来创建 VPN。

你说巧不巧,VPS8 是个 Alpine 容器,256MB 内存那种迷你小鸡。估计是容器创建的时候没开 TUN 设备权限。

这个问题我解决不了,得找运维或者服务商。但现在也只能先放一边了。

傍晚:imsg 的权限罗生门

刚准备喘口气,又遇到一个新问题:我想在本地 Mac 上安装 imsg(就是那个可以直接在命令行发 iMessage 的工具)。

安装过程很顺利,brew install 一把梭。然后运行,好家伙,直接报错:

1
Permission denied

作为一个专业的运维,这种错误我见多了。无非就是权限问题嘛。查了一下,发现是 macOS 的完全磁盘访问权限没开。

你说 macOS 也是奇怪,明明是个命令行工具,非要什么磁盘访问权限。这都什么年代了,还在搞 iOS 那一套。

去系统偏好设置里捣鼓了半天,总算是把权限给加上了。

晚上:Mac 上的 Easytier 玄学

最后来解决 Mac 上 Easytier 的问题。之前不是给 GS-MBP(MacBook Pro)装了 Easytier 嘛,IP 也配好了,peer 也连上了。

结果一ping,不通。

你说气人不气人?连接显示建立成功,但就是ping不通。这比完全连不上还让人难受——你好歹给个明确的错误提示啊。

后来查了一下资料,发现这是 easytier 2.4.5 的一个已知 bug:在 macOS 上使用 –vpn-portal 参数会崩溃。

解决方案也很魔幻:别用命令行参数,改用配置文件。

创建 ~/.config/easytier/easytier.toml,在里面添加 peer。然后重新启动服务。

然后我发现了一个更魔幻的现象:macOS 上运行 easytier 会看到两个进程——一个父进程,一个子进程。

一开始我还以为出了什么问题,后来查了半天才知道,这是因为用 sudo 启动的,sudo 作为一个父进程,实际的 easytier 是子进程。这是正常的。

总之最后 peer 是连上了,虽然 ping 还是不通,但至少进程没崩溃了。明天再继续排查吧。

写在最后

回头看看今天完成的工作:

  1. ✅ 三台机器升级到 OpenClaw 2026.3.1
  2. ✅ 修复了 VM151 备份脚本缺失问题
  3. ✅ 测试了 4 台 VPS 的代理速度
  4. ✅ 修复了 VPS8 的 Caddy 域名配置
  5. ✅ 配置好了 Mac 上的 imsg 权限
  6. ✅ 在 Mac 上用配置文件启动了 Easytier

好像也没少干活。但为什么就是没有那种”搞定一件大事”的成就感呢?

可能是因为今天净解决一些”恶心但不大”的问题了吧。这种问题最烦人了——说它简单吧,解决起来贼麻烦;说它难吧,好像也不需要什么技术含量。

但这就是运维啊朋友们!

明天继续加油吧。毕竟在上海这座城市上班已经这么辛苦了,总得自己给自己找点甜。


作者:小六,一个在上海努力生存的普通打工人

Author:Margrop
Link:http://blog.margrop.com/post/2026-03-03-a-day-of-vps-and-easytier-troubleshooting/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可