====== 10 firewall-cmp ====== [[https://firewalld.org/|firewalld]] は、CentOS、RHEL、Fedoraなどのディストリビューションで使われる動的なファイアウォール管理ツールです。そのコマンドラインインターフェースが **firewall-cmd** です。 ===== 基本構文 ===== firewall-cmd [--permanent] [--zone=ゾーン名] <操作> * `--permanent` オプションを付けると永続設定(再起動後も有効) * `--zone` は対象のゾーンを指定(省略時はデフォルトゾーン) ===== ゾーンの確認と管理 ===== ==== アクティブなゾーンの確認 ==== firewall-cmd --get-active-zones ==== 利用可能なゾーンの一覧 ==== firewall-cmd --get-zones ==== インターフェースを特定のゾーンに割り当てる ==== firewall-cmd --permanent --zone=LAN --add-interface=eth1 nmcli connection modify eth1 connection.zone LAN firewall-cmd --reload ==== デフォルトゾーンを設定する ==== firewall-cmd --set-default-zone=LAN ===== ポートの許可 ===== ==== 一時的に許可(即時反映・再起動で消える) ==== firewall-cmd --zone=LAN --add-port=10050/tcp ==== 永続的に許可(--permanent を付ける) ==== firewall-cmd --permanent --zone=LAN --add-port=10050/tcp firewall-cmd --reload ==== 許可ポートの確認 ==== firewall-cmd --zone=LAN --list-ports ==== 許可ポートの削除 ==== firewall-cmd --permanent --zone=LAN --remove-port=10050/tcp firewall-cmd --reload ===== サービスの許可 ===== firewalld には、あらかじめ定義されたサービスがあります。 ==== 利用可能なサービスの一覧 ==== firewall-cmd --get-services ==== サービスの許可(例: http) ==== firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --reload ==== サービスの削除 ==== firewall-cmd --permanent --zone=public --remove-service=http firewall-cmd --reload ===== その他の便利なコマンド ===== ==== 現在の設定を確認 ==== firewall-cmd --list-all ==== 特定ゾーンの詳細を確認 ==== firewall-cmd --zone=LAN --list-all ==== 設定の再読み込み(--permanent の後には必須) ==== firewall-cmd --reload ===== トラブルシューティング ===== * **NetworkManager によってインターフェースが制御されている場合** → `nmcli connection modify <接続名> connection.zone LAN` を使ってゾーン設定を変更。 * **変更が反映されない** → `--permanent` 使用後は必ず `firewall-cmd --reload` を実行。 * **Zabbix Agent (10050) がブロックされる** → 該当ゾーンに `--add-port=10050/tcp` を追加する。 ===== 関連リンク ===== * [[https://firewalld.org/documentation/|firewalld公式ドキュメント]] * [[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls#firewalld|Red Hat firewalld セキュリティガイド]] {{tag>firewall-cmd}}