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つを同時に使うことは、設定が衝突したり複雑になったりする原因になる可能性があります。