CentOS 7.3.1611システムの3つのゾーンに4つのインターフェイスがあります。
# firewall-cmd --get-active-zones
dmz
interfaces: ens192
internal
interfaces: ens256 ens161
external
interfaces: ens224
2つの内部ゾーンのシステムが相互に通信できるようにしたい。
私は双方向の直接ルールを追加しようとしました:
# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -o ens256 -i ens161 -j ACCEPT
# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens256 -o ens161 -j ACCEPT
...これは、内部ネットワークの1つがdmzネットワークと通信することを許可した方法であるためですが、A)これはゾーン内の場合には機能しないようです。 B)このコマンドは--permanent
フラグを受け入れないため、このようなコマンドが再起動後も存続するかどうかは疑問です。
2つの内部インターフェースは、外部(インターネット)ゾーンと適切に通信できます。
同じゾーン内の2つのインターフェイス間のトラフィックの流れを許可するにはどうすればよいですか?
firewalldの同様のマルチインターフェースファイアウォールトピックについてグーグル検索を行っているあなたの質問を見つけました。私たちは約1年後ですが、あなたの質問にはまだ答えがありません。あなたが--permanentに持っている問題が引数の順序に関連しているのではないかと思います。
Enterprise Linux 7.5のバージョン0.4.4.4では、firewall-cmdのmanページに、-directの前に--permanentが必要であることが明確に示されています。これは、-directの後の引数が、firewall-cmdではなく、directのサブ引数であることが原因である可能性があります。したがって、次のようにコマンドを実行します。
# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -o ens256 -i ens161 -j ACCEPT
2つの内部インターフェイスの問題について...まず、# iptables -L
の出力を見て、チェーンの流れをマッピングする必要があります。そこに配置したコマンドは、チェーンの先頭にある優先度0のフォワードチェーンにルールを挿入します。おそらく、「FORWARD_IN_ZONES」のような優先度の高い別のチェーンがパケットをドロップすることになるでしょう。
また、firewalldの最近のバージョンでは、ドロップされたパケットに関する情報を表示するために# firewall-cmd --set-log-denied=all
を実行できます。ログには、ドロップを作成しているチェーン名が含まれている必要があります。