firewalldの設定【CentOS 8】

CentOS 7まではファイアウォールとしてバックエンドに「iptables」を利用してきましたが、CentOS 8からは「nftables」に変更されました。
ただし、CentOS 7からはフロントエンドで、新たに「firewalld」というコマンドが使用できますが、CentOS 8でもこれは使用できます。
メンテナンスもしやすいし、CentOS 7と互換性があるので、この「firewalld」を利用します。

(1) firewalldの起動/停止
■起動
# systemctl start firewalld.service
■停止
# systemctl stop firewalld.service
■自動起動設定
# systemctl enable firewalld.service

(2) 必要なサービス/ポートを追加
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --add-service=smtp --zone=public --permanent
# firewall-cmd --add-service=pop3 --zone=public --permanent
# firewall-cmd --add-service=imap --zone=public --permanent
# firewall-cmd --add-port=587/tcp --zone=public --permanent
※「--permanent」を追加しないとサーバ再起動時に元に戻ってしまいます。

(3) 特定のポートをIP制限する場合
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="xxxx.xxxx.xxxx.xxxx" port protocol="tcp" port="14942-14943" accept"

(4) サービス/ポートを削除
# firewall-cmd --remove-service=smtp --zone=public --permanent

(5) 設定の再読み込み
# firewall-cmd --reload

(6) 設定されているサービス/ポートの一覧表示
# firewall-cmd --list-all --zone=public


最終更新:2020年03月03日 17:29