我的基于 Debian 的服务器出了问题,不幸的是它位于一个偏远的地方。两天前,它突然宕机,完全无法访问。在有人重新启动它之后,它工作了大约一天,然后似乎又宕机了。
但这次不同:
-服务器对 ping 做出反应
-它是可扫描的,并且所有相关端口都已打开,但是:
- 未发射炮弹的炮弹立即被封堵,且未发出任何警告
-无法打开任何连接 - TCP / IP握手似乎存在一些问题:
由于这是一个小社区的私人服务器,我们没有资源支付技术人员来为我们解决问题,因此,任何关于如何在下次重启后解决问题的提示都将不胜感激……
答案1
听起来好像机器上的一些进程失控了,消耗了太多资源,导致系统其余部分无法运行。(RAM、CPU、磁盘 IO)。(或者,正如其他人指出的那样,这可能是防火墙问题。或者是介于两者之间的网络上的某些问题。)
但目前,你无法了解到底发生了什么。你需要了解。
你应该:
- 使用 syslog 设置远程日志记录
- 设置遥控器监控某种系统
而且,由于问题似乎正在迅速发生,您也可以采取一种临时方法:top
通过 ssh 远程运行并保持打开状态。观察系统下次死机时会发生什么。但最终,您还是会从远程日志记录中受益,因此不妨设置它。
答案2
如果您具有对服务器的带外访问权限,例如串行控制台或 KVM;您应该从那里登录并诊断服务器。
对我来说,这听起来要么是整个系统绞刑(但 ping 由内核在较低级别处理,这就是它仍然有效的原因)或者你有一个防火墙这会阻碍你。
答案3
看起来是防火墙的问题。1. 客户端-> 服务器 syn 2. 服务器-> 客户端 syn,ack 3. 客户端-> ack
从屏幕截图来看,您在步骤 3 中的 ACK 似乎未被服务器确认。我认为您的防火墙不允许相关连接。您需要在 iptables 中设置类似的规则。
-A 输入 -m 状态 --状态相关,已建立 -j 接受
答案4
mattdm,确实是内存堵塞了,有了您的提示,我能够足够快地诊断出有问题的脚本 - runsv 脚本与更新但不兼容的软件包相结合导致产生了数千个任务......
然而,我仍然对其效果感到惊讶 :-/