第7章 firewalld の使用および設定
ファイアウォールは、外部からの不要なトラフィックからマシンを保護する方法です。ファイアウォールルール セットを定義することで、ホストマシンへの着信ネットワークトラフィックを制御できます。このようなルールは、着信トラフィックを分類して、拒否または許可するために使用されます。
firewalld
は、D-Bus インターフェイスを使用して、動的にカスタマイズできるファイアウォールを提供するファイアウォールサービスデーモンです。動的であるため、ルールが変更されるたびにファイアウォールデーモンを再起動する必要なく、ルールの作成、変更、削除が可能になります。
firewalld
を使用して、一般的なケースの大部分で必要なパケットフィルタリングを設定できます。firewalld
がシナリオをカバーしていない場合、またはルールを完全に制御したい場合は、nftables
フレームワークを使用します。
firewalld
は、ゾーン、ポリシー、サービスの概念を使用してトラフィック管理を単純化します。ゾーンはネットワークを論理的に分離します。ネットワークインターフェイスおよびソースをゾーンに割り当てることができます。ポリシーは、ゾーン間のトラフィックの流れを拒否または許可するために使用されます。ファイアウォールサービスは、特定のサービスに着信トラフィックを許可するのに必要なすべての設定を扱う事前定義のルールで、ゾーンに適用されます。
サービスは、ネットワーク接続に 1 つ以上のポートまたはアドレスを使用します。ファイアウォールは、ポートに基づいて接続のフィルターを設定します。サービスに対してネットワークトラフィックを許可するには、そのポートを解放する必要があります。firewalld
は、明示的に解放されていないポートのトラフィックをすべてブロックします。trusted などのゾーンでは、デフォルトですべてのトラフィックを許可します。
firewalld
は、ランタイム設定と永続設定を別々に維持します。そのため、ランタイムのみの変更が可能です。ランタイム設定は、firewalld
の再読み込みまたは再起動後は保持されません。起動時に、永続的な設定から入力されます。
nftables
バックエンドを使用した firewalld
が、--direct
オプションを使用して、カスタムの nftables
ルールを firewalld
に渡すことに対応していないことに注意してください。
7.1. firewalld、nftables、または iptables を使用する場合 リンクのコピーリンクがクリップボードにコピーされました!
RHEL 8 では、シナリオに応じて次のパケットフィルタリングユーティリティーを使用できます。
-
firewalld
:firewalld
ユーティリティーは、一般的なユースケースのファイアウォール設定を簡素化します。 -
nftables
:nftables
ユーティリティーを使用して、ネットワーク全体など、複雑なパフォーマンスに関する重要なファイアウォールを設定します。 -
iptables
: Red Hat Enterprise Linux のiptables
ユーティリティーは、legacy
バックエンドの代わりにnf_tables
カーネル API を使用します。nf_tables
API は、iptables
コマンドを使用するスクリプトが、Red Hat Enterprise Linux で引き続き動作するように、後方互換性を提供します。新しいファイアウォールスクリプトの場合は、nftables
を使用します。
さまざまなファイアウォール関連サービス (firewalld
、nftables
、または iptables
) が相互に影響を与えないようにするには、RHEL ホストでそのうち 1 つだけを実行し、他のサービスを無効にします。