我有一个托pipe公司的VPS,所以我通过SSH远程访问它。 我试图刷新所有的iptables规则,并从头开始…问题是,当我input#iptables的input丢弃(因为我不想阻止所有传入和白名单),然后腻子脱落,我不能连接。
当我input该命令时,如何在不被CentOS引导的情况下执行此操作。
还是有另一种方式来做到这一点。
谢谢
您需要确保在添加该规则时现有的连接保持打开状态。
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT
然后在下面添加允许列表,最后在INPUT链的END中添加一个下拉线
-A INPUT -j DROP
一个很好的阅读/教程开始将是: 在这里
Iptables在第一场比赛中胜出,所以你必须把你所有的DROP都放在列表的最后。
看看/etc/sysconfig/iptables文件。 在一个CentOS系统上,它通常有一个基本的configuration,允许你ssh进入盒子,而不是别的 – 这将是一个很好的起点。
如果你正在远程工作,我强烈build议你使用像火炮这样的工具。
Firehol是一个iptables / netfilter前端。 它包括validation你还没有locking自己的代码。 您使用firehol try命令,它将启动一组新的规则,然后提示您键入commit。 如果你在30秒内没有提交,它会认为你破坏了一些东西,恢复到旧的规则。
我这样做,写一个脚本,白名单,然后再放下一切。 因此,首先制定白名单规则,然后将drop语句附加到链的末尾。
写一个'cron'脚本,并添加iptables的规则,让你访问并设置它运行5/10分钟后,你刷新你的命令。 这样,5分钟后你将再次获得访问权限。