firewalld
概要

従来広く使われていた「iptables」はファイアウォールのルールを設定する際にシステムを再起動するか、サービスを再起動する必要があり、設定変更のたびに一時的な通信断が生じる場合があった。firewalldでは、稼働中のシステムに対してルールを動的に追加・変更・削除できる。実際の通信制御はカーネル内部の「netfilter」が担っており、firewalldはその設定を管理するフロントエンドとして機能する。
firewalldの特徴の一つは、通信ルールを「ゾーン」(zone)という単位で整理できる点である。ゾーンとはネットワークインターフェース(NIC)や送信元アドレスに対して適用する信頼レベルと通信ルールをまとめたグループであり、「public」「internal」「trusted」「dmz」など用途に応じた複数のゾーンがあらかじめ定義されている。各NICをいずれかのゾーンに割り当てることで、接続元のネットワークに応じた柔軟なアクセス制御が実現する。
設定の操作にはコマンドラインツールの「firewall-cmd」が広く使われている。firewall-cmdでは「--permanent」オプションを付けると設定が永続化され、付けない場合は再起動後にリセットされる一時的な変更として扱われる。この使い分けにより、検証と本番適用を明確に分離した運用が可能となっている。また、個々のポート番号を直接開放するだけでなく、WebサーバやSSHなどのサービス名に基づいて設定できるため、初学者にも比較的扱いやすいとされる。
RHEL(Red Hat Enterprise Linux)、CentOS、Fedora、AlmaLinuxなど、Red Hat系のディストリビューションでは標準のファイアウォール管理ツールとしてfirewalldが同梱されており、サーバ構築やセキュリティ設定の場面でLinux管理者が日常的に扱うツールとして定着している。コマンドラインツール(firewall-cmd)だけでなくグラフィカルな管理ツールを導入して操作を行うこともできる。