概要
firewalldはシステムのネットワークトラフィックを制御するデーモンで、事前に定義されたゾーンを通じてネットワークインターフェースやソースIPアドレスに応じて異なるセキュリティレベルを適用できます。これは複雑なiptablesルールを直接扱う代わりに、ユーザーフレンドリーなインターフェースを提供します。
主な特徴
- 動的ルール管理: サービス再起動なしでルール変更可能
- ゾーンベース: ネットワークインターフェースやソースに応じて異なるセキュリティポリシーを適用
- サービスおよびポート管理: 特定のサービス(SSH、HTTPなど)やポートの開放/遮断が容易
- リッチルール: 複雑な条件ベースのルール設定が可能
- IPv4およびIPv6サポート
主なオプション
firewalldデーモン自体を実行する際に使用されるオプションです。ほとんどのファイアウォールルール管理はfirewall-cmdコマンドを通じて行われます。
デーモン実行オプション
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`firewalld` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
firewalldサービスは主にsystemctlコマンドを通じて管理されます。ファイアウォールルールの設定はfirewall-cmdコマンドを使用します。
firewalldサービス開始
sudo systemctl start firewalld
firewalldデーモンを開始します。
firewalldサービス有効化(起動時の自動開始)
sudo systemctl enable firewalld
システム起動時にfirewalldが自動的に開始されるように設定します。
firewalldサービス状態確認
sudo systemctl status firewalld
firewalldサービスの現在の状態を確認します。
firewalldサービス再起動
sudo systemctl restart firewalld
firewalldサービスを再起動します。
firewalld設定再読み込み(ルール変更後)
sudo firewall-cmd --reload
サービスを停止せずにファイアウォールルールを再読み込みして適用します。
インストール
firewalldはCentOS、Fedora、RHELなど多くのRed Hat系Linuxディストリビューションにデフォルトで含まれています。Debian/Ubuntu系では手動でインストールする必要がある場合があります。
CentOS/Fedora/RHEL
sudo dnf install firewalld
dnf(またはyum)を使用してfirewalldをインストールします。
Debian/Ubuntu
sudo apt install firewalld
aptを使用してfirewalldをインストールします。
ヒントと注意点
firewalldを効果的に使用するためのヒントと注意点です。
firewall-cmdの活用
firewalldのすべてのファイアウォールルール設定および管理は、「firewall-cmd」コマンドを通じて行われます。例えば、ポート開放、サービス追加、ゾーン設定などはfirewall-cmdを使用する必要があります。
- 現在アクティブなゾーンの確認: `firewall-cmd --get-active-zones`
- 特定のポート開放(例: HTTP 80/tcp): `sudo firewall-cmd --zone=public --add-port=80/tcp --permanent`
- 変更の適用: `sudo firewall-cmd --reload`
永続的なルールの適用
firewall-cmdでルールを追加する際に`--permanent`オプションを使用すると、システム再起動後もルールが維持されます。`--permanent`オプション使用後は必ず`firewall-cmd --reload`を実行して変更を適用する必要があります。
デフォルトゾーンの理解
firewalldはデフォルトで「public」ゾーンを使用しますが、「home」、「work」、「internal」、「external」、「trusted」、「drop」、「block」など、さまざまなゾーンを提供しています。各ゾーンは異なるセキュリティレベルを持っています。
iptablesとの関係
firewalldは内部的にiptables(またはnftables)を使用しますが、直接iptablesコマンドを使用するよりも抽象化されたインターフェースを提供します。firewalldを使用するシステムでは、iptablesコマンドを直接操作することは避けるのが賢明です。