firewalldによるパケットフィルタリングの設定

今回は、firewalldの設定についてのポイントを解説します。【連載コラム:Linuxシステム管理標準教科書を読む(14)】

最終更新日:2024年10月16日

Linuxの基本的なスキルを習得したら、Linuxサーバーをシステムとして長期に運用管理していくためのスキルを身につけるのはいかがでしょうか。このコラムでは、「Linuxシステム管理標準教科書」の全体調整を担当した筆者が改めて大切なポイントを解説していきます。

「Linuxシステム管理標準教科書」ではiptablesによるパケットフィルタリングの設定について解説していますが、最近のディストリビューションではfirewalldを使ってパケットフィルタリングを設定するものが多くなっています。firewalldについては新しい「Linuxサーバー構築標準教科書」の中で、各サーバーの設定手順や第7章で解説されていますので、是非確認してみてください。今回は、firewalldの設定についてのポイントを解説します。


firewall-cmdによる管理

firewalldの操作にはfirewall-cmdを使用します。主に設定状態の確認と、設定の変更を行います。よく使用するコマンドはそれほど多くはありません。暗記する必要はありませんので、目的別に確認できるようにしておきましょう。

設定の確認

現在の設定状態を確認するのは基本中の基本です。firewalldはsystemdのサービスとして動作しているので、systemctl statusコマンドで確認します。

$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset>
     Active: active (running) since Mon 2024-09-16 10:30:12 JST; 1 week 1 day a>
       Docs: man:firewalld(1)
   Main PID: 718 (firewalld)
      Tasks: 2 (limit: 10108)
     Memory: 31.5M
        CPU: 219ms
     CGroup: /system.slice/firewalld.service
             └─718 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

 9月 16 10:30:12 localhost systemd[1]: Starting firewalld - dynamic firewall da>
 9月 16 10:30:12 localhost systemd[1]: Started firewalld - dynamic firewall dae>

きちんとfirewalldサービスが動作していることが確認できたら、設定状態を確認します。--list-servicesオプションで、現在通過が許可されているプロトコルを確認します。

$ sudo firewall-cmd --list-services
cockpit dhcpv6-client ssh

初期状態では、許可されているプロトコルはほとんどありません。必要に応じて通過を許可する設定を加えていきます。

許可を設定する

許可の設定を行うには、--add-serviceオプションを使用します。

$ sudo firewall-cmd --add-service=https
success
$ sudo firewall-cmd --list-services
cockpit dhcpv6-client https ssh

HTTPSプロトコル(ポート443番)が通過できるようになりました。ただし、この状態はシステムを再起動すると消えてしまいます。現在の設定状態(runtime)を保存(permanent)するには、--runtime-to-permanentオプションを実行します。

$ sudo firewall-cmd --runtime-to-permanent
success

また、以下のようにして、適用時に--permanentオプションで実行し、--reloadオプションで読み込み直す方法もあります。

$ sudo firewall-cmd --add-service=https --zone=public --permanent
$ sudo firewall-cmd --reload

どのような手順で設定するかはケースバイケースなので、その時々の状況に合わせて手順を変えて設定しましょう。


筆者紹介
宮原 徹 氏

宮原 徹 氏

株式会社びぎねっと

Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。

<Linuxシステム管理標準教科書とは>

Linuxシステム管理標準教科書」(システム管理教科書)は2015年4月にリリースされた標準教科書シリーズの1冊です。Linuxシステムの運用管理という観点で書かれており、システム管理者という業務において知っておかなければならない基本的なトピックが解説されています。「Linux標準教科書」「Linuxサーバー構築標準教科書」でコマンド操作やサーバー構築の基本を学んだら、このシステム管理教科書を読んで、単にLinuxを使うのではなく、システムとして長期的に管理運用していくためのスキルを身につけてください。

バックナンバー

第13回:パケットフィルタリングについて
第12回:各種ネットワーク設定ファイルについて(後編)
第11回:各種ネットワーク設定ファイルについて(前編)
第10回:NetworkManagerの利用
第9回:ネットワークの管理の変化

ページトップへ