![刷新 iptables 破坏了我的管道,我该如何挽救我的实例?](https://linux22.com/image/594406/%E5%88%B7%E6%96%B0%20iptables%20%E7%A0%B4%E5%9D%8F%E4%BA%86%E6%88%91%E7%9A%84%E7%AE%A1%E9%81%93%EF%BC%8C%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E6%8C%BD%E6%95%91%E6%88%91%E7%9A%84%E5%AE%9E%E4%BE%8B%EF%BC%9F.png)
当我执行 iptables -F 时,我正在设置我的 iptables,但我的 ssh 管道断了。
这是我的会话的最后输出:
root@alfapaints:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW,ESTABLISHED tcp dpt:2222
ACCEPT tcp -- li465-68.members.linode.com anywhere state NEW,ESTABLISHED tcp dpt:nrpe
ACCEPT tcp -- anywhere anywhere tcp dpt:9200 state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW,ESTABLISHED
ACCEPT udp -- anywhere anywhere udp spt:domain
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state ESTABLISHED tcp spt:2222
ACCEPT tcp -- anywhere anywhere state ESTABLISHED tcp spt:nrpe
ACCEPT tcp -- anywhere anywhere tcp spt:9200 state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:http state ESTABLISHED
ACCEPT udp -- anywhere anywhere udp dpt:domain
root@alfapaints:~# iptables -F
Write failed: Broken pipe
我之前测试过我的连接,我能够使用 ssh 连接。现在我进行了 nmap 扫描,发现没有一个端口打开。我知道我的 VPS 在 VMWare ESXi 上运行,重新启动有帮助吗?
或者如果不行,我可以将磁盘连接并安装到另一个虚拟机来保存数据吗?
有人能给点建议吗?或者能解释一下发生了什么或者是什么原因导致我的管道破裂?
ps:我没有将规则保存在 iptables 的配置目录中。但是我使用存储在 ~/rules.config 中的文件来应用我的规则,如下所示:iptables-restore < rules.config 那么重新启动可能会有帮助吗?
提前致谢。
答案1
您的所有三个策略都是DROP
,因此通过刷新链,您已经删除了所有可能修改特定数据包配置的规则,并将它们全部保留为默认策略:实际上,您已经说过所有进出和通过机器的数据包都应被丢弃。
重启是否有用取决于您机器的启动状态。如果您有一套合理的规则设计为在重启时出现,那么就重启它。另一方面,如果您设置了重启代码来保存和恢复防火墙的运行状态,或者您有一套高度限制的启动规则,那么重启将无济于事。
假设你把它拿回来了,我发现在制定iptables
规则时经常有帮助的是
at now+5min
service iptables stop
^D
当我尝试做一些巧妙的事情时,这常常能帮我解围。我可以把事情搞砸,把自己锁在外面,因为我知道五分钟后防火墙就会关闭,然后我就可以回来把事情处理好。
答案2
您似乎正在使用 Linode。在这种情况下,请使用Linode Shell以访问虚拟机的控制台。然后您可以登录并修复防火墙。
使用其他提供商,提供商可以为您提供等效的虚拟控制台访问权限。例如,VMware 完全可以做到这一点。