Firewalld とは:Centos または類似のシステムでデフォルトのファイアウォールシステムであり、Ubuntu の ufw システムに似ています。
Firewalld の利点#
Firewalld で追加された入出力ルールは実行環境で直接有効にでき、サービス自体を再起動する必要がありません。
Firewalld が提供するインターフェースを使用すると、サービス、アプリケーション、およびユーザーのために簡単に任意のルールを構成できます。
永続的なルールとメモリ内のルールを分離することで、ユーザーは追加されたルールをリアルタイムで評価できます。非永続的に追加されたルールは、次回のホットリロードまたはサービス再起動時に消えます。一方、永続的なルールはリロード後に保持されます。この方法により、ユーザーは一時的な設定を追加できます。設定が評価され、正常に動作した場合、そのルールは永続的な設定に追加できます。
Firewalld のインストールとダウンロード#
firewalld パッケージをダウンロードしてインストールします:
sudo yum update && sudo yum install firewalld
Firewalld ルールの構成#
状態の取得#
ゾーンの確認:現在アクティブなゾーンを取得します。ゾーンはほとんどの場合、デフォルトで public です。
firewall-cmd --get-active-zones
ルールの一覧表示:現在のゾーンに設定されているルールを取得します。
firewall-cmd --zone=public --list-all
ポートの追加と閉鎖#
ポートを開放:public ゾーンで TCP トラフィックの 5000 ポートを永続的に許可します。
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewalld サービスは、アドレス範囲を開放することもサポートしています。例えば、
--add-port=5000-5500/tcp
は 5000 から 5500 までのすべての TCP ポートを開放します。
ポートを閉鎖:public ゾーンで TCP ポート 5000 を永続的に閉鎖します。
firewall-cmd --zone=public --remove-port=5000/tcp --permanent
サービスの追加と閉鎖#
ファイアウォールに組み込まれているサービスを使用することも、ポートを追加する際にカスタムサービス名を使用して
--service=
オプションを指定することもできます。この ドキュメント を参照して詳細を確認してください。
サービスの取得:--get-services
を使用して、すべての開放可能なサービスルールを取得します。
firewall-cmd --get-services
サービスの追加:--add-service
を使用して、組み込みのサービスを追加します。
firewall-cmd --zone=public --add-service=http
追加したルールの有効化#
ホットリロード:reload を使用してルールをホットリロードします。
firewall-cmd --reload
コールドリロード:complete-reload を使用してルールをコールドリロードします。
firewall-cmd --complete-reload