iptables -F后无法连接

我想使用iptables在我的系统中添加白名单。 所以我search了networking,发现这个:

iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT iptables -I INPUT -s 127.0.0.1/8 -j ACCEPT iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT iptables -P INPUT DROP 

它真的有用。 所以我消防iptable -F删除所有规则,然后我无法连接到此服务器了。

怎么了?

什么是删除所有规则的正确方法?

INPUT的链策略设置为DROP。

在没有任何规则的情况下,一切都被丢弃。

在核实所有链条之前,确保所有链条都有一个接受la iptables -P INPUT ACCEPT

除了Olipro的正确和有用的anwer之外,我会推荐一些东西

避免被防火墙锁住的风险

使用crontab绑定的脚本,在出现问题时重新打开防火墙; 正如你所知道的,只要你仍然login,你的sshd_config中可能会犯一个错误,不会造成真正的伤害。对于iptables来说不是这样的:一个错误就足够了,你就出来了。 为此:

 #!/bin/bash # openFW.sh IPT=$(which iptables) $IPT -P INPUT ACCEPT $IPT -P FORWARD ACCEPT $IPT -P OUTPUT ACCEPT $IPT -F NOW=$(date +"%H:%m") echo "FW opened on %h at $NOW" | mail -s "FW reset cron job jh1" \ [email protected] logger "WARNING : iptables flushed and opened by cron job" 

crontab -e放置类似的东西

 #*/5 8-19 * * * /root/scripts/openFW.sh 

刷新你的iptables规则,每5分钟打开一次FW。 在编辑规则之前取消注释。 检查规则(确保它们是可用的,而不是已经被这个cron作业刷新); 在一切都很好之后,请将flush cron列出来

希望这可以帮助。