個別にリセットできるようにファイアウォールルールをチェーンに分離するにはどうすればよいですか?

個別にリセットできるようにファイアウォールルールをチェーンに分離するにはどうすればよいですか?

私はしばらくの間いくつかのiptablesルールを実行してきましたが、これまで問題がなかったことを願っています。これはその断片です

# Block all input and forward traffic, both IPv4 and IPv6
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Allow traffic already established to continue
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow ssh, dns, ldap, ftp and web services
iptables -A INPUT -p tcp --dport ssh -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -i eth0 -j ACCEPT

# OpenVPN tunnels
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j MASQUERADE
iptables -A OUTPUT -o tun0 -j ACCEPT

Dockerを使い始めて以来、何か問題が発生したときにファイアウォールを制御してリセットすることは非常に混乱しました。すべてのファイアウォールルールをリセットしようとすると、Dockerルーティングがめちゃくちゃになり、機能しなくなります。

したがって、この問題を解決する正しい方法は、すべてのファイアウォールルール(上記のルール)を別々のチェーンに配置するようです。助けてください?

  • これらすべてのルールを私の特定のチェーンにどのように配置できますか?
  • Dockerルールに影響を与えずにチェーンのルールのみをリセットするにはどうすればよいですか?

私は問題を解決しようとしています。

私が正しく理解したら、基本ポリシーを次のように変更する必要があります。

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

到着

iptables -A MyChain -P INPUT DROP
iptables -A MyChain -P OUTPUT ACCEPT
iptables -A MyChain -P FORWARD DROP

以下を追加する必要があります。

iptables -P INPUT jump MyChain
iptables -P OUTPUT jump MyChain
iptables -P FORWARD jump MyChain

デフォルトトラフィックが私のチェーンに移動するようにします。

最後に、各ルールを追加する必要があります-A MyChain

しかし時々、私たちはすでに-A旗を持っています。良いチェーン分離目標を達成するためにルールを編集する方法を理解するのに役立つ人はいますか?

関連情報