记一次线上服务器不能SSH登陆故障修复

因为最近一直在弄JAVA了,所以Linux的很多东西,都不怎么搞了。以至于线上出现一个问题,都搞了半天了,哎,老了!

公司的线上网络环境是这样的,前面只有一台堡垒机可以直接通过外网连接,其它的都是内网地址,不能直接连接。虽然有外网IP,但是SSH服务监听的端口是内网的,所以不能对外提供SSH服务。堡垒机上面有搭建一个OpenVPN,VPN连接上去之后,才能通过SSH连接到内网。

很奇怪的是,有一台机器就是不能通过SSH连接,其它别的机器都是正常的,所以我一直只能通过别的机器跳过去。因为这一切的环境,都不是我搭建的,公司里有运维。但是运维突然离职了,我泥玛心中也是万匹草泥玛奔腾而过啊,环境不是我搞的,我现在有的,只是有张网络结构图,而且图上有些IP还是不对应的。还有就是线上服务器的权限,仅此。哎,只能一个一个的分析。慢慢的摸索出整个架构是怎样的,运维走的太突然,我是临时顶的。整个项目上线,我都被搞的很头大,没时间搞这些细节,只到今天闲了一些,才开始对这个小细节感兴趣,为毛就单单这台机器不能SSH呢?太泥玛奇怪了。

首先连接VPN之后,ping了一下,发现ping不通这台机器。刚开始还以为是做了安全限制,把iptables和selinux全部关掉。/etc/hosts.deny里看了一下,也没看出什么东西,全部都没限制了。再ssh还是不行。

我草,我这着急脾气,真是受不了了。

然后再次通过抓包分析一下,发现抓包已经抓到了ping的请求包,就是一直不给响应。

客户端请求信息

服务端抓包结果

为毛一直没响应呢,防火墙什么的全部关掉了,所以可以排除掉是防火墙拦截的问题。然后再仔细看了一下包。

请求的地址是172.18.2.10,请求的地址是192.168.200.145. 是不是从192.168.200.145到172.18.2.10的时候,没到到达主机的路由呢。看一下路由表(因为安全问题,一些IP地址打了xxx,并且删除了一些IP)

果然是缺少路由,那么OK,我们手动加一条就好了。

客户端再来试一下,看到正常了。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code