firewalldの設定(CentOS7)
CentOS6まではファイアウォールとしてiptablesを利用してきました。
CentOS7でもこのiptablesは利用できますが、新たにfirewalldというソフトウェアが導入されました。
メンテナンスもしやすいので、このfirewalldを利用します。
1. iptablesの停止
firewalldはiptablesとは同時に利用ができません。
そこで、iptablesがインストールされている場合は、これを停止させる必要があります。
# systemctl stop iptables.service
# systemctl disable iptables.service
2. firewalldの設定
(1) インストール
(2) firewalldの起動/停止
■起動
# systemctl start firewalld.service
■停止
# systemctl stop firewalld.service
■自動起動設定
# systemctl enable firewalld.service
(3) 必要なサービス/ポートを追加
# 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」を追加しないとサーバ再起動時に元に戻ってしまいます。
(4) 特定のIPのみアクセス許可
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="xxxx.xxxx.xxxx.xxxx" service name="http" accept"
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="xxxx.xxxx.xxxx.xxxx" service name="https" accept"
(5) 特定のポートを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"
(6) サービス/ポートを削除
# firewall-cmd --remove-service=smtp --zone=public --permanent
(7) 設定の再読み込み
設定を変更したら、必ず実行します。
(8) 設定されているサービス/ポートの一覧表示
# firewall-cmd --list-all --zone=public
最終更新:2021年10月20日 15:26