我一直在排查用户无法从特定主机连接到 CentOS 7 服务器的问题。我最终确定系统认为请求主机不可访问,因此无法发送任何响应。
运行结果ip route show
表明,除了几个预期的路由规则外,还有大量看似任意的主机被标记为无法访问。
$ ip route show
default via XXX.XXX.XX.X dev ens192 proto static metric 100
unreachable 24.28.137.193
unreachable 31.220.0.186
unreachable 31.220.2.132
unreachable 31.220.3.148
unreachable 31.220.40.163
unreachable 31.220.40.236
unreachable 31.220.40.237
...
果然,用户的主机被包括在内,所以我删除了该规则。这解决了问题。
不过,我一开始并不知道主机是如何出现在路由表中的。我猜想这些主机已被某些系统软件标记为可能试图入侵。
什么软件可能创建了这些路由规则?或者我如何才能找到答案?我想确保用户的主机不会再次被自动阻止。
答案1
- 如果你有任何 VPN 连接,这些路由可能会从中注入
- 通常通过 /etc/netplan/* 文件或 /etc/network/interfaces 文件添加静态路由
- 如果查看这些路由通过哪个接口传出,就可以得到一些线索
答案2
我确定原因在于 fail2ban,它由我们的托管服务提供商安装在系统上,但后来他们就忘记了它……