firewall-cmdは、Linuxのファイアウォール管理ツールであるfirewalldのコマンドラインインターフェース(CLI)です。firewalldを使用することで、Linuxシステム上でファイアウォールの設定を簡単に管理し、ネットワークトラフィックを制御することができます。
firewall-cmdは、動的なファイアウォール設定をサポートしており、ファイアウォールのルールをシステムを再起動することなくリアルタイムに適用することができます。
基本的な使い方
以下は、firewall-cmdのよく使用されるコマンドとその説明です。
1. ファイアウォールのステータス確認
firewall-cmd --state
ファイアウォールの状態を表示します。例えば、runningと表示されればファイアウォールは有効になっています。
2. 有効なゾーンの確認
firewall-cmd --get-active-zones
現在アクティブなネットワークゾーンを表示します。ゾーンは特定のインターフェースやアドレスに対するルールをグループ化したものです。
3. 特定のゾーンの情報表示
firewall-cmd --zone=public --list-all
public ゾーンのすべての設定(許可されているサービス、ポートなど)を表示します。
4. サービスの追加
特定のサービスをファイアウォールに追加して許可するには、次のコマンドを使用します。
firewall-cmd --zone=public --add-service=http
上記の例では、httpサービスを public ゾーンに追加し、HTTPトラフィックを許可します。
5. 特定のポートを開く
ポート番号で通信を許可する場合:
firewall-cmd --zone=public --add-port=8080/tcp
例として、8080番ポートをTCPプロトコルで許可しています。
6. 変更の永続化
リアルタイムで適用された設定は再起動後に消えることがありますが、永続化するためには次のコマンドを実行します。
firewall-cmd --runtime-to-permanent
7. ファイアウォールの再読み込み
設定を適用するためにファイアウォールを再読み込みするには、次のコマンドを使用します。
firewall-cmd --reload
ゾーンについて
firewalldでは「ゾーン」という概念があり、ゾーンごとに異なるファイアウォールのルールを設定することができます。例えば、public ゾーンは外部ネットワーク向けのゾーンであり、home ゾーンは信頼できるホームネットワーク向けに使います。
例: HTTPとHTTPSトラフィックの許可
firewall-cmd --zone=public --add-service=http --add-service=https --permanent
firewall-cmd --reload
上記の例では、HTTPおよびHTTPSトラフィックを許可し、設定を永続化した後、再読み込みして適用しています。
firewall-cmdを使うことで、ファイアウォールの設定を非常に柔軟かつ動的に管理することができます。