Firewalld は、ネットワーク接続やインターフェースの信頼レベルを定義する ネットワーク/ファイアウォールゾーンをサポートする、動的に管理される ファイアウォールを提供します。IPv4、IPv6ファイアウォール設定、イーサネットブリッジ、IPセットをサポートしています。ランタイムとパーマネントのコンフィギュレーション・オプションが分離されている。また、サービスやアプリケーションがファイアウォールルールを直接追加するためのインターフェースも提供します。
併せて読みたい → Firewalldファイアウォールのインストールと開始-Ubuntu 22.04|20.04|18.04
firewalldを使うメリット
変更はランタイム環境で即座に行えます。サービスやデーモンの再起動は必要ありません。
firewalld D-Bus インターフェースにより、サービスやアプリケーション、そしてユーザーもファイアウォール設定を簡単に変更できます。インターフェイスは完全で、ファイアウォール設定ツールfirewall-cmd、firewall-config、firewall-appletに使用されます。
実行時コンフィギュレーションと恒久的コンフィギュレーションを分離することで、実行時の検証やテストが可能になります。実行時コンフィギュレーションは、次のサービスのリロードと再起動、またはシステムの再起動までしか有効ではありません。その後、パーマネント・コンフィギュレーションが再びロードされます。ランタイム環境では、限られた時間のみ有効な設定にランタイムを使用することができます。ランタイム設定が評価のために使用され、完全で動作している場合、この設定をパーマネント環境に保存することができます。
機能
- 完全なDバスAPI
- IPv4、IPv6、ブリッジ、ipsetのサポート
- IPv4およびIPv6 NATのサポート
- ファイアウォールゾーン
- ゾーン、サービス、icmptypesの定義済みリスト
- シンプルなサービス、ポート、プロトコル、ソースポート、マスカレード、ポートフォワーディング、icmpフィルター、リッチルール、インターフェイス、ソースアドレスハンドリグをゾーンで利用可能
- ポート、プロトコル、ソースポート、モジュール(ネットフィルターヘルパー)、宛先アドレスハンドリングによるシンプルなサービス定義
- ゾーン内のより柔軟で複雑なルールのためのリッチ言語
- ゾーン内の時間指定ファイアウォールルール
- 拒否されたパケットの簡単なログ
- ダイレクトインターフェース
- ロックダウン: ファイアウォールを変更する可能性のあるアプリケーションのホワイトリスト化
- Linuxカーネルモジュールの自動ロード
- Puppetとの統合
- オンラインおよびオフライン設定用のコマンドラインクライアント
- gtk3を使用したグラフィカルな設定ツール
- Qt5を使用したアプレット
誰が使っていますか?
firewalldは、以下のLinuxディストリビューションでデフォルトのファイアウォール管理ツールとして使用されています:
- RHEL 7以降
- CentOS 7以降
- Fedora 18以降
- SUSE 15 以降
- OpenSUSE 15以降
- その他のディストリビューションでも利用可能
ファイアウォール管理ツールとしてfirewalldをサポートしているアプリケーションやライブラリは以下の通りです:
- NetworkManager
- libvirt
- ポッドマン
- docker (iptablesバックエンドのみ)
- fail2ban