Firewallの設定

「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
上部へスクロール