狗血一桶:内网 ssh 服务器无法远程问题的解决
公司内网有一些 Linux 的服务器,某天有需求需要远程进行访问,于是给它开放 ssh 端口。很简单,到防火墙下 Nat 一下就行了。我们用的是 H3C 的 F1060 ,操作如下:
# 111.111.111.111:22022 是公网 ip 和端口号 ,192.168.1.1:22 是内网 ip 和端口号 nat server protocol tcp global 111.111.111.111 22022 inside 192.168.1.1 22
然后去外网用公网 ip 和端口测试,结果怎么也没办法连上去,显示:
Network error: Software caused connection abort
。以为是线路问题,另外换了一条线,还是一样。
仔细检查内网 ssh 服务器的配置,没有问题,没有绑定 ip ,在内网也可以正常使用 ssh 连接。又检查防火墙的问题,看上去也一切正常。换了一个又一个端口,仍然不行。
焦头烂额ing……
甚至以为是线路的问题,找到 isp 的技术过来检查,找了又找,也没找到问题。然后又向 H3C 报故障,邮件和电话来来往往 N 个,配合做了一个又一个测试,仍然没有找到问题的原因。我要放弃了……
然后有一天,一个同事过来说想要 nat 一个内网的 ssh 出去,我说 nat 这个有问题呀,老不成功的。但抱着试试的态度,我还是当着他的面 nat 了一次。结果大出意料:WTF!!! 居然成功了!擦~
以为是 ssh 配置的问题呢,把这台服务器的 ssh 配置原封不动的复制过来,然后重启服务,还是不行。晕,这是几个意思呀?
然后冷静下来,想了想,这两个内网服务器的网段不一样,会不会跟这个有关?然后再一想,会不会跟我们的上网行为管理有关?然后去深信服上面查了下日志,我去~果然,当初特地为服务器段 ip 设置了一些安全网络策略,远程访问中的 ssh 赫然在列。
果然是一桶其鲜无比的狗血……
后面的事情就简单了,移除这个策略,就万事 OK 了。终于解决了……
哎,怎么给 H3C 的客户复邮件呢?