![默认配置iptables,如何避免刷新表时被阻塞?](https://linux22.com/image/161086/%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AEiptables%EF%BC%8C%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E5%88%B7%E6%96%B0%E8%A1%A8%E6%97%B6%E8%A2%AB%E9%98%BB%E5%A1%9E%EF%BC%9F.png)
我有这个基地iptables当我有一个新服务器要配置时:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Keep state.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Loop device.
-A INPUT -i lo -j ACCEPT
# Allow PING from remote hosts.
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# allow ssh port 22
-A INPUT -p tcp --dport 22 -j ACCEPT
# allow foobar public IP
-A INPUT -p tcp -s 9.8.7.6 -j ACCEPT
# Allow outgoing trafic
-A OUTPUT -p tcp -d 1.2.3.4 -j ACCEPT
-A OUTPUT -o enp8s0 -d 0.0.0.0/0 -j ACCEPT
COMMIT
我用 加载这个文件iptable-restore < file
。
问题是,当我用 冲洗时iptables -F
,我被阻止了。
我必须做什么才能避免被阻止?
答案1
正如问题下面的评论所示,在刷新之前,请确保默认策略不会将您锁定。
另一种方法是不使用iptables -F
而是使用另一个规则文件来恢复基本状态。事实上,有一个单独的iptables
家庭命令,在检查是否没有发生此类锁定方面是安全的。它的用法iptables-apply
和用法与 类似iptable-restore
,但请检查其man
页面以了解差异和详细信息。
答案2
一种详细的方法是在刷新之前为所有连接设置ACCEPT
所有策略:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
然后 :
iptables -F