トラフィックが必須ゾーンではなくパブリックゾーンと一致するのはなぜですか?

トラフィックが必須ゾーンではなくパブリックゾーンと一致するのはなぜですか?

自分でトレーニングしようとしてfirewalldApacheを設定し、次のようにゾーンを設定しました。

[root@localhost ~]# firewall-cmd --get-active-zones
work
  sources: 192.168.122.1
public
  interfaces: ens3
[root@localhost ~]# firewall-cmd --zone=work --list-all
work
  interfaces:
  sources: 192.168.122.1
  services: dhcpv6-client ipp-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

[root@localhost ~]# firewall-cmd --zone=public --list-all
public (default, active)
  interfaces: ens3
  sources:
  services: dhcpv6-client http https ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

私が期待した結果は、ハイパーバイザーのトラフィックが「作業」ゾーンと一致し、そのゾーンでhttpが許可されていないため、トラフィックが破棄されることです。ただし、そのページにはまだアクセスできます。

ここに画像の説明を入力してください。

「http」サービスと「https」サービスを削除すると、ネットワークトラフィックが停止し、それをパブリックゾーンに再追加するとサービスが復元されますが、「作業」ゾーンに同じ変更を加えると、トラフィックが「パブリック」ゾーンと一致することがわかります。 。どんな手術でもありません。

私はこれが私の理解の失敗であると確信していますが、それを見つけることはできません。

修正する

まだこの問題があります。インターフェイスを削除しpublicて追加すると機能し始めますが、すべてのトラフィックがそのゾーンに移動するworkため、その可能性が高くなります。パケット数を0に設定し、そのゾーンに関連付けられているチェーンがパケットを受信して​​いることを確認しens3ました。iptable -Zpublic

興味深いことに、これを行ったりゾーン--add-sourceにトラフィックを追加したりすると、期待どおりに機能します(ゾーンに設定されているサービスに関係なく、トラフィックは削除/拒否されます)。dropblockpublic

以下は、ファイアウォールを実行しているサーバーのnetstat出力です。

[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask        Flags   MSS Window   irtt Iface
0.0.0.0         192.168.122.1   0.0.0.0        UG        0 0           0 ens3
192.168.122.0   0.0.0.0         255.255.255.0  U         0 0           0 ens3

関連情報