Linux共通 Ubuntu系

【Linux初心者向け】firewalldの概要とサービス有効・停止方法について解説

今回はサービスのデーモンである「firewalld」の有効化・無効化方法について解説していきます。

firewalldはファイアーウォールのサービスを提供するサービスですが、セキュリティを守ソフトになります。

Linuxによってははじめから導入されデフォルトで有効化されていますが、検証作業する際に邪魔になることが多いです。

例えばicmpやsshの通信を遮断したりなど、リモート先でファイアーウォールが動作しているとネットワークがつながっている蚊などの検証に用いるpingコマンドで接続できなかったなど

障害になることが多いです。

そのため検証目的で動作を有効化したり、無効化したりすることがあります。

今回の記事では有効化・無効化の方法を紹介していきます。

 

“この記事では?”

firewalldの有効化・無効化をするコマンドについて

firewalldの永続的に有効化・無効化するファイルへの記述について

 

それでは下記紹介していきます。

firewall概要

ファイアーウォールは、ネットワークからの不正なアクセスを阻止する仕組みです。インストールした時点で、特定のポートのみアクセスを許可しています。

インターネット上のサーバ運用等では必須の機能ですが、SELinux同様、信頼できる内部ネットワークでの使用や、検証環境として使用するには無効にしておくほうが良い場合もあります。

今回は検証環境を想定し、ファイアウォールを有効・無効にする手順を紹介します。

firewalldでは「ゾーン」と呼ばれるセキュリティ強度の異なった。設定のテンプレートが複数用意されており、接続するネットワークの信頼度にあったゾーンを選択することで、容易に設定をすることができます。

firewalldの具体的なポートの設定など今回割愛します。

firewall-cmdコマンド

firewallの状態や設定を変更するコマンドです。ファイアウォールのポリシーを変更するのに利用します。

本記事では「firewall-cmd」でコマンドでファイアウォールの状態確認に使用します。

書式

firewall-cmd [オプション]

実行例

firewallの状態確認方法を紹介します。

firewall-cmd --state:コマンドを使って状態を確認

root@miitsu-computer:/home/mitsu/デスクトップ# firewall-cmd --state
running
root@miitsu-computer:/home/mitsu/デスクトップ#

有効であれば「running」と表示され、停止中であれば「not-running」と表示されます。

ファイアウォールの開始

まず現状の状態を確認してみましょう!

#systemctl status firewalld

こちらのコマンドの対象サービスの稼働状態を確認できます。

それでは確認してみましょう。

実行結果

root@miitsu-computer:/home/mitsu/デスクトップ# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2022-01-16 17:18:35 JST; 46s ago
Docs: man:firewalld(1)
Process: 18885 ExecStart=/usr/sbin/firewalld --nofork --nopid (code=exited, status=0/SUCCESS)
Main PID: 18885 (code=exited, status=0/SUCCESS)

1月 16 17:18:31 miitsu-computer systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 16 17:18:32 miitsu-computer systemd[1]: Started firewalld - dynamic firewall daemon.
1月 16 17:18:34 miitsu-computer systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 16 17:18:35 miitsu-computer systemd[1]: firewalld.service: Succeeded.
1月 16 17:18:35 miitsu-computer systemd[1]: Stopped firewalld - dynamic firewall daemon.
root@miitsu-computer:/home/mitsu/デスクトップ#

停止されている状態から起動するにはsystemctlコマンドのstartサブコマンドを利用します。

systemctl start firewalld

実行結果

root@miitsu-computer:/home/mitsu/デスクトップ# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-01-16 17:40:53 JST; 7s ago
Docs: man:firewalld(1)
Main PID: 19050 (firewalld)
Tasks: 2 (limit: 2273)
Memory: 20.3M
CGroup: /system.slice/firewalld.service
└─19050 /usr/bin/python3 /usr/sbin/firewalld --nofork --nopid

1月 16 17:40:52 miitsu-computer systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 16 17:40:53 miitsu-computer systemd[1]: Started firewalld - dynamic firewall daemon.
root@miitsu-computer:/home/mitsu/デスクトップ#

このようにactiveになりました。

ファイアウォールの停止

「systemctl stop firewalld」コマンドでfirewallユニットを停止させることができます、

実行結果

root@miitsu-computer:/home/mitsu/デスクトップ# systemctl stop firewalld
root@miitsu-computer:/home/mitsu/デスクトップ# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2022-01-16 17:58:28 JST; 5s ago
Docs: man:firewalld(1)
Process: 19050 ExecStart=/usr/sbin/firewalld --nofork --nopid (code=exited, status=0/SUCCESS)
Main PID: 19050 (code=exited, status=0/SUCCESS)

