记一次奇怪的服务器“事故”

最后编辑于: 2017-03-31

游戏名目

2017.03.30 一大早正想从实验室FTP服务器下载一些毕业照下来发现服务器无法连接本能地使用浏览器打开实验室主页发现也无法访问与此同时实验室的同学也反映无法访问服务器的情况ping 实验室主机地址持续出现 Request timeout for icmp_seq 100% 丢包错误网络中心重启了主机后仍然无法访问和实验室小伙伴配合到现在Fri Mar 31 16:34:34 CST 2017 才总算搞明白了如何回事记录如下

记录过程

  1. 2017.03.30 晨所有远程服务熄灭ping 服务器 100% 丢包判定为服务器离线
  2. 网络中心重启仍然不能访问但是重启过程中出现了短暂了连线状态有几个包通信成功但是随即又进入100%丢包
  3. 到机房可物理登录主机但 root 账户无法登录开始怀疑外部因素
  4. 登录了具有 sudo 权限的账号使用 who 查看已登录用户使用 last 查看登录记录使用 journalctl 查看 ssh 服务器守护进程日志均未发现异常
  5. ip addr, ip route 查看网络配置信息网络中心给的固定 IP 在列但是有一个 192.168 开头的地址和对应的网关出现在了配置中
  6. flush 掉所有的网络配置重新配置静态 IP 之后恢复访问2017.03.30 下午
  7. 短暂时间后服务器再次离线再次 flush 所有网络配置后服务器短暂恢复访问网络中心下班为了保险卸载了 openssh 服务以防被外部远程登入
  8. 实验室网站 Nginx 服务运行正常
  9. 网站服务器再次熄灭2017.03.30 傍晚感到有点恐慌难道真的是被攻击了
  10. 2017.03.31 晨尝试了几次更新网络配置均未修复
  11. 开始拷贝数据以防万一出现数据丢失
  12. 在拷贝数据的时候再次查看网络配置信息终于发现了端倪 ip addr 输出 ip route输出 这个 192.168.1.1 网关和 192.168.1.200 的地址本能地 ping 网关全中 所以服务器当前一定是在另外一个子网当中并且被分配了一个有效的子网 IP 地址这个地址要不是被手动指定的就是子网路由自动分配 DHCP 的打开 Arch Wiki - Network Configuration 查看所有可配置 DHCP 的方法最后定位到 dhcpcd.service 原来有一个 dhcpcd 守护进程给服务器分配了子网地址暴躁卸载掉 dhcpcd重启服务器正常上线

故事开始

所以这个故事是这样的

小半年前服务器到实验室后先在实验室装了系统为了方便我就给安装了一个 dhcpcd 来自动从实验室路由器获取IP地址

后来服务器迁移去了网络中心机房网络中心机房的管理规则是给主机分配固定IP于是到机房按照给定的固定网络配置信息配置好了服务器网络

时间过得很快服务器正常工作了小半年

2017.03.30 晨网络中心在机房交换机上接入了一台路由器然后触发了 dhcpcd 守护进程自动从路由器获取了一个子网IP地址与固定IP配置发生冲突导致服务器离线

日常甩锅

这个事情原因在于小半年前时迁移服务器到网络中心时没有删除掉在实验室配置的 DHCP 配置由于网络中心一直使用的交换机子网分配固定IP的策略没有改变所以这小半年服务器一直工作正常直到交换机子网中出现了一台可以给别的机器做DHCP的路由器

所以为什么采用固定IP策略的子网中会出现一台DHCP的路由器呢我想网络中心机房出问题的服务器大概不只我们的一台吧立个 flag 以备检验

还有那个 root 账户无法登录的问题大概是我记错了密码了也产生了很大的干扰

(全文完)

ICP18008150号-1

♥ It's Easy if You Try