我想使用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列出来
希望这可以帮助。