私はしばらくの間いくつかの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
旗を持っています。良いチェーン分離目標を達成するためにルールを編集する方法を理解するのに役立つ人はいますか?