已于7月4日 15:00 左右恢复。这是由于昨晚(7月3日)21:04 服务器重启后,/etc/rc.local 中的路由脚本没有正常执行,原因可能是网络连接出现问题。

这个脚本(freeshell-tunnel.sh)被 /etc/rc.local 调用,由三部分组成,第一部分添加 GRE tunnel,第二部分通过 HTTP API 获取 freeshell 编号范围,第三部分为 freeshell 的 IP 设置路由表。第一部分的效果正常。第三部分没有执行。第二部分理应在 nginx 中留下访问日志,但没有任何相关日志。由此可以判断是系统刚初始化时网络连接存在问题(例如无法解析域名)。从 syslog 中看到那段时间 ldap.lug.ustc.edu.cn 也无法连接,从侧面验证了这个推断。

Update: 7月5日发现仍有部分 freeshell 的端口映射没有生效,这是由于3日晚上服务器宕机重启时没有保存相关配置(iptables-save)。现已修复。为防服务器意外重启,现在修改端口映射的脚本里增加了保存 iptables-save,会慢一些,但更保险。