1月 16 17:40:52 miitsu-computer systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 16 17:40:53 miitsu-computer systemd[1]: Started firewalld - dynamic firewall daemon.
1月 16 17:58:27 miitsu-computer systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 16 17:58:28 miitsu-computer systemd[1]: firewalld.service: Succeeded.
1月 16 17:58:28 miitsu-computer systemd[1]: Stopped firewalld - dynamic firewall daemon.
root@miitsu-computer:/home/mitsu/デスクトップ#

このように停止しました。

ファイアウォールを自動起動する

デーモンは自動起動のみではなく、自動停止であったりまたは停止なものを手動で起動したりと起動時の状態をコントロールすることができます。

自動起動するには「systemctl enable firewalld」を利用します。

実行結果

root@miitsu-computer:/home/mitsu/デスクトップ# systemctl enable
Too few arguments.
root@miitsu-computer:/home/mitsu/デスクトップ# systemctl enable firewalld
Synchronizing state of firewalld.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable firewalld
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /lib/systemd/system/firewalld.service.
root@miitsu-computer:/home/mitsu/デスクトップ#

root@miitsu-computer:/home/mitsu/デスクトップ# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

1月 16 17:18:31 miitsu-computer systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 16 17:18:32 miitsu-computer systemd[1]: Started firewalld - dynamic firewall daemon.
1月 16 17:18:34 miitsu-computer systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 16 17:18:35 miitsu-computer systemd[1]: firewalld.service: Succeeded.
1月 16 17:18:35 miitsu-computer systemd[1]: Stopped firewalld - dynamic firewall daemon.
1月 16 17:40:52 miitsu-computer systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 16 17:40:53 miitsu-computer systemd[1]: Started firewalld - dynamic firewall daemon.
1月 16 17:58:27 miitsu-computer systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 16 17:58:28 miitsu-computer systemd[1]: firewalld.service: Succeeded.
1月 16 17:58:28 miitsu-computer systemd[1]: Stopped firewalld - dynamic firewall daemon.
root@miitsu-computer:/home/mitsu/デスクトップ#

このようにenableと記述されていれば再度Linuxを起動したい際に自動でfirewalldサービスが起動した状態になっています。

ファイアウォールをシステム起動時に停止した状態にする

再起動後もfirewalldを起動しないようにするには「systemctl disable firewalld」コマンドを、以下のように設定します。

実行結果

root@miitsu-computer:/home/mitsu/デスクトップ# systemctl disable firewalld
Synchronizing state of firewalld.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable firewalld
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
root@miitsu-computer:/home/mitsu/デスクトップ# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

1月 16 17:18:31 miitsu-computer systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 16 17:18:32 miitsu-computer systemd[1]: Started firewalld - dynamic firewall daemon.
1月 16 17:18:34 miitsu-computer systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 16 17:18:35 miitsu-computer systemd[1]: firewalld.service: Succeeded.
1月 16 17:18:35 miitsu-computer systemd[1]: Stopped firewalld - dynamic firewall daemon.
1月 16 17:40:52 miitsu-computer systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 16 17:40:53 miitsu-computer systemd[1]: Started firewalld - dynamic firewall daemon.
1月 16 17:58:27 miitsu-computer systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 16 17:58:28 miitsu-computer systemd[1]: firewalld.service: Succeeded.
1月 16 17:58:28 miitsu-computer systemd[1]: Stopped firewalld - dynamic firewall daemon.
root@miitsu-computer:/home/mitsu/デスクトップ#

このようにdisableとなりました。検証環境などの状況によって状態を決めておくので、ぜひ活用してみてください。

まとめ

まとめに入ります。

まとめ

検証環境によってfirewalldデーモンは停止・または開始しておく。

検証環境では邪魔になることが多いので、停止していることが多い。そのため停止方法を知っておくと便利。

以上となります。

頻繁に使うことはありませんが、覚えておくと便利ですので、ぜひ手を動かして覚えていってください。

また今回頻繁に登場した「systemctl」コマンドについては過去執筆した記事がございますので、詳しく知りたい方はこちらをご参考ください。

 

当メディアではLinuxをメインに記事を執筆しております。興味ある方はぜひご覧いただけますと幸いです。

  • この記事を書いた人
  • 最新記事

ミツ

サーバ初心者向け「server-beginner」を運営する「ミツ」と申します。 Linux系やwindows系などのサーバに関する部分をメインで執筆していきますので、興味ある方はぜひご覧いただけますと幸いです。 <経歴> 専門学校卒業後、ネットワーク、インフラ、プログラミングを一通り経験。 当メディアでは主にLinux分野に関する内容を発信していきます。

-Linux共通, Ubuntu系