我正在运行一个脚本,该脚本通过 SSH 更新 Debian 计算机上的防火墙规则以及其他操作。但是,脚本运行后,我的连接就挂起了。我可以关闭终端并重新连接,当我重新连接时,我的脚本仍在运行。
service iptables reload
Debian是否有与 RHEL/CentOS 命令等效的命令?
我曾经尝试过iptables-save > /etc/network/iptables
,iptables-apply
但是没有用。
答案1
我怀疑“service iptables reload”在功能上大致相当于您的解决方法,即该解决方案在 CentOS 上也不起作用。
您可能想要发布您正在使用的规则,但我怀疑您会发现问题与 nat 有关,或者更可能与对“已建立的相关” iptables 规则的依赖有关。如果是后者,请尝试为您的 SSH 连接添加一条不依赖于此的规则。
另一个解决方法可能是使用屏幕,以便当您重新连接时会话可以从您离开的地方继续。
如果您的问题是 NAT,那么通过运行 VPN 您可能会获得一些运气 - VPN 重新连接后不久您的 SSH 会话应该会自行恢复。
答案2
你的 ssh 会话 hanhgs 因为 SSH 的 iptables 接受规则只在应该接受新连接和“已建立”连接时才接受新连接
iptables -A INPUT -p tcp -m tcp --dport 22 -m limit --limit 3/minute --limit-burst 10 -m state --state NEW -j ACCEPT