ファイアウォール: 2つのNIC、2つのゾーン。ゾーンは無視されます

ファイアウォール: 2つのNIC、2つのゾーン。ゾーンは無視されます

CentOS/RHEL 7.7 を実行しているサーバーがあり、2 つのネットワーク インターフェイスがあります。これらのインターフェイスは構成されており、正常に動作しています。最初のインターフェイス ens33 は、firewalld の「パブリック」ゾーンの一部です。このゾーンに適用されているすべてのルールは正常に動作します。2 番目のインターフェイス ens37 も、「パブリック」ゾーンのメンバーである場合は期待どおりに動作します。2 番目のインターフェイスの機能に固有のルール セットを持つ 2 番目のゾーン「GLZ」を作成しました。GLZ ゾーンからこのインターフェイスに適用されるルールを取得できません。過去に何度も iptables を使用してこのタイプの設定を構成しましたが、firewalld では目的の効果が得られないようです。firewalld の基本的な何かが欠けているように感じますが、それが何なのかわかりません。詳細は次のとおりです。

セットアップスクリプト:

NEWZONE="GLZ"

# create the new zone
firewall-cmd --permanent --new-zone=$NEWZONE
firewall-cmd --reload

# add the second NIC to the zone
firewall-cmd --permanent --zone=$NEWZONE --change-interface=ens37
# set zone target
firewall-cmd --zone=$NEWZONE --permanent --set-target=default
firewall-cmd --reload

# open necessary ports
firewall-cmd --permanent --zone=$NEWZONE --add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 port protocol=tcp port=80 accept'
firewall-cmd --permanent --zone=$NEWZONE --add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 port protocol=tcp port=443 accept'
# setup forwarding (see https://docs.fedoraproject.org/en-US/Fedora/19/html/Security_Guide/sec-Configure_Port_Forwarding-CLI.html)
firewall-cmd --permanent --zone=$NEWZONE --add-masquerade
firewall-cmd --permanent --zone=$NEWZONE --add-forward-port=port=22:proto=tcp:toport=2222
firewall-cmd --reload

--info-zone の出力に基づくと、これは問題ないように見えます。両方のゾーンがアクティブで、各ゾーンに適切なネットワーク インターフェイスが割り当てられています。パブリック ゾーンに加えた変更は両方のインターフェイスのトラフィックに影響し、GLZ ゾーンに追加または削除したルールはまったく影響しません。
出力:

$ sudo firewall-cmd --info-zone=public
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
    rule family="ipv4" source address="10.0.0.0/8" port port="3306" protocol="tcp" accept
    rule family="ipv4" source address="10.0.0.0/8" port port="80" protocol="tcp" accept
    rule family="ipv4" source address="10.0.0.0/8" port port="443" protocol="tcp" accept
    rule family="ipv4" source address="10.0.0.0/8" port port="8080" protocol="tcp" accept

$ sudo firewall-cmd --info-zone=GLZ
GLZ (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens37
  sources:
  services:
  ports:
  protocols:
  masquerade: yes
  forward-ports: port=22:proto=tcp:toport=2222:toaddr=
  source-ports:
  icmp-blocks:
  rich rules:
    rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" accept
    rule family="ipv4" source address="0.0.0.0/0" port port="443" protocol="tcp" accept

関連情報