ファイアウォールの ipset エントリのタイムアウトの更新

ファイアウォールの ipset エントリのタイムアウトの更新

ipset エントリのタイムアウトを更新する方法を見つけようとしましたが、これまでのところうまくいきませんでした。ネイティブ ipset を使用する場合は、単に次のようにします。

$ ipset add foo 192.168.0.5 timout N -exist

しかし、マニュアル (man) によると、firewalld はこの機能を実装していないようですが、これは非常に便利で一般的な機能です。ip2ban は、firewalld ipset の実装をバイパスしてネイティブで使用するようです。試してみましたが、成功しませんでした。

ipset の作成:

$ ipset create foo hash:ip timeout 300

直接統治:

$ firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p TCP -m multiport --dports 22,443 -m set --match-set foo src -j ACCEPT
$ ipset add foo 192.120.11.1

https リクエストと ssh 接続の試行はホストへのルートがないためドロップされます。ファイアウォールを無効にすると、リクエストの送信と ssh への接続が成功します。

  • デフォルトのゾーンを使用しています:
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

ファイアウォールコマンド --direct --get-all-rules: ipv4 フィルター 入力 0 -p TCP -m マルチポート --dports 22,443 -m set --match-set foo src -j ACCEPT

私が間違っているのは、firewalld でこれが可能かどうかです。

前もって感謝します

関連情報