Rocky Linux firewallの設定
- 作成日 2021.06.28
- 更新日 2022.08.24
- Rocky Linux
- Rocky Linux

Rocky Linuxで、firewallの設定の仕方をまとめて記載してます。Firewalldは、Rocky Linuxのファイアーウォールを設定するサービスのことです。
環境
- OS Rocky Linux release 8.4 (Green Obsidian)
ポートの許可
恒久的にポート88を許可する
sudo firewall-cmd --add-port=88/tcp --zone=public --permanent
## reloadしないと反映しない
sudo firewall-cmd --reload
設定したポート88を削除する
sudo firewall-cmd --remove-port=88/tcp --zone=public --permanent
firewallで許可されているポートを一覧確認する
sudo firewall-cmd --list-ports --zone=public
## 恒久的のみ確認する場合は以下を実行します
sudo firewall-cmd --list-ports --zone=public --permanent
また、ポートを一括で追加する場合は、以下のように実行します。
sudo firewall-cmd --add-port={8082,8083}/tcp --zone=public --permanent
サービスの許可
恒久的にhttpsサービスを許可する
sudo firewall-cmd --add-service=https --zone=public --permanent
## reloadで反映する
sudo firewall-cmd --reload
httpsサービスを削除する
sudo firewall-cmd --remove-service=https --zone=public --permanent
## reloadで反映する
sudo firewall-cmd --reload
firewallで許可されているービスを一覧確認する
sudo firewall-cmd --list-services --zone=public
## 恒久的のみ確認する場合は以下
sudo firewall-cmd --list-services --zone=public --permanent
登録可能サービス確認
登録可能なサービス名を一覧で確認するには以下のコマンドを実行します。
firewall-cmd --get-services
IPアドレスの許可
恒久的にIPアドレスを指定して許可
sudo firewall-cmd --add-source=192.168.1.0/24 --zone=public --permanent
## 恒久的のみ確認する場合は以下
sudo firewall-cmd --reload
IPアドレスの拒否
恒久的にIPアドレスを指定して拒否
sudo firewall-cmd --add-source=192.168.1.0/24 --zone=drop --permanent
## reloadで反映する
sudo firewall-cmd --reload
デフォルトゾーンの設定確認
デフォルトゾーンの設定確認は、以下のコマンドで可能です。
## デフォルトゾーンの確認
sudo firewall-cmd --list-all
## デフォルトゾーンの恒久的のみ確認
sudo firewall-cmd --list-all --permanent
## 全てのゾーンの確認
sudo firewall-cmd --list-all-zones
## activeなゾーンの確認
sudo firewall-cmd --get-active-zones
## 全てのゾーンの恒久的のみ確認
sudo firewall-cmd --list-all-zones --permanent
ゾーンの追加
ゾーンの追加は、以下のコマンドで可能です。
sudo firewall-cmd --new-zone=testzone --permanent
「/etc/firewalld/zones」に「testzone.xml」が追加されます。

ゾーンの削除
ゾーンの削除は以下となります。
sudo firewall-cmd --delete-zone=testzone --permanent
「/etc/firewalld/zones」にあった「testzone.xml」 がリネームされて「testzone.xml.old」となります。

ステータス確認
ステータスは、以下で確認できます。
systemctl status firewalld
<出力結果>
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-06-xx xx:23:13 JST; 2 days ago
Docs: man:firewalld(1)
Main PID: 952 (firewalld)
Tasks: 3 (limit: 16492)
Memory: 29.6M
CGroup: /system.slice/firewalld.service
└─952 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
起動と停止
firewallを起動する場合と、停止する場合は、以下のコマンドを実行します。
## 起動
sudo systemctl start firewalld
## 停止
sudo systemctl stop firewalld
自動起動
マシン起動時に、自動起動を行う場合は「enable」を使用します。
## 有効化
sudo systemctl enable firewalld
## 無効化
sudo systemctl disable firewalld
## 状態確認
sudo systemctl is-enabled firewalld
バージョン確認
使用してるfirewallのバージョンは、以下で確認できます。
sudo firewall-cmd --version
<出力結果>
0.8.2
ヘルプ
ヘルプを実行する場合は、以下となります。
firewall-cmd --help

設定ファイルを直接編集
「/etc/firewalld/zones」にある「public.xml」を直接編集して設定することも可能です。
TCP 80番ポートの通信許可をする場合<port protocol="tcp" port="80"/>

編集する前に、バックアップをとっておく場合は「cp」コマンドでコピーしておきます。
sudo cp /etc/firewalld/zones/public.xml{,.`date +%y%m%d_%H%M%S`}
編集後は、reloadすることで反映されます。
sudo firewall-cmd --reload
GUI
「firewall-config」をインストールするとGUIでfirewallの設定を行うことが可能です。
sudo dnf install firewall-config
インストールされていることが確認できます。

GUIからfirewallを設定することが可能です。

-
前の記事
javascript indeterminate属性の値をtrueに設定する 2021.06.28
-
次の記事
C# CheckBoxのCheckStateChangeイベントを登録する 2021.06.28
コメントを書く