FirewallDでIPSET

FirewallDのバージョンの関係もあるのでしょうか。検索しても最適解と思えるものがなかなか少ないですが、CentOS 7 の最新バージョンだとこんな感じでしょうか。

たとえば国内のみに限定したい場合、それ用にゾーンを一個追加し、

firewall-cmd --permanent --new-zone=JP
firewall-cmd --permanent --zone=JP --set-target=ACCEPT
firewall-cmd --permanent --zone=JP --add-service=許可したいサービス
      :             :

IPのリストは、https://ipv4.fetus.jp/あたりからテキストで取得して

firewall-cmd --permanent --new-ipset=jpip --type=hash:net
firewall-cmd --permanent --ipset=jpip --add-entries-from-file=ip.txt
firewall-cmd --permanent --zone=JP --add-source=ipset:jpip

ip.txtは、登録したいIPアドレスを1行1アドレスで記述したテキストファイルです。

最後にリロード。

firewall-cmd --reload

IPアドレスのリストを更新する際は、IPSETだけを作り直してリロードすればよいのかと思います。

firewall-cmd --permanent --delete-ipset=jpip
firewall-cmd --permanent --new-ipset=jpip --type=hash:net
firewall-cmd --permanent --ipset=jpip --add-entries-from-file=new_ip.txt
firewall-cmd --reload