「firewalld」の設定です。
目次
firewalldについて
CentOS7では「firewalld」が初期状態では有効となっています。
コマンドラインで「firewalld」を制御するために「firewall-cmd」というコマンドで制御します。
firewalld稼働状況を確認します
「firewalld」の稼働状況は下記のコマンドで確認することが出来ます。
# firewall-cmd --state
実行例
「firewalld」が動作している場合は「running」、停止している場合は「not running」と表示されます。
動作中
# firewall-cmd --state
running
停止中
# firewall-cmd --state
not running
firewalldの設定です
Apacheの設定です
Apacheの通信は、httpとhttpsの通信を許可します。
# firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-port=80/tcp # firewall-cmd --permanent --zone=public --add-service=https # firewall-cmd --permanent --zone=public --add-port=443/tcp # firewall-cmd --reload success
念の為、設定を確認します。
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp2s0
sources:
services: dhcpv6-client ssh http https
ports: 21/tcp 22/tcp 443/tcp 80/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Postfixの設定です
# firewall-cmd --permanent --zone=public --add-service=smtp # firewall-cmd --permanent --zone=public --add-port=25/tcp # firewall-cmd --reload success
設定の確認をします
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp2s0
sources:
services: dhcpv6-client ssh http https smtp
ports: 21/tcp 22/tcp 443/tcp 80/tcp 25/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
なお、間違えて登録した場合の削除は
サービスを削除する場合
ゾーンに設定されているサービスを削除するには「–remove-service」を使用します。
firewall-cmd [--permanent] --zone=ゾーン名 --remove-service=サービス名
先ほど設定した「http」サービスを「public」ゾーンから削除してみます。
# firewall-cmd --permanent --zone=public --remove-service=http
success
# firewall-cmd --reload
success
ポートの削除の場合
ゾーンからポートを削除するには「–remove-port」を使用します。
firewall-cmd [--permanent]--zone=ゾーン --remove-port=ポート番号/プロトコル
起動・停止方法
「firewalld」は「systemd」で制御されているので、起動と停止には「systemctl」コマンドを使用します。
firewalldの起動
# systemctl start firewalld
firewalldの停止
# systemctl stop firewalld
自動起動設定
# systemctl enable firewalld
success