XATUSEC服务器维护指南

版本

20250419

本文可能不是最新,且仅作为备份出现。如有更新的版本,请按那个版本为准。

写在前面

本指南实际写于2024年11月20日,为确保触及更多学弟而公开。

本指南用于填补运维断代造成的运维空缺,并为后人提供维护思路。

4月18日,服务器出现了严重问题,4月19日为该特殊状况更新指南。

服务器概况

本服务器使用Xeon E5(二代),拥有80GB内存。其上运行Debian Testing,为确保效率未安装任意桌面环境。

该服务器仅对校园网内网用户提供服务。如需要对外提供服务,请向机房老师、学校信息中心报备。

本服务器拥有一个实际上已不可用的域名: ctf.xatu.edu.cn 。如需使用该域名,请联系信息中心或机房老师更改DNS解析。

联网

初始化

通常,您使用该条目的原因是学长毕业了,学校查无此人,通不过验证,无法联网。

服务器连接的网线连通校园网,校园网(和常规校园网一样)需要验证。但是不同的是,校园网使用PPPoE进行拨号上网操作。您可以通过克隆MAC的方式实现连通外网,但是该校园网还可使用拨号的方式。

在该服务器上命令是这样的:(需预先安装ppp,该服务器应当已经安装)

nmcli connection add type pppoe username 你的上网账号/学号 password 你的账号密码

你的账号密码为新系统显示的登录方法。该校园网验证可能还在使用旧系统,但是账号密码体系是互通的,也就是说,旧系统的登录方案不适用于新系统。(密码旧系统默认为xatu+后四位学号,新系统默认为身份证号后六位)

可能会显示pppoe-x,x为其它数字,假设为pppoe-1

nmcli connection up pppoe-1

此时即可连接校园网。但是,ctf.xatu.edu.cn解析仍为旧IP,这个该文档撰写者无思路修改,可能需要联系信息中心。

nmcli connection delete pppoe-y # 删除旧pppoe连接,如可能有的其他学长的账号

获取pppoe连接的IP地址的方法:

ip addr | grep ppp #获取所有连接的IP地址,并通过管道送给grep筛选出PPPoE连接使用的IP

当然,如果你需要断开连接,请:

nmcli connection down pppoe-1

关于为什么非要使用nmcli:

虽然服务器环境不应该使用它,但是服务器无法获取固定IP,需要NetworkManager辅助。如未来无使用NetworkManager的必要,请尽量换掉它。本指南提到它的原因是这是我们现在使用的解决方案,不代表它是最优选。

重启后联网

您的配置仍然保存。

重启之后需重新启动PPPoE连接并记下IP,不要作死在未获取IP的情况下离开机房更不要未经允许使用老师的账户登录PPPoE,除非你手里有钥匙。

以下为需使用的命令。

nmcli connection up pppoe-1
ip addr | grep ppp #获取所有连接的IP地址,并通过管道送给grep筛选出PPPoE连接使用的IP

如果很不幸你遇到了学长毕业的状况,请按初始化网络的步骤重新走一遍。

启动CTF环境

目前在使用的环境现为GZ::CTF。

GZ::CTF

GZ::CTF使用docker环境。

GZ::CTF的docker compose文件使用两个,请不要修改compose文件,而是选择修改配置文件。配置文件中IP会影响平台显示的IP,请将其设置为与主机IP相同

docker启动及停止的命令:

docker-compose up -d # "-d"指的是以daemon方式运行,这允许你令其默默在后台运行,而非占用一个控制台(tty)
docker-compose down

CTFd(已经弃用)

自2023年后,我们的默认CTF环境已经改变为GZ::CTF。目前我们手里没有任何相关部署文档,未来也可能不再维护该条目。

CTFd可以使用传统方案部署,也可使用Docker进行部署,同时也允许使用Docker Compose部署。

使用Docker Compose的部署方法如上。

严重问题排错指南

本条目为应对4月18日严重问题而生。

PPPoE无法联网

首先考虑拔下网线,插你的电脑上看看是否可以联网。如果不可以,请找到网线上游的傻瓜交换机(不要试图拔掉其它线缆),以下的灯会亮:

  • 联通服务器的灯
  • 连接服务器出口的灯

