Linux初心者で基本的な勉強を始めていくにあたり、firewalldの設定を行ってみたので備忘録代わりに記載します。
本記事ではAlmaLinux8.8でfirewalldの設定を行う際の手順を紹介します。
firewalldの稼働方法からポートの解放の方法までの手順をまとめております。
検証環境
今回使用する環境は以下になります。
使用するサーバーの制限により使用できるOSがAlmaLinux8.8でしたのでこのバージョンでの記載になります。
最新のAlmaLinux9でfirewalldを使用する場合も同様のコマンド操作で設定可能という理解です。
# cat /etc/os-release
NAME="AlmaLinux"
VERSION="8.8 (Sapphire Caracal)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="AlmaLinux 8.8 (Sapphire Caracal)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
ALMALINUX_MANTISBT_PROJECT_VERSION="8.8"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.8"
firewalldの稼働確認、稼働方法
firewalldの稼働状態を確認します。
# firewall-cmd --state
not running
現在Firewalldが稼働していないことがわかります。
そこでコマンド操作によるFirewallの有効化・無効化の方法を確認していきます。
firewalldのサービス起動について
firewalldのサービス起動のコマンドは大きく二種類存在します
1. 一時的にサービスを起動する方法
こちらの方法では有効化を行うことはできますが、OSの再起動をした場合設定の反映を行うことができません
#systemctl start firewalld
2.サービスの自動起動を有効にする方法
こちらの方法はOS起動時に自動起動の設定の変更を行うことで永続的にfirewalldのサービス起動を行う方法です。
OS起動時にサービスの自動起動設定を行うコマンドを以下のように入力します。
# systemctl enable firewalld
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.
firewalldのサービスの停止をする方法
firewalldのサービスを停止する方法は有効化の方法と同様に二種類の設定方法が存在します。
1. 一時的にサービスの停止を行う方法
こちらの方法では無効化を行うことはできますが、OSの再起動をした場合設定の反映を行うことができません
# systemctl stop firewalld
2.サービスの自動起動を無効にする方法
こちらの方法はOS起動時に自動起動の設定を行うことで永続的にfirewalldの無効化行う方法です。
OS起動時に自動起動の有効化の設定の変更を行うコマンドを以下のように入力します。
# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
以上のコマンドでfirewalldの稼働・停止を行うことができます。
次に稼働したfirewalldのポート設定を確認していきます。
firewalldで解放しているポートの確認方法
現在firewalldで解放しているポートの設定を確認するために以下のコマンドを実行します。
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s1 enp0s7
sources:
services: cockpit dhcpv6-client ssh vnc-server
ports: 514/udp 514/tcp 5001/tcp 5902/tcp 80/tcp 2049/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
今回は例としてポート番号110番のPOP3のポートを開放してみます。
tcp 110番のポートを開放するには以下のコマンドを実行します。
# firewall-cmd --add-port 110/tcp --permanent
success
"--permanent"のコマンドオプションをつけることで永続的なポートの開放が可能です。
以上のコマンドではポート番号からポートを開放しましたが、サービスの名前からも開放可能です。
# firewall-cmd --permanent --zone=public --add-service=pop3
success
最後にfirewlldの設定を変更を動的に適応するために以下のコマンドを実行します。
# firewall-cmd --reload
success
以上でfirewalldの設定完了です。