默认配置iptables,如何避免刷新表时被阻塞?

默认配置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

相关内容