前者不亮:请更换网线!

后者不亮:首先考虑更换网线,第二考虑迁移环境。

Plan B方案

如果你已经发现服务器出口不联通的状况,恭喜你,你需要迁移了。

迁移所需服务器配置:

  • 公网IP(建议IPv4)
  • KVM/物理机型

迁移分以下几步:

环境迁移/打包环境后迁移

请自备可写存储设备!服务器后方存在USB 3 Type-A接口,存储设备可插于后方,服务器会自动识别该设备。

插入存储设备后,请挂载它,并在复制文件后等待至少一分钟,并卸载它,拔出存储设备。

sudo fdisk -l #查看现有的存储设备
sudo mount /dev/sdz9 /mnt # 假设该存储设备为/dev/sdz9,将其挂载到/mnt这个目录
tar -czf gzctf-backup-yyyymmdd.tar.gz ./gzctf #c为创建,z为使用gunzip压缩,f为使用归档;后gzctf-*-tar.gz为文件名称,后“./*”为要归档的目录;出现无法读取的情况请sudo
cp gzctf-* ./mnt #复制刚刚创建的文件至存储设备的目录
umount /mnt #取消挂载存储设备

迁移到新地方时,按同样流程操作即可,除了tar:

tar -xf gzctf-*.tar.gz /your/desired/destination #x为解压缩,f意义如上,后gzctf-*.tar.gz为待解压的归档文件,后目录为待解压到的目标目录

提示

服务器系统维护

服务器更新与重启

目前需要注意的是,接手服务器后可能会发现软件包过老,你需要自己先在获得机房访问权后跑一遍更新,以确保之后使用不会造成系统爆炸。

至于为什么需要获取机房访问权,更新后可能会导致SSH连接失效,需要手动重启重启之后需重新启动PPPoE连接并记下IP,不要作死在未获取IP的情况下离开机房更不要未经允许使用老师的账户登录PPPoE,除非你手里有钥匙。

不要配置unattended-upgrades里的自动重启功能,原因如上。

更新命令为:

sudo apt update # 目前已经配置cron-apt,该指令目前没有必要使用,虽然我个人仍然强烈建议你更新前跑一下
sudo apt full-upgrade

同时,若需要更简化些的包管理器,可以试试oma(AOSC OS默认使用的包管理器前端)。需要注意的是,本服务器未安装oma,若需安装,请按照AOSC安同开源社区提供的指引安装。

管理员指令

关于ifconfig等管理员指令,它们处在/sbin下,这些工具并不在path里。如需使用,请加上sudo。

替代的更好用但兼容性烂的shell

如果对指令记忆实在困难,你可以从默认的bash切换到fish:

fish

但是fish不兼容bash语法,也就是说,通配符等众所周知的东西可能会在fish下报告语法错误,这一点需要注意。这也是我们未将默认shell更改为fish的原因。

服务器机房使用

意外关闭机架门

按下锁孔即可重新弹出把手。

控制终端收回于机架

不建议大力出奇迹,必要时刻请向机房老师寻求帮助。

首先合上屏幕,然后向里推。推不动后左侧有显眼的白色活动部分塑料件,向内拉动它,并继续将整个终端向里推。按下屏幕上方的把手向里推以做好固定。


发布于

修改于

,即

(未显示说明未经修改)

分类:

标签:

评论

《 “XATUSEC服务器维护指南” 》 有 3 条评论

  1. ormisia 的头像
    ormisia

    所以说这个怎么去部署题目,大二学长不让我们来自己部署,要他来部署,我们出了没法部署

    1. TuskedEvening0 的头像

      CTFd的话,如下教程(全英文): https://ctfd.io/challenge-deployment/ 需要注意的是,我们已经弃用了CTFd。

回复 ormisia 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注


许可协议

更多文章

XATUSEC服务器维护指南2025年4月14日TuskedEvening0
记西安早点的匮乏与秦人的破防记西安早点的匮乏与秦人的破防2025年3月25日TuskedEvening0