我们搬了办公室,并在新地方建立了 LAN/WAN 基础设施。
当我启动与我的服务器(在云端,而不是 LAN)的 SSH 连接时,短间隔内(例如 5 秒内 4 次调用)的前 3 或 4 个请求工作正常,其他连接处于 SYN_SENT 状态。之后的请求都处于 SYN_SENT 状态,直到出现超时。之后它会再次工作几次。
服务器没有发生任何变化,不同的本地客户端的行为方式也不同。所以我猜差异在于 IT 基础设施,而不是两个端点。
此行为可能有哪些解释?我应该在哪里寻找解决方案?
我们使用了 Zyxel ZyWall 防火墙,必须重置它 - 它是否有一些过滤器可以解释这种行为?
答案1
服务器上的 iptables 规则有一个“反 ssh 暴力破解”规则链,该规则链使用“最近”模块在 1 分钟内尝试 4 次后断开连接。此规则在链中有一个例外INPUT
,允许来自我们的 Face IP 的所有 ssh。随着我们的移动,Face IP 发生了变化,规则必须进行调整。作为参考,这是我这样做的方式
列出所有 iptables 规则
# iptables -L --line-numbers
注意链中的接受规则INPUT
,该规则设置为接受来自我们(之前的)面部 IP 地址的所有 ssh 连接,以及反暴力破解规则,该规则在链中的几次尝试后丢弃 ssh 连接SSH_CHECK
:
Chain INPUT (policy ACCEPT)
num target prot opt source destination
...
14 ACCEPT tcp -- old.myISP.com anywhere tcp dpt:ssh
...
Chain SSH_CHECK (1 references)
num target prot opt source destination
...
3 DROP all -- anywhere anywhere recent: UPDATE seconds: 60 hit_count: 4 TTL-Match name: RECENT_SSH side: source
编辑规则/etc/iptables.rules
改变
-A INPUT -s 123.45.67.8/32 -p tcp -m tcp --dport 22 -j ACCEPT
到
-A INPUT -s 111.222.33.44 -p tcp -m tcp --dport 22 -j ACCEPT
其中 111.222.33.44 是新面孔 IP。并阅读改编的规则:
# iptables-restore < /etc/iptables.rules