AlmaLinuxでは、ファイアウォール管理にはfirewalldを使用します。以下は、firewalldに関する詳細な解説です。
firewalld とは
firewalldはLinuxシステムのファイアウォール管理を提供するツールで、iptablesやip6tablesなどの低レベルのネットワークフィルタリングを抽象化しています。そのため、非常に柔軟で簡単に管理できます。
インストールと設定
firewalldのパッケージをインストールします。
sudo dnf install firewalldサービスの有効化と起動
sudo systemctl enable firewalld
sudo systemctl start firewalld基本的なコマンド
現在の構成の確認
sudo firewall-cmd --list-all新しいポートやサービスの許可
例: HTTP, HTTPS, SMTP, IMAP, DNS, FTP, SSH を許可する場合
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-service=smtp --permanent
sudo firewall-cmd --add-service=imap --permanent
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --add-service=ftp --permanent
sudo firewall-cmd --add-service=ssh --permanent設定のリロード
sudo firewall-cmd --reload以上がfirewalldを使用してAlmaLinux上でWeb, mail, DNS, FTP, SSHサーバーのファイアウォール設定を行う方法です。これらの手順に従って、簡単かつ効果的にファイアウォールの設定を管理できます。
firewalldとiptablesの関係
firewalldとiptablesの関係は、次のように説明できます。
iptables
iptablesはLinuxシステムでパケットフィルタリングを行うための古典的なコマンドラインツールです。これを使用して、入ってくる・出ていくパケットに対するルールを設定し、ファイアウォール機能を実現します。
ルールがチェーンと呼ばれるものに纏められ、それらがテーブルという構造で保管されます。iptablesの設定は細かい制御が可能ですが、構成が複雑になりがちであり、初心者には扱いづらいことがあります。
firewalld
firewalldは、iptablesやip6tablesなどの低レベルなネットワークフィルタリングを高レベルで抽象化したファイアウォール管理ツールです。そのため、firewalldを使うことで、iptablesなどを直接触ることなく簡単にファイアウォールの設定を行うことができます。firewalldはゾーンという概念を導入し、ネットワークインターフェースやIPアドレスを特定のゾーンに関連付けることで、簡単かつ柔軟なファイアウォール構成が可能です。
まとめ
firewalldは内部的に実際にiptablesやip6tables(およびnftables)を操作しているため、firewalldとiptablesの関係は、「firewalldはiptables(およびその他の低レベルツール)を抽象化するフレームワーク」と言えます。これにより、ファイアウォール設定が容易でわかりやすくなります。
ただし、両者は必要に応じて共存させることも可能ですが、通常はfirewalldまたはiptablesのどちらか一方を使用することが一般的です。2つを同時に使うことは、設定が衝突したり複雑になったりする原因になる可能性があります。

