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

関連情報