语境
我的开发人员正在使用位于我们办公室的一台本地服务器。
服务器正在运行 PostgreSQL,当他们尝试对其进行查询时,它只是滞后,然后发出超时错误。
然后我开始 ping 它并尝试自己进行查询。
当 ping 运行并且服务器响应 ping 时,PostgreSQL 工作正常。
但不仅仅是 postgresql。当我在家时,一切都运行正常。
当我在办公室时,它开始出现问题并断开连接。有些人甚至无法 ping 服务器,导致服务器超时。从办公室通过 SSH 进入它很麻烦。有时它可以工作,有时则不行,因为服务器没有响应,但服务器上的一切都运行良好。
我已经检查过的解决方案:
- 服务器上的 dmesg(没有硬件错误)
- 内核日志(无错误)
- 将所有路由器恢复出厂设置并重新设置(也许路由表已关闭,但没有作用)
- 更换服务器上的以太网电缆(没有运气)
- 重新启动(没运气)
- 没有任何东西在消耗服务器的资源(剩余超过 20GB 的 RAM 可供使用,CPU 0.1%)
- 服务器上的 IP 表(一切正常,甚至尝试重置它们,但没有成功)
有人能帮我解决这个问题吗?我不知道问题可能出在哪里。
谢谢。
答案1
您的网络中可能存在重复的 MAC 地址,该地址与服务器网络接口的 MAC 地址相匹配。发生这种情况时,每次具有重复 MAC 地址的站点发送帧时,交换机都会将其重新学习到其转发表中,并将发往您服务器的流量发送到恶意站点。运行ping
可确保您的服务器频繁发送帧,从而触发对其有利的重新学习。
由于问题似乎与“您在办公室”有关,因此罪魁祸首很可能是只在工作时间开启的设备。您可以尝试将服务器的 MAC 地址更改为已知唯一的 MAC 地址,或在交换机的 FDB 中创建静态条目(仅适用于托管交换机)作为补救措施。