CentOS7 firewalldでhttp/https通信の許可

概要

初期状態のCentOS7ではfirewalldでWebサーバへの通信が許可されていない為、http/httpsの通信を許可する設定を行います。

firewalldの設定確認

firewall-cmdコマンドで現在の設定を確認します。

# firewall-cmd --permanent --list-all

デフォルトの設定情報が表示されます。

public 
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

httpとhttpsの通信を許可

–list-allで確認したアクティブになっているZoneにhttpとhttpsを追加します。

# firewall-cmd --permanent --zone=public --add-service=http --add-service=https

–permanentを付けることでfirewalldの再起動でも設定が残ります。

逆に一時的な設定を行いたい場合は–permanentを付けずにコマンドを実行します。

コマンド実行後、追加されているか確認します。

# firewall-cmd --permanent --list-all

servicesにhttpとhttpsが追加されています。

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh http https
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

–reloadで設定反映

# firewall-cmd --reload

許可した設定を削除したい場合

–remove-serviceで削除したいserviceを指定します。

# firewall-cmd --permanent --zone=public --remove-service=http --remove-service=https

削除した設定を適用したい場合は–reloadを行います。

# firewall-cmd --reload

必要なserviceを削除してしまうとWebサイトにアクセスできなくなったり、sshなど利用している場合に削除してしまうとリモートアクセスが出来なくなったりするのでfirewalldの設定は慎重に行いましょう。