自分でトレーニングしようとしてfirewalld
Apacheを設定し、次のようにゾーンを設定しました。
[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 -Z
public
興味深いことに、これを行ったりゾーン--add-source
にトラフィックを追加したりすると、期待どおりに機能します(ゾーンに設定されているサービスに関係なく、トラフィックは削除/拒否されます)。drop
block
public
以下は、ファイアウォールを実行しているサーバーの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