firewalld は、ネットワーク接続またはインターフェイスの信頼レベルを定義するネットワークまたはファイアウォール ゾーンのサポートを備えた、動的に管理されるファイアウォールを提供します。 IPv4、IPv6 ファイアウォール設定、イーサネット ブリッジ、実行時構成オプションと永続構成オプションの分離がサポートされています。また、サービスまたはアプリケーションが ip*tables および ebtables ルールを直接追加するためのインターフェイスも提供します。
ソース リポジトリをチェックアウトするには、次を使用できます。
git clone https://github.com/firewalld/firewalld.git
これにより、リポジトリのローカル コピーが作成されます。
貢献者の行動規範は CODE_OF_CONDUCT.md にあります。
Firewalld はローカリゼーション サポートに GNU gettext を使用します。翻訳は、Fedora の Weblate インスタンスを使用して実行できます。翻訳は定期的にメインの firewalld リポジトリにマージされます。
実行時の依存関係は次のとおりです。
linux >= 5.3 python >= 3.8 python3-dbus python3-gobject python3-nftables >= 0.9.4
注: python2 はサポートされていません。
これらの依存関係により、firewalld の機能が強化される可能性がありますが、必須ではありません。
ebtables ipset iptables polkit python3-capng (libcap-ng-python3)
ランタイムの依存関係に加えて、ソースからビルドするには他の依存関係も必要になります。
desktop-file-utils: /usr/bin/desktop-file-install gettext intltool glib2: /usr/bin/glib-compile-schemas glib2-devel: /usr/share/aclocal/gsettings.m4 systemd-units pytest
docbook ファイルからマニュアル ページとドキュメントを作成できるようにするには:
docbook-style-xsl libxslt
通常の autoconf/automake の呪文を使用して makefile を生成します。
./autogen.sh ./configure
PYTHON 変数を渡すことで、特定の Python インタープリターを使用できます。これはテストスイートでも使用されます。
./configure PYTHON=/path/to/python3
使用
作る
ドキュメントを作成し、po ファイルを更新します。
使用
小切手を作る
テストスイートを実行します。テストはネットワーク名前空間内で実行され、ホストの実行中の firewalld に干渉しません。 autotest にフラグを渡すことで、並列実行することもできます。
TESTSUITEFLAGS="-j4" をチェックします
また、テストスイートではキーワードを使用して、特定の領域を実行するテストのサブセットを実行できるようにします。例えば:
make check TESTSUITEFLAGS="-k rich -j4"
出力:
24: 豊富なルール監査OK 25: 豊富なルール優先OK 26: リッチルール悪いけどOK 53: 豊富なルール監査OK 23: 豊富なルール 55: リッチルール悪いけどOK 74: リロード後に forward-port を削除します。
テストとキーワードのリストを取得できます
make -C src/tests check TESTSUITEFLAGS="-l"
あるいはキーワードだけでも
make -C src/tests check TESTSUITEFLAGS="-l" |awk '/^[[:space:]]*[[:digit:]]+/{getline; print $0}' |tr ' ' 'n' |sort |uniq
統合テストがあります。現在、これには NetworkManager が含まれます。これらはホストにとって有害である可能性があります。これらを使い捨ての VM またはコンテナーで実行します。
チェック統合を行う
さまざまなポッドマン/ドッカー コンテナ内でテストスイートを実行するチェック コンテナ ターゲットもあります。これは、複数のディストリビューションをカバーする場合に役立ちます。また、統合テストなど、ホストに対して破壊的な可能性のあるテストも実行します。
チェックコンテナの作成 TESTSUITEFLAGS="-j4"
dist
ビルド ターゲットの一部として、OCI コンテナ イメージが生成されます。これは、通常のリリースの tarball と一緒に配布されます。これを使用して、コンテナから firewalld を実行できます。コンテナ化された firewalld はホスト (podman、libvirt、NetworkManager など) と統合されません。
コンテナー イメージを環境に手動でロードするには:
podman load -i .../path/to/firewalld-oci-<ver>.tar
quay.io から画像を取得するには:
ポッドマン プル quay.io/firewalld/firewalld:<ver>
<ver>
はオプションで、省略した場合は最新バージョンが使用されます。
デーモン/コンテナを起動するには:
podman run -d --network host --privileged --name my-firewalld ファイアウォール
Firewalld の構成はコンテナー内に存在します。したがって、ユーザーは時々イメージpodman commit
たい場合があります。
firewalld の CLI の使用は、デーモン/コンテナーの起動後に podman exec 経由で行う必要があります。
podman exec my-firewalld firewall-cmd ...
同じコンテナ イメージを使用して、ホストで実行中の NetworkManager、podman、libvirt などと統合できます。これには、ホストに firewalld の dbus ポリシーが必要です。
dbus ポリシーはconfig/FirewallD.conf
場所にある firewalld ソース コード ツリーから取得できます。
cp config/FirewallD.conf /usr/share/dbus-1/system.d/FirewallD.conf
dbus ポリシーが設定されると、コンテナーを次のように起動できます。
podman run -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket --ネットワークホスト --特権 --name my-firewalld ファイアウォール firewalld --nofork --nopid
唯一の追加は、ボリューム マウント、明示的な CMD です。
いくつかのアプローチを使用して、firewalld の構成ファイルをホストに保存できます。
podman run -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket -v /etc/firewalld:/etc/firewalld --ネットワークホスト --特権 --name my-firewalld ファイアウォール firewalld --nofork --nopid
Fedora および RHEL ベースのディストリビューションの場合、ソース リポジトリに firewalld.spec という名前の仕様ファイルがあります。これは、Fedora バージョン >= 16 および RHEL >= 7 で使用できるはずです。
ホームページ: http://firewalld.org
バグを報告する: https://github.com/firewalld/firewalld/issues
Git リポジトリ ブラウザ: https://github.com/firewalld/firewalld
Git リポジトリ: https://github.com/firewalld/firewalld.git
ドキュメント: http://firewalld.org/documentation/
使用方法: https://lists.fedorahosted.org/archives/list/[email protected]/
開発用: https://lists.fedorahosted.org/archives/list/[email protected]/
ディレクトリ | コンテンツ |
---|---|
構成/ | 設定ファイル |
config/icmptypes/ | 事前定義された ICMP タイプ |
構成/サービス/ | 事前定義されたサービス |
config/xmlschema/ | XML スキーマによる構成ファイルのチェック |
構成/ゾーン/ | 事前定義されたゾーン |
構成/ipsets/ | 事前定義されたipset |
ドキュメント/ | ドキュメント |
博士/男性/ | マニュアルページのベースディレクトリ |
ドキュメント/マン/マン1/ | 男性(1) ページ |
ドキュメント/マン/マン5/ | 男性(5) ページ |
ぽ/ | 翻訳 |
シェルの完了/ | 自動補完スクリプトのベースディレクトリ |
ソース/ | ソースツリー |
ソース/ファイアウォール/ | サービスとすべてのアプリケーションのインポート ツリー |
ソース/アイコン/ | アイコンのサイズ: 16、22、24、32、48、およびスケーラブル |
ソース/テスト/ | テストスイート |